Sensor ultrasónico HC-SR04 con Arduino

Un sensor ultrasónico HC-SR04 es capaz de medir distancias de 2 cm a 4 m de las ondas de ultrasonido con una precisión de más o menos 3 mm. Con el sensor ultrasónico, podrá elaborar varios proyectos de robótica y automóviles autónomos, ya que puede usarlo para evitar que sus robots golpeen paredes u obstáculos.

El propósito de este artículo es mostrar cómo funciona el sensor ultrasónico, conectar el sensor al Arduino y cómo descargar la biblioteca de sensores y el programa para realizar lecturas de proximidad precisas.

Cómo funciona el sensor ultrasónico HC-SR04

Un sensor ultrasónico emite una onda de sonido de alta frecuencia que, al alcanzar un obstáculo, es reflejada y captada nuevamente por el sensor, lo que llamamos eco. El sensor calcula, a partir de la velocidad del sonido en el aire y el tiempo que tardó la señal en ir y venir, la distancia aproximada entre el sensor y el obstáculo.

sensor ultrasónico hc-sr04

En el caso de HC-SR04, envía un pulso de 10 µs que indica el inicio de la transmisión de datos. Luego, se envían 8 pulsos de 40kHz al sensor para esperar el retorno en señal alta. A partir de esta información y la velocidad del sonido en el aire, el sistema podrá calcular la distancia aproximada.

Afortunadamente, ya hay bibliotecas listas y no tenemos que preocuparnos por esa parte de la programación. Las funciones para calcular la distancia con el sensor ya han sido programadas y probadas por alguien, simplemente las reutilizaremos.

Conexión del sensor ultrasónico al Arduino

El sensor ultrasónico HC-SR04 tiene los siguientes pines:

  • Vcc – Debe ser alimentado con 5 voltios;
  • Trigonometría – Se conectará a una salida digital;
  • Eco – Se conectará a una entrada digital;
  • Gnd – Conectado al terminal negativo de la fuente.
Te puede interesar  Sensor infrarrojo reflectante de obstáculos y Arduino

Para conectarlo al Arduino, utilizaremos los pines 12 y 11 como entrada y salida, respectivamente, y + 5V y GND para suministrar el sensor.

sensor ultrasónico arduino

Biblioteca de sensores y programación

Para programar el sensor, necesitamos la biblioteca ultrasónica instalada en el IDE de Arduino. Para hacer esto, descargue la biblioteca aquí y péguela en la carpeta bibliotecas Arduino (C: Archivos de programa (x86) Arduino bibliotecas).

Entonces, cada vez que desee utilizar el sensor ultrasónico, debe llamar a la biblioteca al comienzo del código, de la siguiente manera:

#include 

Y luego debe decirnos el nombre del sensor y dónde están conectados los pines trigonométrico y de eco:

Ultrasonic ultrassom(11,12);

En este caso, para el sensor de «ultrasonido», el pin Trig está en el pin 11 y el pin Echo está en el pin 12. Con esta función, no es necesario decir que los pines son de entrada o salida, ya lo hace automáticamente.

Para recibir la medición del sensor, utilice la función sensorname.Ranging (CM o INC);

ultrassom.Ranging(CM);

Si usa CM, la medición vendrá en centímetros, y si usa INC, la medición vendrá en pulgadas.

El código completo será entonces:

//Sensor Ultrassônico HC-SR04
#include 

Ultrasonic ultrassom(11,12); //define o nome do sensor e os pinos trig(11) e echo(12)

int leitura;

void setup() {
Serial.begin(9600); //O monitor serial deverá estar em 9600 também para os dois se comunicarem
}

void loop()
{
leitura = ultrassom.Ranging(CM); //armazena a leitura na variável 
Serial.print(leitura); //imprime a leitura na tela
Serial.println("cm"); //coloca cm atrás da leitura
delay(300);
}

Envíe el código al Arduino y abra el monitor en serie (Ctrl + Shift + M) para ver el resultado.

¿Quieres aprender más sobre electrónica?