El HC-SR04 es un sensor de distancias por ultrasonidos (los cuales viajan a una velocidad de 340 m/s) capaz de detectar objetos y calcular la distancia a la que se encuentra en un rango de 2 a 450 cm; Contiene toda la electrónica encargada de hacer la medición. Es un simple y efectivo sistema compuesto por dos cilindros donde uno es quien envía la señal ultrasónica (emisor) mientras el otro es quien la recibe (receptor); funciona con 5v y con una señal de 40 KHz.
En este sencillo tutorial queremos explicar el breve funcionamiento del sensor ultrasónico con el uso de la librería NewPing con el fin de encender un led siempre y cuando la distancia que capte el sensor sea menor a la que nosotros coloquemos en el código.
La conexión es la siguiente:
HC-SR04 (Esquema en Fritzing)
NewPing_v1.8 (Librería)
El código para la anterior conexión es el siguiente:
[code]
#include <NewPing.h>
#define TRIGGER_PIN 12
#define ECHO_PIN 11
#define MAX_DISTANCE 200
const int buttonPin = 7;
int buttonState = 0;
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
Serial.begin(9600);
pinMode(9, OUTPUT);
pinMode(buttonPin, INPUT);
}
void loop() {
delay(1000);
int uS = sonar.ping_median();
Serial.print("Distancia: ");
Serial.print(uS / US_ROUNDTRIP_CM);
Serial.println("cm");
buttonState = digitalRead(buttonPin);
if (uS / US_ROUNDTRIP_CM<50) {
digitalWrite(9, HIGH);
delay(500);
(buttonState == HIGH);
digitalWrite(12, HIGH);
}
else {
digitalWrite(9, LOW);
delay(500);
digitalWrite(12, LOW);
}
}
[/code]
En la línea 28 del código podemos cambiar la distancia que el sensor perciba para que se pueda activar el Led, o un zumbador, o cualquier otro dispositivo añadiendo algunas líneas de programación y librerías dependiento al caso que sea necesario, todo esto depende solo de su imaginación.