Arduino objet évitement Robot (3 / 4 étapes)

Étape 3: Le Code

Je ne suis pas gros sur le partage de mon code, simplement parce qu’il est personnalisé pour ma configuration et n’a probablement aucune utilité pour vous et votre programme d’installation unique. Si vous voulez mon code, écrivez-moi à cgmalantonio et je vous enverrai volontiers un exemplaire. Cependant, je vais décrire mon travail en pseudo-code afin que vous obteniez l’idée.

Permet d’obtenir pour elle !

Tout d’abord, j’ai voulu une fonction qui utiliserait le capteur à ultrasons pour obtenir des lectures tout en le servomoteur que se tourna vers 5 points différents :
(0 = gauche / / 45 = avant gauche / / 90 = avant / / 135 = avant droit / / 180 = droite)

Scan {}
J’ai utilisé une simple boucle for pour déplacer le servo par incréments de 45, de 0 à 180 (et un autre pour l’amener de nouveau à 0). Chaque fois, il atteint son point prochaine il appelle ma fonction « LowestNumber » et ajoute la valeur reçue dans un tableau pour les 5 valeurs reçues (gauche / avant gauche / front / avant droit / droit).

quelque chose comme ceci :
pour (int i = 0; j’ai < 180 ; j’ai = i + 45) {}
myservo.Write(i) ;
LowestNumber() ;
}
pour (int i = 180 ; j’ai > 0; i = i - 45) {}
myservo.Write(i) ;
LowestNumber() ;
}

La fonction LowestNumber puise dans les 3 lectures, espacées de 50 millisecondes, le capteur à ultrasons. Les 3 lectures sont ensuite comparés entre eux, et la valeur la plus basse (le plus près possible de lecture) est acceptée et est stockée dans une variable (LowestNumberResult). Ce nombre est ensuite stocké dans un tableau basé sur où le servo est positionné. Le capteur à ultrasons est un peu imprévisible parfois donc je tiens à vérifier 3 fois. Et considérant que je suis seulement inquiet il frapper quelque chose, je garde le nombre le plus bas.

Saisissez votre numéro le plus bas
un = ultrasonique. Ranging(Inc)
Delay(50)
b = ultrasonique. Ranging(Inc)
Delay(50)
c = ultrasonique. Ranging(Inc)

Delay(50)
si (a > b).
a = b
Si (a > c)
a = c

Une fois que tous les 5 positions du moteur d’asservissement ont recueilli une distance du capteur ultrasonique, nous devrons alors traiter de manière appropriée les positions.
}

Maintenant, nous savons les distances en face de l’emplacement de l’aviron. Nous commençons par découvrir quelle direction est la plus grande distance et si certaines conditions sont remplies, nous irons dans cette direction.

Poignée {}

Certaines des restrictions ont été ainsi :

-sont de toutes les directions supérieures à 20 pouces
Assurez-vous bien sûr tous les chemins sont claires, peut être n’importe quel nombre,
ne doit pas être 20 pouces

-Si la direction plus éloignée est inférieure à la position avant + 10 pouces (un chiffre), aller de l’avant
favorisant la direction avant signifie qu'il ne tournera pas juste
autour en cercles dans le centre de votre pièce

Finalement, j’ai ajouté une deuxième déclaration, juste comme ça,
dire si le front était suffisamment clair, aller de l’avant deux fois

-Si la direction plus éloignée est à gauche, assurez-vous avant gauche est clair
-Si le chèque n’est pas clair droite

-Si les sens plus éloigné est droit, assurez-vous avant droit est clair
-Si le chèque n’est pas clair à gauche

-Si la direction plus éloignée est à gauche avant, assurez-vous que laissé est clair
-Si le chèque n’est pas clair droite

-Si sens plus éloigné est avant-droite, assurez-vous bien sûr droit est clair
-Si le chèque n’est pas clair à gauche

-Si toutes les directions sont inférieurs à 20 nous voulons retourner l’aviron et essayer les nouvelles mesures
}

{Supplémentaire

J’ai ajouté quelques fonctionnalités supplémentaires pour mon commutateur à 5 positions.

Puissance sur
En attente d’entrée
-Si vous vous approchez de l’aviron du front trop près, il va sauvegarder et secouer sa tête arrière et quatrième
-Si vous appuyez sur une direction, il va aller dans cette direction
Cliquez sur le centre
-démarre une requête, d’entrée de 8 directions et il conduira dans ces directions
Recliquez sur Centre
-lecteurs de manière autonome et évite les murs/objets
Centre cliquez une troisième fois retourne menu Démarrer

ainsi que quelques tours en tête du servo quand une direction est prises (comme si l’aviron est à la recherche où sa va tourner)

}

Articles Liés

TurtleDuino objet évitement Robot

TurtleDuino objet évitement Robot

