Introducción
El sensor de distancia HC-SR04 es un sensor ultrasónico que se utiliza para medir distancias.
Los sensores ultrasónicos funcionan al enviar una onda de sonido y esperar hasta que esa onda rebote en el sensor. Esto significa que la precisión del sensor puede cambiar con la velocidad del sonido. Sin embargo, esto no suele ser un problema.
Esta es una alternativa más barata al sensor Ping. En lugar de tres pines, tiene cuatro: + 5V, GND, Trigger y Echo. Esto significa que hay un pin menos disponible en el Arduino, pero, según el proyecto, eso no importa.
Esquemático
El sensor está conectado de la siguiente manera:
Codificación
Codificar el HC-SR04 es simple, ya que el código preexistente para el Ping puede desarrollarse rápidamente para que funcione con él. Por ejemplo:
// Adaptado del código de David A. Mellis para el sensor de ping const int trigPin = 7 ; const int echoPin = 8 ;
void setup () { // inicializar comunicación serial: Serial . comenzar ( 9600 );
pinMode ( trigPin , SALIDA );
pinMode ( echoPin , INPUT ); }
bucle de vacío () { larga duración , pulgadas , cm ;
digitalWrite ( trigPin , LOW );
delayMicroseconds ( 2 );
digitalWrite ( trigPin , HIGH );
delayMicroseconds ( 5 );
digitalWrite ( trigPin , LOW );
duration = pulseIn ( echoPin , HIGH );
// convertir el tiempo en una distancia
pulgadas = microsegundosParaIndiciones ( duración );
cm = microsegundos a los centímetros ( duración );
De serie . impresión ( pulgadas ); De serie . imprimir ( "en" ); De serie . impresión ( cm ); De serie . impresión ( "cm" ); De serie . println ();
retraso ( 100 ); }
largas microsecondsToInches ( largos microsegundos ) { // De acuerdo con la hoja de datos Parallax para el PING))), hay // 73.746 microsegundos por pulgada (es decir, el sonido viaja a 1130 pies por // segundos). Esto da la distancia recorrida por el ping, la salida // y el retorno, por lo que dividimos por 2 para obtener la distancia del obstáculo. // Ver: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf de retorno microsegundos / 74 / 2 ; }
largas microsecondsToCentimeters ( largos microsegundos ) { // La velocidad del sonido es 340 m / s o 29 microsegundos por centímetro. // El ping viaja hacia afuera y hacia atrás, así que para encontrar la distancia del // objeto tomamos la mitad de la distancia recorrida. volver microsegundos / 29 / 2 ; }