Étape 20 : Charger votre programme
Programmes en langage Arduino sont appelés esquisses. Charger cette esquisse de l’échantillon et votre robot va être zoom autour sans délai ! Si vous avez des problèmes avec le fichier .ino, le programme est inclus ci-dessous en caractères gras, il suffit de copier et coller dans la fenêtre exécutable Arduino.
Compilation des programmes de la robotique pour utilisation sur Instructables. Merci pour tous ceux qui ont contribué !
#define trigPin 7 #define echoPin 6 //#define conduit 11 //#define DEL2 10
int pinI1 = 8; //define I1 interface int pinI2 = 11 ; //define I2 interface int speedpinA = 9; //enable moteur un pinI3 int = 12 ; //define I3 interface int pinI4 = 13 ; //define I4 interface int speedpinB = 10 ; //enable, moteur B
void setup() {Serial.begin (9600); pinMode (trigPin, sortie); pinMode (echoPin, INPUT); / / pinMode (led, sortie); / / / / pinMode (led2, OUTPUT); / /
pinMode(pinI1,OUTPUT) ; pinMode(pinI2,OUTPUT) ; pinMode(speedpinA,OUTPUT) ; pinMode(pinI3,OUTPUT) ; pinMode(pinI4,OUTPUT) ; pinMode(speedpinB,OUTPUT) ; }
void loop() {longue durée, de distance ; digitalWrite (trigPin, basse); / / ajouté cette ligne delayMicroseconds(2); / / ajouté cette ligne digitalWrite (trigPin, HIGH); / / delayMicroseconds(1000); - supprimé cette ligne delayMicroseconds(10); / / ajouté cette ligne digitalWrite (trigPin, basse); durée = pulseIn (echoPin, HIGH); distance = (durée/2) / 29,1 ; si (distance < 40) {/ / c’est où la LED on/off arrive analogWrite (speedpinA, 0); //Slows de vitesse des moteurs à zéro analogWrite (speedpinB 0); //Slows de vitesse des moteurs à zéro digitalWrite (pinI4, LOW); //turn DC moteur B déplacer digitalWrite(pinI3,HIGH) dans le sens horaire ; digitalWrite (pinI2, LOW); //turn DC Motor A déplacer dans le sens anti-horaire digitalWrite(pinI1,HIGH) ; digitalWrite(led,HIGH) ; Lorsque la condition rouge est remplie, la LED verte doit s’éteindre / / digitalWrite(led2,LOW) ; } else {analogWrite (speedpinA, 240); //Drive avant digitalWrite (pinI4, basse); //turn DC moteur B déplacer vers la droite digitalWrite(pinI3,HIGH) ; digitalWrite (pinI2, basse), //Drive avant analogWrite (speedpinB, 240); //turn DC Motor A déplacer dans le sens anti-horaire digitalWrite(pinI1,HIGH); / / digitalWrite(led,LOW); / / digitalWrite(led2,HIGH);} si (distance > = 200 || distance < = 0) {analogWrite (speedpinA, 240); //Drive avant analogWrite (speedpinB, 240); //Drive avant digitalWrite (pinI4, LOW); //turn DC moteur B déplacer vers la droite digitalWrite (pinI3 ÉLEVÉ) ; digitalWrite (pinI2, LOW); //turn DC Motor A déplacer dans le sens anti-horaire digitalWrite(pinI1,HIGH) ; Serial.println ("out of range") ; } else {Serial.print(distance) ; Serial.println ("cm") ; } delay(500) ; }
Consulter le Site d’Arduino pour obtenir des instructions détaillées concernant les programmes de chargement, écrire vos propres programmes et recherches sur les logiques de robot. Arduino a une énorme communauté de personnes qui travaillent sur tous les aspects du contrôleur, n’importe quel problème que vous êtes susceptibles de rencontrer a probablement déjà été résolu.