Paso 17: Código de coche elegante
#include
#define trigPin 12
#define echoPin 13
#define trigPin1 8
#define echoPin1 7
int bandera = 0, flag1 = 0, cuenta = 0;
char val;
AF_DCMotor motor2 (2, MOTOR12_64KHZ);
AF_DCMotor motor4 (4, MOTOR12_64KHZ);
void setup() {}
Serial.Begin(9600);
pinMode (trigPin, salida);
pinMode (echoPin, entrada);
pinMode (trigPin1, salida);
pinMode (echoPin1, entrada);
motor2.SETSPEED(500);
motor4.SETSPEED(500);
}
void loop() {}
Si (cuenta == 0) {}
Serial.println ("por favor, presione 1 para habilitar aparcamientos");
cuenta = cuenta + 1;
}
Si (Serial.available()) / / si hay datos disponibles para leer
{
Val = Serial.read(); leerla y guardarla en 'val'
}
Si (val == '1') / / si se recibe la 'H'
{
flag1 = 1;
}
Si (bandera == 0 & & flag1 == 1) {}
Serial.println ("Auto aparcamiento habilitado!! Su vehículo permanecerá pronto ");
motor2.Run(backward);
motor4.Run(backward);
Delay(4000);
motor2.Run(release);
motor4.Run(release);
Delay(500);
larga duración, distancia, distance1, duration1;
digitalWrite (trigPin, LOW);
delayMicroseconds(2);
digitalWrite (trigPin, HIGH);
delayMicroseconds(10);
digitalWrite (trigPin, LOW);
duración = pulseIn (echoPin, HIGH);
distancia = (duración / 2) / 29,1;
Delay(2000);
digitalWrite (trigPin1, bajo);
delayMicroseconds(2);
digitalWrite (trigPin1, HIGH);
delayMicroseconds(10);
digitalWrite (trigPin1, bajo);
duration1 = pulseIn (echoPin1, HIGH);
Distance1 = (duration1 / 2) / 29,1;
Delay(2000);
Si (distancia > 40) {}
motor2.Run(backward);
motor4.Run(Forward);
Delay(1000);
motor2.Run(release);
motor4.Run(release);
Delay(500);
motor2.Run(backward);
motor4.Run(backward);
Delay(2500);
motor2.Run(release);
motor4.Run(release);
Serial.println ("el coche está aparcado");
bandera = 1;
}
else if (distance1 > 40) {}
motor2.Run(Forward);
motor4.Run(backward);
Delay(970);
motor2.Run(release);
motor4.Run(release);
Delay(500);
motor2.Run(backward);
motor4.Run(backward);
Delay(2500);
motor2.Run(release);
motor4.Run(release);
Serial.println ("el coche está aparcado con seguridad! Gracias ");
bandera = 1;
}
}
}