DIY infraröd Sensormodul (4 / 8 steg)
Steg 4: Koden
Om du vill testa kretsen, ladda upp den följande skissen till din Arduino.
/ * Raden efter Robot
Visar användning av IR-lysdioder för en enkel linje
efter robot, om det lämnar den svarta linjen kommer
försök att lokalisera den.Krets:
* Följ de instructable om hur att bygga den.skapade 2011
av Dominion-nätverkDenna exempelkod är offentlig.
*/
Motoriska utgångar
Vänster Motor
int M1B = 11; Omvänd
int M1F = 10; Framåt
Rätt Motor
int M2B = 6; Omvänd
int M2F = 5; Framåt
Varvtal
int mSpeed = 115;2 IR-sensorn Analog ingång Pins
int LIRPin = A0; Vänster Sensor
int RIRPin = A1; Rätt Sensor2 IR-Analog läsning variabler
int LIRReading; Vänstra behandlingen
int RIRReading; Rätt behandlingvoid setup(void) {
Serial.BEGIN(9600); För felsökning ändamål
pinMode (M1F, OUTPUT); Motor 1 framåt
pinMode (M1B, OUTPUT); Motor 1 bakåt
pinMode (M2F, OUTPUT); Motor 2 framåt
pinMode (M2B, OUTPUT); Motor 2 bakåt
}void loop(void) {
leftirscan();
rightirscan();
Delay(1000);
}void rightirscan() {
RIRReading = analogRead(RIRPin);Serial.Print ("rätt =");
Serial.Print(RIRReading);Vi har några threshholds, kvalitativt bestäms
om (RIRReading < 20) {
Serial.println ("-ingen korrigering");
analogWrite (M2F, 0);} else om (RIRReading < 200) {
Serial.println ("-mindre korrigering");
analogWrite (M2F, mSpeed + 10);} else om (RIRReading < 500) {
Serial.println ("-måttlig korrigering");
analogWrite (M2F, mSpeed + 50);} else om (RIRReading < 800) {
Serial.println ("-svår korrigering");
analogWrite (M2F, mSpeed + 100);} annat {
Serial.println ("-extrema korrigering");
analogWrite (M2F, 255);
}
}void leftirscan() {
LIRReading = analogRead(LIRPin);Serial.Print ("vänster =");
Serial.Print(LIRReading);Vi har några threshholds, kvalitativt bestäms
om (LIRReading < 20) {
Serial.println ("-ingen korrigering");
analogWrite (M1F, 0);} else om (LIRReading < 200) {
Serial.println ("-mindre korrigering");
analogWrite (M1F, mSpeed + 10);} else om (LIRReading < 500) {
Serial.println ("-måttlig korrigering");
analogWrite (M1F, mSpeed + 50);} else om (LIRReading < 800) {
Serial.println ("-svår korrigering");
analogWrite (M1F, mSpeed + 100);} annat {
Serial.println ("-extrema korrigering");
analogWrite (M1F, 255);
}
}
När du har lagt upp skissen till din Arduino öppen upp den seriella bildskärmen och du bör märka en serie värden varit tryckt i fönstret t.ex. "Vänster = 21 – mindre korrigering".
Att medel vänstra sensorn blir mer ljus reflekteras i foto transistorn och kommer att rätta till det: s kurs för att minska ljuset varit återspeglas genom att vrida antingen vänster eller höger tills värdet har sänkts under tröskelvärdet.
Här är ett enkelt koncept demo.