int TRIG =18; //D18
int ECHO =19; //D19
float tiempo = 0;
int Distancia = 0;
void setup() {
Serial.begin(9600);//habilitar monitor serie
//sensor de distancia
pinMode(TRIG,OUTPUT);
pinMode(ECHO,INPUT);
//sensore tcrt5000
pinMode(14, INPUT);
pinMode(5, INPUT);
//motor izquierdo//
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
//motor derecho//
pinMode(2,OUTPUT);
pinMode(4,OUTPUT);
}
void adelante(){
//motor izquiero adelante//
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
//motor derecho adelante//
digitalWrite(2,HIGH);
digitalWrite(4, LOW);
}
void retroceder(){
//motor izquiero retroceder//
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
//motor derecho retroceder//
digitalWrite(2,LOW);
digitalWrite(4,HIGH);
}
void derecha(){
//motor izquiero adelante//
digitalWrite(12, HIGH);
digitalWrite(13, LOW);
//motor derecho retroceder//
digitalWrite(2,LOW);
digitalWrite(4,HIGH);
}
void izquierda(){
//motor izquiero retrocede//
digitalWrite(12, LOW);
digitalWrite(13, HIGH);
//motor derecho adelante//
digitalWrite(2,HIGH);
digitalWrite(4,LOW);
}
void detener(){
//motor izquiero apagado//
digitalWrite(12, LOW);
digitalWrite(13, LOW);
//motor derecho apagado//
digitalWrite(2,LOW);
digitalWrite(4,LOW);
}
void loop() {
int sensorD= digitalRead(5);
int sensorI= digitalRead(14);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
tiempo=pulseIn(ECHO,HIGH);
Distancia = 0.0172*tiempo;
Serial.println(Distancia);
if(Distancia <= 15){
adelante();
if(sensorD==1 && sensorI==1 ){
retroceder();
delay(2000);
}
}
else{
derecha();
}
delay(200);
}