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.
Indice
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.
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.
Para conectarlo al Arduino, utilizaremos los pines 12 y 11 como entrada y salida, respectivamente, y + 5V y GND para suministrar el sensor.
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 #includeUltrasonic 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.