``#include <Servo.h>
Servo servosandy;
int trig = 2;
int echo = 3;
int tiempo;
int distancia;
void setup (){
Serial.begin(9600);
pinMode (trig, OUTPUT);
pinMode (echo, INPUT);
servosandy.attach (6);
}
void loop (){
long tiempo;
long distancia;
digitalWrite (trig, HIGH);
delay(1);
digitalWrite (trig, LOW);
tiempo=pulseIn (echo, HIGH);
tiempo= tiempo/2;
distancia = tiempo /29;
delay (50);
Serial.println(distancia);
delay(1000);
if (distancia <=110)
{servosandy.write (180);
delay(1000);
}
if(distancia>110)
{servosandy.write(0);
delay(1000);
}
}
Saludos estoy teniendo problema con un proyecto del que estoy trabajando. les cuento, estoy trabajando en un pequeño proyecto. estoy utilizando: sensor ultrasonido HC-SR04, servomotor MG 996R. como ven en el código, cuando el sensor detecte un objeto a una distancia menor a 100, el servomotor se movera a 180 grados y cuando el sensor dectecte un objetvo menor a 100 el servomotor volvera a 0 grados. tengo un problema ya que cuando observo el serial al parecer luego de unos minutos el sensor deja de detectar (muestra una distancia de 0 en el monitor serial), incluso cuando no tiene nada de frente, ocasionando así que me deje de funcionar todo, ya que el servomotor depende del sensor. Alguna ayuda, lo agradeceria.
Moderador:
Por favor, lee las Normas del foro y edita tu código/error usando etiquetas de código.
Ve a edición, luego selecciona todo el código que has publicado, lo cortas y click en </>
Si, haz lo que te dice el moderador porque has hecho justo lo contrario poner entre etiquetas el cuerpo de tu mensaje y el código sin ellas.
He de decirte que no es del codigo me ha funcionado correctamente por mas de una hora hasta que me he cansado de mirar el monitor serie y ponerle la mano delante para que se mueva el servo.
Debe ser de otra cosa alimentacion, alguna conexion inestable o alguna placa que no funciona bien, revísalo todo.
En cuanto al código aunque funciona correctamente redefines las variables tiempo y distancia, quita las definiciones como long del loop y en cuanto a los delays (1000) los encuentro excesivos e incluso innecesarios, pero tu sabrás para que los quieres.
Saludos.