Stap 4: De Code
Als u uitproberen van het circuit wilt, uploaden van de volgende schets aan de Arduino.
/ * Line na Robot
Het gebruik van IR LED's voor een eenvoudige regel aantoont
na de robot, als de zwarte lijn laat wel
poging om het te vinden.Het circuit:
* Volg de instructable op hoe te construeren.gemaakte 2011
door Dominion-netwerkDeze voorbeeldcode is in het publieke domein.
*/
Motor uitgangen
Linker Motor
int M1B = 11; Omgekeerde
int M1F = 10; Voorwaarts
Goede Motor
int M2B = 6; Omgekeerde
int M2F = 5; Voorwaarts
Motor snelheid
int mSpeed = 115;2 analoge Input pinnen van IR-Sensor
int LIRPin = A0; Linker Sensor
int RIRPin = a1 worden verkregen; Juiste Sensor2 IR analoge lezing variabelen
int LIRReading; Linker lezing
int RIRReading; Juiste lezingongeldig setup(void) {}
Serial.begin(9600); Voor foutopsporing
pinMode (M1F, uitvoer); Motor 1 voorwaarts
pinMode (M1B, uitvoer); Motor 1 achteruit
pinMode (M2F, uitvoer); Motor 2 vooruit
pinMode (M2B, uitvoer); Motor 2 Reverse
}ongeldig loop(void) {}
leftirscan();
rightirscan();
delay(1000);
}ongeldig rightirscan() {}
RIRReading = analogRead(RIRPin);Serial.Print ("rechts =");
Serial.Print(RIRReading);We hebben een paar threshholds, kwalitatief bepaald
Als (RIRReading < 20) {}
Serial.println ("-geen correctie");
analogWrite (M2F, 0);} else if (RIRReading < 200) {}
Serial.println ("-Minor Correction");
analogWrite (M2F, mSpeed + 10);} else if (RIRReading < 500) {}
Serial.println ("-matig correctie");
analogWrite (M2F, mSpeed + 50);} else if (RIRReading < 800) {}
Serial.println ("-ernstige correctie");
analogWrite (M2F, mSpeed + 100);} else {}
Serial.println ("-Extreme correctie");
analogWrite (M2F, 255);
}
}ongeldig leftirscan() {}
LIRReading = analogRead(LIRPin);Serial.Print ("links =");
Serial.Print(LIRReading);We hebben een paar threshholds, kwalitatief bepaald
Als (LIRReading < 20) {}
Serial.println ("-geen correctie");
analogWrite (M1F, 0);} else if (LIRReading < 200) {}
Serial.println ("-Minor Correction");
analogWrite (M1F, mSpeed + 10);} else if (LIRReading < 500) {}
Serial.println ("-matig correctie");
analogWrite (M1F, mSpeed + 50);} else if (LIRReading < 800) {}
Serial.println ("-ernstige correctie");
analogWrite (M1F, mSpeed + 100);} else {}
Serial.println ("-Extreme correctie");
analogWrite (M1F, 255);
}
}
Zodra je hebt de schets geüpload naar je Arduino toegankelijk opwaarts naar de seriële monitor en u zou moeten dat een aantal waarden opmerken is afgedrukt in het venster bijvoorbeeld "Links = 21 – kleine correctie".
Dat betekent die de linker sensor meer licht wordt steeds weerspiegeld in de foto transistor en wordt het gecorrigeerd's cursus te verminderen van het licht is gereflecteerd door te draaien aan hetzij links of naar rechts totdat de waarde onder de drempel is verlaagd.
Hier is een eenvoudig concept-demo.