Go Down

Topic: Comprobar HC-SR04 SOLUCIONADO (Read 2873 times) previous topic - next topic

Lisergio

Nov 18, 2012, 10:45 pm Last Edit: May 18, 2013, 07:55 pm by Lisergio Reason: 1
Buenas....
Tengo un sensor ultrasónico HC-SR04 y usando un sencillo código no consigo que funcione....
solo consigo que me de una medida de 51 cm...

#include <Ultrasonic.h>
Ultrasonic ultra1(9,8); // (Trig,Echo)

int dist1;

void setup()
{
Serial.begin(9600);
}

void loop()
{
 
dist1 = ultra1.Ranging(CM); // mide distancia sensor 1
Serial.println(dist1);
delay(250);
 
}

no se si el sensor estará defectuoso, o estoy haciendo algo mal, estoy alimentando el sensor con la salida de 5v de la placa arduino uno....y solo tengo dos cables mas....
hay alguna forma de asegurarme que el sensor esta bien?

Sergegsx

supongo que has probado a invertir los cables de los pines 9 y 8,no?

prueba de todas formas esto
Serial.println(ultra1.Ranging(CM));

y si le quitas el 1 a el ultra1?

Mira que lo tengas bien conectado y bien definido el sensor, el primero numero es el Trig (9) y el segundo el Echo (8).

Code: [Select]
Ultrasonic ultra1(9,8); // (Trig,Echo)

Puedes hacer lo que te dice Sergegsx pero elimina la linea

Quote
dist1 = ultra1.Ranging(CM); // mide distancia sensor 1
Serial.println(ultra1.Ranging(CM));

Por que si haces dos mediciones seguidas sin un delay(); los echos dan medidas erróneas en la segunda medición

Aunque el código no creo que sea el error, mira que tengas la ultima versión de la librería de ultrasonidos:
  • https://github.com/elrodri/Ultrasonic-HC-SR04


Un saludo!

Lisergio

He actualizado a la ultima version de la libreria, he probado lo que me comentais y nada de nada...
Estara defectuoso.... ( menuda mier.....) esta sin usar... Y no puedo reclamar....
Gracias por la ayuda
Un saludo!

ADLC

Bueno, hace ya bastante que no se dice nada más en esta hebra, pero es que me acaba de pasar exactamente lo mismo. Siempre me daba 51cm.

51cm es el valor que da cuando hay un timeout en la medida, y en mi caso me daba siempre porque tenía mal seleccionados los pines a los que estaba conectado el sensor y no detectaba ningún tipo de respuesta.

Si estás totalmente seguro de que están bien los pines (incluida la alimentación) ciertamente podría estar fastidiado el cacharro ... pero por si acaso, comento lo que me ha pasado.
Vinciduino rocks!

josemanu

Pasa de la librería y mide la respuesta del sensor con el comando pulseIn()... y comprueba las conexiones, que a veces juegan malas pasadas.
http://www.ardumania.es/

Iniciación

Yo tuve problemas con un sensor por que dentro del receptor había una volita minúscula de estaño, cuando el robot se movía devolvía medidas caóticas.

https://pbs.twimg.com/media/AoEUcPXCAAAj2eg.jpg

Pero teniendo en cuanta el precio, no creo que pasen un gran test de calidad antes de ser vendidos :smiley-roll-sweat:

Un saludo!

complubot

La versión 005 de ArduLab, que está apunto de salir, trae muchas novedades, entre ellas un módulo específico para trabajar con sensores de distancia ultrasónicos y de infrarrojos. Una buena manera para poder verificarlos y aprender de su funcionamiento antes en incluirlos en nuestro programa.

Eduardo
www.complubot.org
Centro de Robótica Educativa
www.complubot.com

Nataly

Es muy sencillo, amplia el rango!...

en vez de...

Code: [Select]
Ultrasonic ultra1(9,8); // (Trig,Echo)

coloca...

Code: [Select]
Ultrasonic ultra1(9,8,29000);

prueba y me dices ;)
You can do it, If you want!

Lisergio

El detector estaba averiado, he probado otro y funciona sin problema..
Gracias a todos ...

Sergegsx

marca el titulo como SOLUCIONADO.

Lisergio

Perdón, tienes razón

Go Up