Ajoutez des moustaches de détection d’Obstacle à votre Robot (5 / 6 étapes)

Etape 5: programmation

Avec les moustaches maintenant connectés à tout ce que nous devons faire est d’ajouter du code.

Ce qu’il fait

  • Le programme conduira votre robot vers l’avant jusqu'à ce qu’un des moustaches rencontre quelque chose, il sera ensuite inverser pour 500 millisecondes puis tourner au hasard à gauche ou à droite pendant une période de 300 à 1500 millisecondes avant de continuer vers l’avant de rencontrer un autre obstacle.

Pour ceux qui souhaitent simplement s’y aller y a deux options.

Option 1 - téléchargement et décompression

  • Télécharger le fichier zip joint (07_SERB_Whiskers.zip)
  • Décompressez-le dans votre répertoire de sketch Arduino (par défaut /My Documents/Arduino /)
  • Lancer l’environnement Arduino et charge le croquis (_SERB_Whiskers)
  • Télécharger et commencer à jouer

Option 2 - copie et collage

  • Copiez le code de l’Arduino par en dessous
  • Collez-le dans l’environnement de développement Arduino.
  • Télécharger et commencer à jouer

Annexe 1 - Arduino Code (_SERB_Whiskers)

/ *** * Arduino contrôlée Servo Robot (serbe) - évitement Whisker ** pour plus de détails, visitez : http://www.oomlout.com/serb **** comportement : utilise deux fils moustaches, de tomber sur les obstacles et ** changer de direction en conséquence. Il interroge le ** moustaches et quand on se trouve pour être déclenchement il ** inversera pour 500 millisecondes alors ** tourner au hasard à gauche ou à droite pour un temps aléatoire ** entre 300 et 1500 millisecondes **** câblage:--Arduino contrôlée Servo Robot--** droit Servo Signal - Broche 9 ** Signal de Servo gauche - broche 10 **--Whisker câblage--** droite whisker - broche 6 ** laissé whisker - broche 7 ** favori commun - sol **** licence : Ce travail est licencié sous Creative Commons ** Attribution-Share Alike 3.0 Unported License. À ** consulter un exemplaire de cette licence, visitez ** http://creativecommons.org/licenses/by-sa/3.0/ ** ou envoyer une lettre à Creative Commons, 171 Second ** Street, Suite 300, San Francisco, California 94105, ** USA. *** *** / / /---/ / DÉBUT de WHISKER préambule #define RIGHTWHISKER 6 //the épingle la moustache droite est attachée au #define LEFTWHISKER 7 //the épingle la moustache gauche est attachée à / /---/ / début d’ARDUINO contrôlée SERVO ROBOT (Serbes) préambule #include < Servo.h > #define LEFTSERVOPIN 10 //The broche le Servo de gauche est raccordé au #define RIGHTSERVOPIN 9 //The broche le Servo de droite est raccordé au #define MAXSPEED 30 //due à la façon dont vitesse maximale de rotation continue servos //work est atteinte à une valeur de //lower beaucoup à 90 (cette valeur changera //depending sur vos servos) (pour les servos de parallaxe) //20 vous donnera toute la gamme 10 rend très //controllable mais un peu slowServo leftServo ; Servo rightServo ; int leftSpeed ; définit la vitesse du robot (servos gauche) //a pourcentage entre - MAXSPEED et MAXSPEEDint rightSpeed ; définit la vitesse du robot (les deux servos) //a pourcentage entre - MAXSPEED et MAXSPEEDint vitesse = 100 ; utilisé pour le contrôle simple (goForward etc.) //a pourcentage compris entre 0 et MAXSPEED / / fin de ce préambule des programmes / /---void setup() {beginSerial (9600); //Starts le serbSetup() de port série ; //adds les servos et prépare tous //SERB liés whiskerSetup() variables;} / * * La boucle principale * envoie le robot vers l’avant puis vérifie ses moustaches, si on est pressé * le robot va inverser puis tourner et tête vers l’avant une fois de plus * / void loop() {goForward() ; //sends les checkWhiskers() vers l’avant du robot ; //checks pour voir si un cheveu est enfoncé} //---//START WHISKER ROUTINESvoid whiskerSetup() {pinMode (entrée, RIGHTWHISKER); //Sets goupille de la moustache droite à être une entrée pinMode (entrée, LEFTWHISKER); //Sets goupille de la moustache gauche à être une entrée digitalWrite (RIGHTWHISKER HIGH); interne du //Sets la broche moustache droite pullup //resistor (cela signifie que le code pin est élevé lorsque //there aucun signal n’est attaché et lectures //when faible est un signal négatif attaché digitalWrite (LEFTWHISKER, HIGH); interne du //Sets la broche de gauche favori pullup //resistor}void checkWhiskers() {if(!digitalRead(RIGHTWHISKER)){reverseAndTurn();} //if la moustache droite est actionné //then inverse et tourner si ()
! digitalRead(LEFTWHISKER)){reverseAndTurn();} //if la moustache gauche est enfoncé //then inverse et tour} void reverseAndTurn() {goBackward() ; //goes delay(500) vers l’arrière ; //for la moitié d’un deuxième turnRandom(300,1500) //turns au hasard pendant une période entre 300 et 1500 millisecondes} //END de WHISKER ROUTINES / /---/ /---/ / début d’ARDUINO contrôlée SERVO ROBOT (Serbes) ROUTINES / * * met en place votre arduino pour régler votre Serbes utilisant l’inclus * routines * / void serbSetup() {setSpeed(speed) ; pinMode (LEFTSERVOPIN SORTIE) ; définit la servocommande gauche signal Broche //to sortie pinMode (RIGHTSERVOPIN, sortie) ; définit le servo de droite signal Broche //to sortie leftServo.attach(LEFTSERVOPIN) ; attache gauche servo rightServo.attach(RIGHTSERVOPIN) ; attache droite servo goStop();} / * * définit la vitesse du robot entre 0-(stopped) et 100-(pleine vitesse) * NOTE : vitesse ne changera pas la vitesse actuelle, vous devez changer de vitesse * puis appeler une des méthodes aller avant que des changements se produisent. * / void setSpeed (int newSpeed) {si (newSpeed > = 100) {newSpeed = 100;} //if vitesse est supérieure à 100 //make il if 100 (newSpeed < = 0) {newSpeed = 0;} //if vitesse est inférieure que de faire de 0 //it 0 Vitesse = newSpeed * MAXSPEED / 100 ; //scales la vitesse //between 0 et MAXSPEED} / * * définit la vitesse de la rightServo de robots entre-100-(reversed) et 100-(forward) * NOTE : les appels à cette routine prendront effet immédiatement * / void setSpeedRight (int newSpeed) {si (newSpeed > = 100) {newSpeed = 100;} //if vitesse est supérieure à 100 //make il if 100 (newSpeed < = -100) {newSpeed = -100;} //if vitesse est inférieure à -100 font //it -100 rightSpeed = newSpeed * MAXSPEED / 100 ; //scales la vitesse d’être //between - MAXSPEED et MAXSPEED rightServo.write (90 - rightSpeed); //sends la nouvelle valeur à l’asservissement} / * * définit la vitesse de la leftServo de robots entre-100-(reversed) et 100-(forward) * NOTE : les appels à cette routine prendront effet immédiatement * / void setSpeedLeft (int newSpeed) {si (newSpeed > = 100) {newSpeed = 100;} //if vitesse est supérieure à 100 //make il if 100 (newSpeed < = -100) {newSpeed = -100;} Si la vitesse est inférieure à-100 //make il leftSpeed-100 = newSpeed * MAXSPEED / 100 ; //scales la vitesse d’être //between - MAXSPEED et MAXSPEED leftServo.write (90 + leftSpeed) ; envoie la nouvelle valeur à l’asservissement} / * * tourne le robot au hasard à gauche ou à droite pour un laps de temps aléatoire entre * minTime (millisecondes) et maxTime (millisecondes) * / void turnRandom (int minTime, maxTime int) {int choix = random(2) ; nombre de //Random à décider //between gauche (1) et droite (0) int turnTime = random(minTime,maxTime) ; nombre de //Random pour la pause //time if(choice == 1) {goLeft();} //If nombre aléatoire = 1 puis tournez //left else {goRight();} //If nombre aléatoire = 0 puis tourner //right delay(turnTime) ; //delay pour temps aléatoire} / * * envoie le robot envoie * / void goForward() {leftServo.write (90 + vitesse); rightServo.write (90 - vitesse);} / * * envoie le robot en arrière * / void goBackward() {leftServo.write (90 - vitesse); rightServo.write (90 + speed);} / * * envoie le robot à droite * / void goRight() {leftServo.write (90 + vitesse); rightServo.write (90 + speed);} / * * envoie le robot gauche * / void goLeft() {leftServo.write (90 - vitesse); rightServo.write (90 - vitesse);} / * * s’arrête le robot * / void goStop() {leftServo.write(90) ; rightServo.write(90);} FIN D’ARDUINO CONTRÔLÉE SERVO ROBOT (SERBES) ROUTINES / /---

