Étape 6: Arduino Sketch
Condition que voici le sketch Arduino complet utilisé pour le projet. Assembler le robot ensemble et le téléchargement de l’esquisse, après le robot va aller de l’avant lorsqu’un objet est placé à moins de 10 cm d’un capteur de proximité.
/******************************************
BUT : Inchworm Robot créé par
Mikhail Ivanovsit DATE : 13/04/2016 *** /
#define echoPin 6 / / il s’agit de l’axe de l’écho
#define triggerPin 7 / / il s’agit de l’ergot de
#include //include proximité capteur #include //include servo bibliothèque
Servo myservo ;
int pos = 0 ; définir une variable pour suivre la position du servo
void setup() {}
Serial.Begin(115200) ; commencer la communication série
pinMode (echoPin, INPUT); //set pinmodes
pinMode (triggerPin, sortie) ;
myservo.Attach(13) ; attache le servo sur la broche 9 à l’objet de servo
myservo.Write(POS) ; définit la position initiale du servo de 0
pinMode (sortie 2) ;
pinMode (3, sortie) ;
digitalWrite (3, élevée) ; définir la LED rouge pour être sur et le voyant vert éteint
digitalWrite (2, basse) ; }
/***************************main loop*********************************************************/
contrôle du flotteur ; variable pour suivre la distane
void loop() {}
Serial.Print ("la distance est:") ; début serial monitor pour suivre analysez le code
digitalWrite (triggerPin, HIGH) ; faire une impulsion de 10usec, utilisez le capteur de proximité
delayMicroseconds(10) ;
digitalWrite (triggerPin, basse) ; couper l’ergot
float distance = pulseIn(echoPin,HIGH) ; maintenant lire l’impulsion qui est renvoyée par le capteur //pulseIn retourne la longueur de l’impulsion dans usec
distance = distance/58 ; la distance en [cm] est calculée en pulselength [usec] / 58
Serial.Print(distance,DEC); / / envoyer la mesure de la série monitor
Serial.println ("cm") ; Serial monitor sert à keeo piste des données obtenues par le capteur de proximité
vérifier = 11 ; assigner une valeur initiale pour vérifier supérieure à 10 cm
myservo.Write(0) ; servo à la position 0 au début de la boucle de retour
Delay(500) ; retard a été configuré pour autoriser le servo compléter la requête de 180 degrés
vérifier = distance ; affecter variable contrôle la valeur de distance
Si (vérifier < 10) {}
myservo.Write(80) ; Si la distance est inférieure à 10 cm, mettre le servo position 180
digitalWrite (3, faible) ; LED verte s’allumer et éteindre la LED rouge
digitalWrite(2,HIGH) ; }
else {}
digitalWrite (2, basse) ; Si la distance est supérieure à 10cm, puis garder les LEDs en état initial digitalWrite(3,HIGH) ;
}
Delay(500) ;
}