Paso 5: Programa:-
const int loopPeriod = 20;
loopdelay largo sin signo = 0;
const int sensor = 12; PIN DE SALIDA DEL ARDUINO DE SENSOR ENTRADA/SALIDA
const int bp1 = 7; PIN DE SALIDA DEL ARDUINO PARA LAS ENTRADAS DE MOTOR
const int bp2 = 8; PIN DE SALIDA DEL ARDUINO PARA LAS ENTRADAS DE MOTOR
const int bp3 = 4; PIN DE SALIDA DEL ARDUINO PARA LAS ENTRADAS DE MOTOR
const int bp4 = 2; PIN DE SALIDA DEL ARDUINO PARA LAS ENTRADAS DE MOTOR
ultrafondista int;
int ultraDuration;
void setup()
{
Serial.Begin(9600);
pinMode (bp1, salida);
pinMode (bp2, salida);
pinMode (bp3, salida);
pinMode (bp4, salida);
}
void loop()
{
if(Millis() - loopdelay > = loopPeriod)
{
readUltrasonicSensors();
motorstate();
loopdelay = millis();
}
}
void readUltrasonicSensors()
{
pinMode (sensor de salida);
digitalWrite (sensor, baja);
Delay(2);
digitalWrite (sensor, alta);
delayMicroseconds(10);
digitalWrite (sensor, baja);
pinMode (sensor de entrada);
ultraDuration = pulseIn (sensor, alta);
ultrafondista = (ultraDuration/2) / 29;
}
void motorstate() / / función de CONTROL del MOTOR
{
Si ((ultraDistance > 15) || (ultrafondista < 0))
{
digitalWrite (bp3, LOW);
digitalWrite (bp1, HIGH);
digitalWrite (bp2, HIGH);
digitalWrite (bp4, LOW);
}
otra cosa
{
digitalWrite (bp1, HIGH);
digitalWrite (bp2, LOW);
digitalWrite (bp3, LOW);
digitalWrite (bp4, HIGH);
}
}