Sketch control motores + HC SR05

Buenos días, recién comienzo en este fascinante planeta Arduino. Necesito que alguien me ayude a completar un simple sketch que ya tengo funcionando. Se trata de agregarle que mediante el HC SR05 los motores se detengan si detectan un obstáculo a unos 20 ctms.

Adjunto el sketch que estoy usando

Muchas gracias por anticipado!

Moderador: Titulo editado

control_arduino_bt.ino (1.25 KB)

Te he enviado privado para que postees el código usando tags </>.
El adjunto es cuando tiene un tamaño que no permite verse en el post directametne. Limite de 9k caracteres.

Bien, lo que pides es básico de programación, asi que te recomiendo vayas a

Documentación => Indice de temas tutoriales => Clases de Youtube de 0 a …

Si tienes la lectura de la distancia cosa que verás en cualquier ejemplo del sensor ultrasónico, solo debes hacer algo asi

if (distancia < 20) {
   // accionar motor
}
else {
   // apagar motor
}

Un simple libro de programación de Arduino muestra esto luego de enseñarte las cuestiones del Arduino y como usar el IDE.

Es una simple comparación Si distancias es menor a 20 hago una cosa o la otra. La primer parte es la respueta verdadera, la segunda es la falsa.
Todo lo que tienes dentro de los paréntisis da una respueta verdadera o falsa. De eso se trata un if básico en lenguaje C.

Muchas gracias por la respuesta. En mi otra vida procuraré aprender a escribir código. Por ahora solamente estaba buscando alguien con buena voluntad que pudiera completar el código que poseo con lo que falta para que este sketch haga lo que necesito. Soy consciente de que se trata de algo básico y por ello esperaba una ayuda altruista en este sentido.

Un saludo

Este es el código que tengo actualmente y sobre el cual requiero agregar la operación de detección de obstáculos

char t;

void setup() {
pinMode(13,OUTPUT);   //left motors forward
pinMode(12,OUTPUT);   //left motors reverse
pinMode(11,OUTPUT);   //right motors forward
pinMode(10,OUTPUT);   //right motors reverse

Serial.begin(9600);

}

void loop() {
if(Serial.available()){
  t = Serial.read();
  Serial.println(t);
}

if(t == '1'){            //move forward(all motors rotate in forward direction)
  digitalWrite(13,HIGH);
  digitalWrite(12,LOW);
  digitalWrite(11,HIGH);
  digitalWrite(10,LOW);
}

else if(t == '2'){      //move reverse (all motors rotate in reverse direction)
  digitalWrite(13,LOW);
  digitalWrite(12,HIGH);
  digitalWrite(11,LOW);
  digitalWrite(10,HIGH);
}

else if(t == '3'){      //turn right (left side motors rotate in forward direction, right side motors doesn't rotate)
  digitalWrite(13,LOW);
  digitalWrite(12,LOW);
  digitalWrite(11,HIGH);
  digitalWrite(10,LOW);
}

else if(t == '4'){      //turn left (right side motors rotate in forward direction, left side motors doesn't rotate)
  digitalWrite(13,HIGH);
  digitalWrite(12,LOW);
  digitalWrite(11,LOW);
  digitalWrite(10,LOW);
}

else if(t == '5'){      //STOP (all motors stop)
  digitalWrite(13,LOW);
  digitalWrite(12,LOW);
  digitalWrite(11,LOW);
  digitalWrite(10,LOW);
}
delay(100);
}