Articles Liés

Comment ajouter des pop ups et pop unders dans votre site Web

Comment ajouter des pop ups et pop unders dans votre site Web

apprendre comment ajouter des pop ups et pop unders de popads.net dans votre site Web. Toutes les étapes mentionnées dans la vidéo sont importants que sans les codes ne peut pas être installé correctement.
Comment faire pour ajouter des liens personnalisés et sociale sur YouTube

Comment faire pour ajouter des liens personnalisés et sociale sur YouTube

Cette vidéo donnera une idée comment faire pour ajouter des liens personnalisés et sociaux dans votre chaîne YouTube. Vous pourriez ajouter maximales 10 liens personnalisés et 4 liens sociaux dans votre chaîne YouTube. Regardez la vidéo et suivez tou
Le sans fil, détection de l’Obstacle, bip Robot à l’aide des Arduinos !

Le sans fil, détection de l’Obstacle, bip Robot à l’aide des Arduinos !

Il s'agit d'un obstacle sans fil contrôlé, autonome détection robot !Un temps, j'avais fait ce Instructable et voulait faire quelques mises à jour majeures depuis.Voici les caractéristiques du robot:-1.HE de contrôle sans fil en utilisant des 433 mod
Robot WiFi avec la transmission vidéo en temps réel, détection d’obstacle et sensibilité à la lumière