Bonjour, dans ce instructable je vais vous montrer étape par étape comment construire le TurtleDuino, un robot d'évitement d'objet, avec un microcrontroller Arduino UNO à bord. J'ai conçu le TurtleDuino à l'aide de matériel de la quincaillerie (Home
Arduino Obstacle évitant Robot

Arduino Obstacle évitant Robot

Dans ce instructable je vais vous montrer comment faire votre propre obstacle évitant robot !Nous allons utiliser la carte de Arduino uno et un capteur à ultrason. Si le robot détecte un objet devant lui, à l'aide d'un petit servomoteur, il balaye la
Arduino mur éviter robot

Arduino mur éviter robot

Cette instructable suppose que très peu en ce qui concerne les connaissances préalables.S'il y a les endroits que vous vous sentez pourraient être améliorées ou clarifié, s'il vous plaît n'hésitez pas à message ou commentaire et je mettrai à jour.Voi
Linkit un objet évitant Robot

Linkit un objet évitant Robot

Cette i'ble porte sur objet en évitant les techniques de linkit un.Son simple pour faire un objet en évitant le robot à l'aide de linkit un. Connectez d'abord à un linkit que connect relais à linkit un HC-SR04 et enfin, connectez les deux moteurs au
Évitement Robot Arduino

Évitement Robot Arduino

Dans le marché du robot, il y a beaucoup de kit robot intelligent d'évitement à vendre, mais je n'aime pas acheter kit fini, pour développer des vieux jouets de voiture rc dans boîte de rangement est défi plus. Construire un robot d'évitement à l'aid
YourDuino : Base Compatible Arduino en évitant la Collision Robot

YourDuino : Base Compatible Arduino en évitant la Collision Robot

Comment construire un Robot en évitant la base Compatible Arduino CollisionRemarque : Consultez le disponible Arduino Software Test croquis et logiciel anticollision ici (cliquer)Remarque : Plus tard, vous devrez avoir l'Arduino « IDE » système de dé
Comment faire un Obstacle évitant Robot

Comment faire un Obstacle évitant Robot

Obstacle évitant robot est un robot simple qui est actionné par un arduino et ce qu'il fait c'est qu'il erre juste autour et évite les obstacles. Il détecte les obstacles avec un capteur à ultrasons HC-SR04 en d'autres termes si le robot détecte obje
Obstacle évitant Robot

Obstacle évitant Robot

j'ai vu de nombreux obstacle évitant robot construit en ligne notamment chez instructables, alors j'ai décidé de faire une instructable moi-même et fournissez toutes les informations visuelles et écrite que possible. Beaucoup de l'obstacle en évitant
Obstacle évitant Robot V2

Obstacle évitant Robot V2

j'ai récemment fait une instructable sur un simple obstacle évitant de robot. Dans ce instructable je mettra en oeuvre un PING panoramique))) capteur, contrairement à la précédent robot qui a capteur était stationnaire. J'ai utilisera ce troisième se
Raspberry Pi basé mur éviter robot - FabLab NerveCentre

Raspberry Pi basé mur éviter robot - FabLab NerveCentre

______________________________________________________________________________Veuillez noter : cette instructable est pas complete - mais peut être utilePublié pour permettre au peuple excellent à Derry NerveCentre sortir le code pour les écolesJ'esp
BRICOLAGE ligne autonome suivi avec Obstacle évitant Robot (Rover)

BRICOLAGE ligne autonome suivi avec Obstacle évitant Robot (Rover)

AVERTISSEMENT : VÉRIFIEZ VOTRE ORDINATEUR LUMINOSITÉ FAIBLE, ÉTANT DONNÉ QUE CE PROJET ÉMET UN NIVEAU ÉLEVÉ D'AWESOMENESS QUI PEUVENT NUIRE À VOS YEUX:D 3:)Ce projet a participé à la RoboCup 2015 concurrence locale d'Egypte et a remporté le « Best De
LDRs + Arduino = un simple robot qui peut détecter la lumière !

LDRs + Arduino = un simple robot qui peut détecter la lumière !

An LDR est une résistance dépendant de la lumière et a de nombreuses utilisations, par exemple, un photocel qui peut allumer les lumières de votre maison quand sa faire sombre à l'extérieur.Une façon intéressante pour comprendre comment cela fonction
Arduino auto équilibrage Robot

Arduino auto équilibrage Robot

Dans ce projet, je vais décrire la construction de robots debout en équilibre avec le Arduino.We expliqué dans notre version précédente du projet android contrôlé. Dans ce projet, nous allons passer à notre contrôle. Let ' s go Let's get à notre proj
Wall-E s Cousin antisocial : objet évitant Arduino Robot commandé !

Wall-E s Cousin antisocial : objet évitant Arduino Robot commandé !

j'ai récemment construit un robot Arduino contrôlée, ce qui évite les objets et envoie un PING)) Sonar pour vérifier où est un objet.  Une fois qu'un objet est détecté, le robot sauvegarde et tourne de l'autre sens !Je l'appelle le robot antisocial.