int distancia=0;
int trig= 12;
int echo= 14;
int tiempo=0;
int sensor1=25;
int sensor2=5;
void adelante() {
//motor derecho avanza
digitalWrite(22, HIGH);
digitalWrite(23, LOW);
analogWrite(19,255);
//motor izquierdo avanza
digitalWrite(35, HIGH);
digitalWrite(34, LOW);
analogWrite(32,255);
}
void retroceder(){
//motor derecho retrocede
digitalWrite(22, LOW);
digitalWrite(23, HIGH);
analogWrite(19,255);
//motor izquierdo retrocede
digitalWrite(35, LOW);
digitalWrite(34, HIGH);
analogWrite(32,255);
}
void derecha(){
//motor derecho retrocede
digitalWrite(22, LOW);
digitalWrite(23, HIGH);
analogWrite(19,255);
//motor izquierdo avanza
digitalWrite(35, HIGH);
digitalWrite(34, LOW);
analogWrite(32,255);
}
void izquierda(){
//motor derecho avanza
digitalWrite(22, HIGH);
digitalWrite(23, LOW);
analogWrite(19,255);
//motor izquierdo retrocede
digitalWrite(35, LOW);
digitalWrite(34, HIGH);
analogWrite(32,255);
}
void setup() {
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(sensor1, INPUT);
pinMode(sensor2, INPUT);
pinMode(22, OUTPUT);
pinMode(23, OUTPUT);
pinMode(19, OUTPUT);
pinMode(35, OUTPUT);
pinMode(34, OUTPUT);
pinMode(32, OUTPUT);
Serial.begin(115200);
}
void loop() {
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
tiempo= pulseIn(echo,HIGH);
distancia=0.0172*tiempo;
if(sensor1==1 && sensor2==1){
derecha();
if(distancia<10){
adelante();
}
}
else{
retroceder();
delay(2000);
}
delay(10); // this speeds up the simulation
}