Código para el Vehículo
Código para el Vehículo
int IN1 = 11;
int IN2 = 10;
int ENA = 5;
int IN3 = 9;
int IN4 = 8;
int ENB = 4;
int VELOCIDAD;
int TRIG = 12;
int ECHO = 13;
float DURACION;
float DISTANCIA;
void setup() {
digitalWrite(IN1, OUTPUT);
digitalWrite(IN2, OUTPUT);
digitalWrite(ENA, OUTPUT);
digitalWrite(IN3, OUTPUT);
digitalWrite(IN4, OUTPUT);
digitalWrite(ENB, OUTPUT);
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
Serial.begin(9600);
}
void loop() {
VELOCIDAD = 0;
digitalWrite(TRIG, HIGH);
delay(1);
digitalWrite(TRIG, LOW);
DURACION = pulseIn(ECHO, HIGH);
DISTANCIA = DURACION / 58.2;
Serial.println(DISTANCIA);
delay(200);
aAvance(VELOCIDAD);
bAvance(VELOCIDAD);
if(DISTANCIA < 30){
aParar(VELOCIDAD);
bParar(VELOCIDAD);
delay(1000);
digitalWrite(ENA, HIGH);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(ENB, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
delay(500);
digitalWrite(ENA, HIGH);
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(ENB, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
delay(200);
}
}
void aAvance(int veloc){
analogWrite(ENA, veloc);
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
}
void bAvance(int veloc){
analogWrite(ENB, veloc);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}
void aParar(int veloc){
digitalWrite(ENA, LOW);
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
}
void bParar(int veloc){
digitalWrite(ENB, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}
:v
ResponderBorrar