Medidor de distancia con Arduino y sensor HC-SR04 (II)

Aprovechando la entrada anterior donde explicaba el funcionamiento de un sensor HC-SR04 he decidido modificar un poco el código para agregar unos les de color verde y rojo. Así cuando tengamos un objeto cerca se encenderá el rojo y cuando lo alejemos se encenderá el verde.

En este caso necesitaremos un Arduino Uno Rev 3, un led de color verde, un led de color rojo, dos resistencias de 220 ohmios. Para el que no lo sepa los colores de esta resistencia son rojo, rojo, marrón.

Como ya comenté en el post, como hacer un medidor de distancias con Arduino y un sensor HC-SR04, hace falta que nos bajemos la librería llamada Ultrasonic, descomprimirla y subirla a la carpeta [mark]libreries[/mark], que se encuentra donde hayamos instalado el Sketch de Arduino.

[button] Descargar librería Ultrasonic [/button]

El sensor

Como ya sabemos, el sensor dispone de 4 patillas que las conectaremos de la siguiente forma: VCC a 5V, GND a GND, TRING y ECHO. Como vamos a usar el código del post anterior usaremos los mismos pines de Arduino que son  el TRING a la 7 y el ECHO a la 8.

El esquema

Una vez más os dejo el esquema realizado con el programa Fritzing, el cual es bastante visual y creo que de esta forma se entiende mucho más el como conectar los cables y demás componentes electrónicos.

Medidor de distancias con HR-SR04

El código

Como podéis ver el código es muy parecido al anterior, tan solo tenemos que usar dos pines más para los leds y crear un simple [mark color=”yellow”]if[/mark] para decir que si la distancia es menos a 10cm se encienda el led rojo y apague el verde y si es mayor que 10cm que haga lo contrario.

 [button] Descargar código desde Github [/button]

Ya sabéis que si tenéis alguna duda o queréis comentar lo que queráis respecto al código o al esquema lo podéis hacer mediante los comentarios de abajo.

13 respuestas en “Medidor de distancia con Arduino y sensor HC-SR04 (II)

  1. hugo roman

    hola, compile tu codigo y me puso varios errores. Uno fue que el archivo wProgram.h no encuentra el directorio del archivo. y otro errores son deque me manda a la carpeta de librerias de ultrasonic y no ejecuta algunos codigos del programa, como, UOTPUT, INPUT, etc…

    Reply
  2. Pablo

    como conector 2 censores de movimiento y programarlos para medir por un tuvo la distancia y todo eso un sensor en cada lado del tuvo

    Reply
  3. Edgar Enrique C.

    Saludos, ha sido de gran ayuda esta información y tutorial que brindas, mas tengo algunas dudas, seguí los pasos marcados conectando correctamente los componentes y cargue exitosamente el programa al arduino, lo probé y funciono pero no logra prender el led verde aunque visualizándolo desde la computadora si lo muestra. ¿A qué se puede deber esto?. También quiero editar la programación y el circuito para habilitar otra salida que se muestre en un LED pero ignoro por ejemplo como denotar la distancia para el sensor, la cual esta denotada por el comando RANGING(CM), ¿a cuánto corresponde esto? Y ¿cómo la puedo editar?.

    De antemano gracias y saludos

    Reply
  4. johann

    Medidor_de_distancia:30: error: ‘ultrasonic’ was not declared in this scope

    distancia = ultrasonic.Ranging(“cm”);

    ^

    Medidor_de_distancia:36: error: ‘class Ultrasonic’ has no member named ‘Ranging’

    Serial.print(ultrasonido.Ranging(CM));

    ^

    Medidor_de_distancia:36: error: ‘CM’ was not declared in this scope

    Serial.print(ultrasonido.Ranging(CM));

    ^

    Medidor_de_distancia:42: error: ‘CM’ was not declared in this scope

    Serial.print(ultrasonic.Ranging(CM));

    ^

    exit status 1
    ‘ultrasonic’ was not declared in this scope

    eso me aparece de error

    Reply
  5. heeey

    Arduino:1.6.6 (Windows 10), Placa:”Arduino/Genuino Uno”

    C:\Users\PC\Desktop\UNAI\Arduino\sketch_dec17a\sketch_dec17a\sketch_dec17a.ino:15:24: fatal error: Ultrasonic.h: No such file or directory

    #include “Ultrasonic.h”

    ^

    compilation terminated.

    exit status 1
    Error de compilación

    Este informe podría tener más información con
    “Mostrar salida detallada durante la compilación”
    activala desde Archivo > Preferencias

    Reply
  6. caterine

    nos podrías ayudar agregando al código un led mas, para que funcione con tres leds, es decir como un semáforo con rangos de distancia, por favor?

    Reply
  7. leo

    hola me da el siguiente error:

    ultrason2_ino.cpp.o: In function global constructors keyed to dis':
    ultrason2_ino.cpp:26: undefined reference to
    Ultrasonic::Ranging(int)’
    ultrason2_ino.cpp:56: undefined reference to Ultrasonic::Ranging(int)'
    ultrason2_ino.cpp:26: undefined reference to
    Ultrasonic::Ultrasonic(int, int)’
    collect2: ld returned 1 exit status

    sabes que puedo estar haciendo mal?

    gracias

    Reply

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *