SOLUCIONADO HC SR04 no da ningún dato salvo que le acerque un dedo por detrás

Hola a todos,

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.

Alguien sabe porque puede pasar esto.

Muchas Gracias.

Un código (posteado según las normas), y una captura de texto (usando quotes) es mas facil que mirar la imágen que no esta muy clara.

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.

Sigo sin ver imagen detallada

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.

Y ello a pesar de utilizar la libreria newping?

Por eso también funciona cuando le pongo un conector hembra con cable cortado?

No nos has puesto el código.

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.

Perdonar por no mandar imágenes.

Y repito MUCHAS GRACIAS.

No encuentro tu imagen, pero:

Ese cable indicado con la flecha naranja está puesto.

Si no lo está significa que no hay pin controlando el trigger.

En la página del autor de la libreria está indicado.

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?

Si es eso, paso de responder.

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.

Ya entiendo lo que pasaba. No tenía el jumper hecho y cuando pasaba la mano o ponía el desatornillador hacían la unión que faltaba.

Muchísimas gracias a todos.