Stap 6: Bringing it all Together
DE DEFINITIEVE CODE:
Licht op zoek naar robot schets:
int links = 2; linker motorische controle aangesloten op Pen 2
int rechts = 4; rechts motorische controle gekoppeld aan pin 4
int vooruit = 7; motorische controle gekoppeld aan pin 7 toekomen
int neerwaarts = 8; / / achterwaarts motorische controle aangesloten op pin 8
int ledleft = A5; bijgevoegde leidde links licht sensing tot analoge pin 5
int ledright = A4; aangesloten op analoge pin 4 led rechts sensing
int lf = 0; opgeslagen waarde van links onder leiding
int lr = 0; opgeslagen waarde van rechts leidde
int x = 0; gebruikt voor het opslaan van de absolute waarde van de twee LED 's
int i = 1; alleen gebruikt voor het openhouden van de do while lus
void setup //does slechts één keer wanneer de Arduino is ingeschakeld
{
pinMode (links, uitvoer); soorten pins instellen voor elke motor en led
pinMode (rechts, OUTPUT);
pinMode (vooruit, OUTPUT);
pinMode (neerwaarts, OUTPUT);
pinMode (ledleft, INPUT);
pinMode (ledright, INPUT);
}
VOID go_forward() {/ / maken van functies ter vermindering van de hoeveelheid later te typen
digitalWrite (naar voren, hoge);
digitalWrite (neerwaarts, laag);
}
ongeldig go_backward() {}
digitalWrite (neerwaarts, hoge);
digitalWrite (naar voren, laag);
}
ongeldig go_left() {}
digitalWrite (links, hoog);
digitalWrite (rechts, laag);
}
VOID go_right () {}
digitalWrite (rechts, hoge);
digitalWrite (links, laag);
}
ongeldig go_stop() {}
digitalWrite (rechts, laag);
digitalWrite (links, laag);
digitalWrite (naar voren, laag);
digitalWrite (neerwaarts, laag);
}
void loop {/ / gaat telkens totdat uitgeschakeld
LF = analogRead (ledleft); sets lf naar de waarde van de links onder leiding
LR = analogRead (ledright); sets lr tot de waarde van het recht heeft geleid
x = abs (lf - lr); Hiermee stelt u x aan het verschil tussen de twee LED's Google het als u meer info wilt over hoe het werkt
{}
Als (x < 10) {//change de tien tot het bedrag dat uw leds van waren door wanneer ze zowel in directe / / licht waren. Dit is de gevoeligheid van uw robot en duurt wat trial and error om juiste
go_forward();
delay(500);
go_stop();
breken; verlaat de do while lus en gaat terug naar de top
}
Als (lr > lf) {/ / draait links als er meer licht op de linkerzijde van de auto
go_right();
go_forward();
vertraging (500);
go_stop();
breken; gaat terug naar de bovenkant van de lijn en evalueert de leds-waarden
}
Als (lf > lr) {/ / draait rechts als er meer licht aan de rechterkant van de auto
go_left();
go_forward();
delay(500);
go_stop();
breken; gaat terug naar de bovenkant van de lus en opnieuw geëvalueerd van de leds-waarden
}
} terwijl (i == 1); houdt de do while lus van de controle open
}
STOP HIER KOPIËREN
Laatste dingen
Eerste elastische band het breadboard en de Arduino op de auto, vervolgens de 9v batterij aan de auto koppelen en steek de stekker in de Arduino met behulp van de 9v op Arduino-kabel. Vergeet ook niet om batterijen in de auto en zet hem op.
Afgewerkte uw F.kk auto moet nu uitzoeken het licht. Als dan niet dubbel te controleren alle verbindingen en zorg ervoor dat niets is kortsluiting uit. Als uw auto gewoon rechtdoor gaat dan uw gevoeligheid te is laag en u moet verkleinen de x < __ nummer. Als uw auto voortdurend schakelt richtingen je gevoeligheid is te hoog en de x < __ nummer moet groter worden. En zorg ervoor dat de batterijen zijn niet dood:)
Hebt u problemen met hen commentaar en gelieve tarief. Bedankt voor het lezen (en bouwen?)