Étape 4: Le Code
Si vous voulez tester le circuit, Télécharger le croquis suivant à votre Arduino.
/ * Ligne Robot qui suit
Illustre l’utilisation de LEDs infrarouges pour une simple ligne
suite de robot, si elle laisse le trait noir, il sera
tenter de le localiser.Le circuit :
* Suivez l’instructable pour sa construction.créé 2011
par Dominion-réseauCet exemple de code est dans le domaine public.
*/
Sorties moteurs
Moteur gauche
int M1B = 11 ; Marche arrière
int M1F = 10 ; Vers l’avant
Moteur droit
int M2B = 6 ; Marche arrière
int M2F = 5 ; Vers l’avant
Vitesse du moteur
int mSpeed = 115 ;2 broches d’entrée analogique de capteur IR
int LIRPin = A0 ; Capteur de gauche
int RIRPin = A1 ; Capteur droit2 variables de lecture analogique IR
int LIRReading ; Lecture de gauche
int RIRReading ; Bonne lecturevoid setup(void) {}
Serial.Begin(9600) ; Pour des fins de débogage
pinMode (M1F, sortie) ; Moteur 1 avant
pinMode (M1B, sortie) ; Moteur 1 retour
pinMode (M2F, sortie) ; Moteur 2 vers l’avant
pinMode (M2B, sortie) ; Reverse du moteur 2
}void loop(void) {}
leftirscan() ;
rightirscan() ;
Delay(1000) ;
}void rightirscan() {}
RIRReading = analogRead(RIRPin) ;Serial.Print ("droite =") ;
Serial.Print(RIRReading) ;Nous aurons quelques seuils, déterminés qualitativement
Si (RIRReading < 20) {}
Serial.println ("-aucune Correction") ;
analogWrite (M2F, 0) ;} ElseIf (RIRReading < 200) {}
Serial.println ("-Correction mineure") ;
analogWrite (M2F, mSpeed + 10) ;} ElseIf (RIRReading < 500) {}
Serial.println ("-modérée de Correction") ;
analogWrite (M2F, mSpeed + 50) ;} ElseIf (RIRReading < 800) {}
Serial.println ("-Correction sévère") ;
analogWrite (M2F, mSpeed + 100) ;} else {}
Serial.println ("-Correction extrême") ;
analogWrite (M2F, 255) ;
}
}void leftirscan() {}
LIRReading = analogRead(LIRPin) ;Serial.Print ("gauche =") ;
Serial.Print(LIRReading) ;Nous aurons quelques seuils, déterminés qualitativement
Si (LIRReading < 20) {}
Serial.println ("-aucune Correction") ;
analogWrite (M1F, 0) ;} ElseIf (LIRReading < 200) {}
Serial.println ("-Correction mineure") ;
analogWrite (M1F, mSpeed + 10) ;} ElseIf (LIRReading < 500) {}
Serial.println ("-modérée de Correction") ;
analogWrite (M1F, mSpeed + 50) ;} ElseIf (LIRReading < 800) {}
Serial.println ("-Correction sévère") ;
analogWrite (M1F, mSpeed + 100) ;} else {}
Serial.println ("-Correction extrême") ;
analogWrite (M1F, 255) ;
}
}
Une fois que vous avez téléchargé le croquis à votre Arduino ouvrir le moniteur de la série et vous devriez remarquer une série de valeurs été imprimé dans la fenêtre, par exemple, « Gauche = 21 – Correction mineure ».
Que signifie que le capteur gauche est obtenir plus de lumière reflétée dans le transistor photo et corrigerons pour les cours pour réduire la lumière étée réfléchie en tournant soit à gauche ou à droite jusqu'à ce que la valeur a été réduite au-dessous du seuil.
Voici une démo de concept simple.