AUTONOMA hinder AVOIDER (5 / 5 steg)
Steg 5: PROGRAM:-
CONST int loopPeriod = 20;
osignerade långa loopdelay = 0;
CONST int sensor = 12. ARDUINO UTGÅNGSSTIFTET FÖR SENSOR INPUT/OUTPUT
CONST int bp1 = 7. ARDUINO UTGÅNGSSTIFTET FÖR MOTOR INGÅNGAR
CONST int bp2 = 8. ARDUINO UTGÅNGSSTIFTET FÖR MOTOR INGÅNGAR
CONST int bp3 = 4; ARDUINO UTGÅNGSSTIFTET FÖR MOTOR INGÅNGAR
CONST int bp4 = 2; ARDUINO UTGÅNGSSTIFTET FÖR MOTOR INGÅNGAR
int ultraDistance;
int ultraDuration;
void setup()
{
Serial.BEGIN(9600);
pinMode (bp1, produktionen);
pinMode (bp2, produktionen);
pinMode (bp3, produktionen);
pinMode (bp4, produktionen);
}
void loop()
{
IF(Millis() - loopdelay > = loopPeriod)
{
readUltrasonicSensors();
motorstate();
loopdelay = millis();
}
}
void readUltrasonicSensors()
{
pinMode (sensor, produktionen);
digitalWrite (sensor, låg);
Delay(2);
digitalWrite (sensor, hög);
delayMicroseconds(10);
digitalWrite (sensor, låg);
pinMode (sensor, ingång);
ultraDuration = pulseIn (sensor, hög);
ultraDistance = (ultraDuration/2) / 29;
}
void motorstate() / / MOTORSTYRNING funktion
{
om ((ultraDistance > 15) || (ultraDistance < 0))
{
digitalWrite (bp3, låg);
digitalWrite (bp1, hög);
digitalWrite (bp2, hög);
digitalWrite (bp4, låg);
}
annat
{
digitalWrite (bp1, hög);
digitalWrite (bp2, låg);
digitalWrite (bp3, låg);
digitalWrite (bp4, hög);
}
}