Paso 1: Descripción
El sensor ultrasónico HC-SR04 utiliza la velocidad del sonido para determinar la distancia a un objeto. Ofrece un excelente rango de medición con alta precisión y lecturas estables en un chip fácil de usar. La distancia medida va desde los 2 cm hasta los 400 cms.
La operación no se ve afectada por la luz solar o materiales negros (aunque los materiales blandos o telas acústicamente rugosas pueden ser difíciles de detectar). Este sensor cuenta con un emisor ultrasónico y el módulo receptor.
Paso 2: Características
- Fuente de alimentación: + 5V DC
- Corriente en reposo: < 2 mA
- Corriente Nominal: 15mA
- Ángulo Eficaz: <15 °
- Rango de Distancia: 2 cm – 400 cm / 1 – 13 pies
- Resolución: 0.3 cm
- Medición de ángulo: 30 grados
- Ancho de pulso de entrada: 10uS
- Dimensiones: 45mm x 20mm x 15mm
Paso 3: Pines a Conectar
- VCC: +5VDC
- Trig : Trigger (INPUT)
- Echo: Echo (OUTPUT)
- GND: GND
Paso 4: Actividad
Este sensor es muy fácil de utilizar y muy amigable con el Arduino. La actividad a realizar es leer y escribir la distancia con el sensor ultrasónico y desplegar mediante 2 LEDs la proximidad de un objeto. Ejemplo: Se prende el primer LED cuando la distancia es menor a 10cm. Arriba de 10cm se prende el segundo LED. La distancia actual se verá reflejada en el Serial Monitor del programa Arduino.
Paso 5: Hardware
Paso 6: Software
#define trigPin 7 #define echoPin 8 #define led 11 #define led2 10 void setup() { Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); pinMode(led, OUTPUT); pinMode(led2, OUTPUT); } void loop() { long duration, distance; digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); distance = (duration/2) / 29.1; if (distance < 10) { // This is where the LED On/Off happens digitalWrite(led,HIGH); // When the Red condition is met, the Green LED should turn off digitalWrite(led2,LOW); } else { digitalWrite(led,LOW); digitalWrite(led2,HIGH); } if (distance >= 400 || distance <= 0){ Serial.println("Out of range"); } else { Serial.print(distance); Serial.println(" cm"); } delay(500); }