Autonoma Arduino bil (7 / 8 steg)
Steg 7: programmering
Med tanke på den dynamiska karaktären av detta projekt, är det mycket troligt att du kommer att behöva göra många ändringar i koden baserat på storlek, form, roterande radie, hastighet och vikten på din bil, samt den omgivande belysningen i din testmiljö (som jag har försökt att kompensera).int irsensor = A5;
int motorspeed;
int köra = 0;
int åtgärd = 1;
int ambientir = 0;
int avstånd;
void setup() {
Setup kanal A
pinMode (12, OUTPUT); Initierar Motor kanal A stift
pinMode (9, OUTPUT); Initierar broms kanal A stift
pinMode (irsensor, ingång);
digitalWrite (irsensor, hög);
Serial.BEGIN(9600);
}
void loop() {
IF(Run == 0)
{
Delay(1000);
göra {
ambientir = ambientir + analogRead(irsensor);
Delay(1000);
mått = mått + 1.
}
medan åtgärden < 10.
ambientir = ambientir / 10;
köra = kör + 1;
}
avståndet = analogRead(irsensor);
om (avstånd < ambientir - 50) {
digitalWrite 12, hög. Upprättar bakåt riktning mot kanal A
digitalWrite (9, låg). Lossa bromsen för kanal A
analogWrite (3, 100); Snurrar motorn på kanal A på halvfart
}
om (avstånd > ambientir - 50) {
digitalWrite 12, låg. Upprättar riktning framåt av kanal A
digitalWrite (9, låg). Lossa bromsen för kanal A
analogWrite (3, 100); Snurrar motorn på kanal A i full fart
}
Serial.println(Distance);
}
Som sagt, lycka till. Jag tror alla programmerare håller, detta inte fungerar på första försöket.