Al probar un sensor HC SR04 (lo cierto es que me pasa con varios) no detecta la distancia a un objeto salvo que le aproxime un dedo a las patillas (sin tocar), en ese momento comienza a dar lecturas correctas.
No es un problema de software, ya que funciona y por ello no creo necesario poner el código. Es de hardware, puesto que ,funciona, o no, al actuar sobre el. Lo que quisiera saber es, a qué puede ser debido, de ahí la pregunta en busca de una orientación que me ayude a entenderlo.
Me falta ver una imagen del conexionado. No hace falta tocar nada para que eso funcione, quiero ver donde lo estas montando y como. Suena a que no hay conexión.
Efectivamente, sin tocar nada, al acercar un dedo o un desatornillador, sin llegar a tocar las patillas del sensor, entonces da lecturas correctas, y al alejarlo, de nuevo 0.
Dado que funciona, no me pareció útil incorporar la imagen, como tampoco el programa.
Lo que pretendo entender es que sucede cuando al acercar un dedo o un desatornillador a menos de 1 cm sin tocarlo, entonces comienza a dar lecturas correctas.
¿Qué influencia puede tener un desatornillador a menos de 1 cm sobre la zona de las patillas del sensor, sin tocar nada?
Utilizo la libreria newping y por ello el trigger está sin uso.
Si pongo en el trigger un conector hembra sin cable, da como resultado cero; pero si lo hago con un conector hembra con cable (cortado y por ello sin otro contacto) los resultados que da son correctos.
Ahora no puedo incorporar foto.
Has posteado mal la imagen, edita el posta para que aparezca. ¿Y no usas la señal Trigger? El trigger se activa, y entonces el sensor mide y da la respuesta en el echo.
Si no lo conectas y lo controlas con Arduino, al acercar un dedo o algo conductor, detecta una pequeña señal de voltage que el cuerpo humano desprende (electricidad estática) que entonces lo activa.
Por eso no te funciona, a no ser que lo toques o tengas algo cerca del pin trigger.
Aún así, ¿qué impide que uses la libreria NewPing?
Cuando tu declaras un objeto sonar tienes que hacer esto:
NewPing sensor(pin_trigger, pin_echo, timeout);
Tienes que indicar los pines (los dos) y seguro que lo has hecho si te compila bien. Entonces la libreria lo usa, y si tu no lo conectas por mucho que quiera te va a dar errores. Por eso al tocar si te mide. Tu dedo hace el trabajo que tiene que hacer el pin no conectado.
Problema tipico de un protoboard, esta montado en un protoboard?
El sensor funciona siempre y cuando las conexiones esten bien hechas.
Si no pones una imágen no podemos ver lo que tu ves, pero aún asi dices que no es importante y sinceramente sabemos que la mayor parte de los problemas son de conexiones.
Entonces... no pones imagen, ok, revisa las conexiones.
Si yo sueldo a los pines GND, ECHO, TRIGGER, VCC de un HC-SR04 seguro funciona, si no lo haces es porque vino mas de fábrica. Si vino mal soldado de fábrica lo único que queda es ver si hay alguna soldadura fria y repasarla.
A todo esto muchas gracias por vuestras contestaciones y paciencia.
El caso es que utilizo un código sacado de un proveedor que utilizando la librería NewPing, a su vez define el Trigger y el Echo para el mismo pin.
#include <SoftwareSerial.h>
#include <NewPing.h>
const int pinECHO = 5;
const int MaximoAlcance=200;
NewPing Sensor(pinECHO,pinECHO,MaximoAlcance);
void setup() {
Serial.begin(9600);
Serial.println ("Inicio ...");
}
void loop() {
delay(50);
Serial.print ("Distancia objeto en cm. : ");
Serial.println(Sensor.ping_cm());
}
Para este código conecto el Echo al pin 5, y dejo libre el Trigger, en esas circunstancias es cuando sucede lo que comento.
Si lo hago normal definiendo y usando los dos va perfecto.
Pero quise probar esta opción y es cuando observé lo que comento en este hilo y que no entiendo.
En resumen, con el anterior código, y con el pin trigger del sensor sin conectar, obtiene datos correctos al aproximar el dedo, o un desatornillador a menos de 1 cm. Y también da datos correctos si en el trigger del sensor coloco un cable muy corto (1 cm) y sin conectarlo a nada más. En esas circunstancias da valores correctos aún cuando varíe la posición del objeto. Es esto lo que no acabo de entender.
Si lo hago normal definiendo y usando los dos va perfecto.
O sea que si conectas los dos cables de ECHO y TRIGGER funciona bien y tu estas Jugando a ver que pasa sin conectar el Trigger y pretendes que te digamos porque cuando acercas el dedo se dispara o no?
Hi,
Aqui para que trabaje tiene que tener un jumper en los pines trigger y echo en el lado del sensor.. Esto es porque la rutina usa el mismo pin para disparar el echo y despues lo cambia a input para recibir la senal. Si usaras los dos pines no te hubiera pasado esto. Al hacerlo asi te econmizas un pin. Como ya lo senalo victorjam.