Artoo [R2] (ATtiny2313 vägg att undvika Robot) (8 / 10 steg)
Steg 8: Förklaring av koden
Detta tillför ultrasonic.h biblioteket på skissen
int MOTOR = 9. RELÄ stift. Detta är den PIN-kod där motor1 kopplas
int MOTOR2 = 7. Detta är stiftet där motor2 är ansluten
int TRIG = 11; Trigger Pin, detta är Trigger pin från ultrasonic sensor
int ECHO = 10; ECHO Pin, detta är echo pin från ultrasonic sensor
int-typ. Spänna av objektet från Ping Sensor
int Dist; Värdet avstånd, mängden inches du anger vid vilken motorn vänder dvs upptäcker väggen
Ultrasonic ultrasonic(TRIG,ECHO); Skapa och initiera det ultraljuds objektet.
void setup() {
pinMode (MOTOR, OUTPUT); Detta är att den 1: a motorn som en utgång
pinMode (MOTOR2, OUTPUT); Detta är inställningen 2. motorn som en utgång
Dist = 10; Avståndet i inches. Ändra detta för ökad eller minskad utbud.
}
void loop() {
statisk int sensorCount = 0; Detta räknar i princip sensorn ingång 0 initialt
Rad = ultraljud. Ranging(Inc); Intervallet beräknas i Inches.
om (utbud > Dist) {
digitalWrite (MOTOR, hög);
digitalWrite (MOTOR2, hög);
sensorCount = 0;
} annat {
++ sensorCount;
om (sensorCount = 5) om intervallet inte är > avstånd då sensorn kontrollerar intervallet 5 gånger i rad med en lucka på 20ms och om de alla visar intervallet < avstånd, då den annars funktionen utförs som inaktiverar en motor så att roboten ändrar riktning
{
digitalWrite (MOTOR, låg);
digitalWrite (MOTOR2, hög);
Delay(500);
sensorCount = 0; Ange startvärde sensormätningar till 0
}
annat
{
Delay(20); vänta 20ms innan sensorn känner igen för att få 5 värden i intervallet < dist att stoppa motor1
}
}
}