Stap 7: programmeren
Gezien de dynamische aard van dit project, is het zeer waarschijnlijk moet u veel wijzigingen aanbrengt in de code op basis van de grootte, vorm, straal, snelheid en gewicht van uw auto, evenals het omgevingslicht van uw testomgeving (die ik heb geprobeerd te compenseren) draaien.int irsensor = A5;
int motorspeed;
int lopen = 0;
int maatregel = 1;
int ambientir = 0;
int afstand;
VOID Setup {}
Setup kanaal A
pinMode (12, OUTPUT); Ingewijden Motor kanaal A pin
pinMode (9, OUTPUT); Ingewijden rem kanaal A pin
pinMode (irsensor, INPUT);
digitalWrite (irsensor, hoge);
Serial.begin(9600);
}
void loop {}
if(run == 0)
{
delay(1000);
{}
ambientir = ambientir + analogRead(irsensor);
delay(1000);
maatregel = maatregel + 1;
}
terwijl (maatregel < 10);
ambientir = ambientir / 10;
lopen = lopen + 1;
}
afstand = analogRead(irsensor);
Als (afstand < ambientir - 50) {}
digitalWrite (12, hoge); Stelt achterwaartse richting van kanaal A
digitalWrite (9, laag); Losraken van de rem voor kanaal A
analogWrite (3, 100); Draait de motor op kanaal A op halve snelheid
}
Als (afstand > ambientir - 50) {}
digitalWrite (12, laag); Stelt voorwaartse richting van kanaal A
digitalWrite (9, laag); Losraken van de rem voor kanaal A
analogWrite (3, 100); Draait de motor op kanaal A op volle snelheid
}
Serial.println(distance);
}
Dat gezegd zijnde, geluk veel. Ik denk dat iedere programmeur zal eens, dit zal niet werken op uw eerste poging.