Robot WiFi avec la transmission vidéo en temps réel, détection d’obstacle et sensibilité à la lumière

INTRODUCTION :Ce projet est un robot qui peut être contrôlé par le biais de n'importe quel ordinateur sans fil en utilisant une liaison WiFi. Il transmet la vidéo en temps réel à l'ordinateur de contrôle à l'aide de la même liaison. L'appareil de tra
Ajouter des fonctionnalités à une usine CnC de gravure au Laser

Ajouter des fonctionnalités à une usine CnC de gravure au Laser

Cet Instructable va vous montrer comment vous pouvez facilement ajouter des fonctionnalités à votre usine existante de CnC de gravure au laser. Après avoir suivi ce Instructable, vous aurez accès à un gravure laser ainsi qu'une broche de fraisage tra
Créer des titres personnalisés dans iMovie 09--ajouter des Logos et des Images transparentes pour vos projets vidéo !

Créer des titres personnalisés dans iMovie 09--ajouter des Logos et des Images transparentes pour vos projets vidéo !

Vous souhaitez Ajouter des titres personnalisés et calques transparents pour vos projets vidéo iMovie? Ce tutoriel vous apprend comment faire pour Ajouter les fichiers png image transparente à imovie et tu les couvriras sur votre vidéo. Ceci peut êtr
Ajouter des roues amovibles pour un sac de sport

Ajouter des roues amovibles pour un sac de sport

j'aime voyager avec sacs polochon parce qu'ils sont faciles à pack (vous pouvez juste pousser trucs dans les coins) et celui j'ai toujours s'inscrit dans les compartiments à bord des avions bien plus simple que ces encombrants type boxy de rouler les
Ajouter des fonctionnalités et de recharger votre appareil photo « Jetable »

Ajouter des fonctionnalités et de recharger votre appareil photo « Jetable »

avez-vous déjà senti coupable lorsque vous utilisez un appareil photo « jetable » ?  Eh bien pas plus !  Dans ce Instructable, nous allons ajouter des fonctionnalités à votre appareil photo jetable en ajoutant :1. une capacité à prendre des expositio
Ajouter des tiroirs de votre établi

Ajouter des tiroirs de votre établi

Ce Instructable montre comment j'ai ajouté des tiroirs sur un établi de 2 x 4 pour faire un meilleur usage de l'espace sous la table de travail.Les principes discutés dans ce Instructable devraient s'appliquer à presque n'importe quel établi ou autre
Ajouter des ports USB alimentés à votre voiture

Ajouter des ports USB alimentés à votre voiture

Cela vous montrera comment ajouter alimenté des ports USB à votre voiture (yaris dans ce cas) et connecter l'un d'eux pour alimenter un téléphone à partir du tableau de bord pour l'utiliser comme un GPS à votre pare-brise.Je fais cela dans une yaris,
Comment ajouter des Extensions Chrome

Comment ajouter des Extensions Chrome

Pensez Chrome extensions comme plug-ins, pour aider à ajouter des meilleures fonctionnalités à une page. Si vous avez déjà vu quelqu'un qui avait une extension Chrome, vous avez probablement souhaité il vous-même.Voici comment faire pour Télécharger
Ajouter des fils de métal à votre 3D imprime - rendre fonctionnel !

Ajouter des fils de métal à votre 3D imprime - rendre fonctionnel !

Raccordement de composants mécaniques peut être un défi avec l'impression 3D. Il est presque impossible d'exploiter des trous fonctionnels en plastique qui peut supporter une charge. J'ai envie de partager une méthode facile, que j'ai trouvé pour ajo
Comment faire pour ajouter des montants aux vêtements

Comment faire pour ajouter des montants aux vêtements

poteaux métalliques sont souvent ajoutés aux vêtements comme les vestes, gilets et pantalons par les punks et les têtes de métal. Vu je n'avais pas lu ou vu quoi que ce soit quant au Haras avant de le faire, j'ai décidé de prendre des photos étape pa
Comment faire pour ajouter des Images sur mesure pour votre blog

Comment faire pour ajouter des Images sur mesure pour votre blog

un guide étape par étape sur la façon d'ajouter des images efficacement à votre message de bloggerÉtape 1: Cliquez sur l'icône d'Image Insert Cliquez pour positionner votre curseur où vous souhaitez que l'image d'être vu.Cliquez sur l'icône « Insérer