Es un módulo que incorpora un par de transductores de ultrasonido que se
utilizan de manera conjunta para determinar la distancia del sensor con un objeto colocado enfrente de este. Sensor ultrasónico HC-SR04 Materiales necesarios para la práctica • Tarjeta Arduino UNO R3 • HC-SR04 Módulo sensor ultrasónico • Cables para conexiones • Potenciómetro • Terminal Virtual • Protoboard ¿Cómo funciona el sensor HC- SR04?
Un transductor emite una “ráfaga” de
ultrasonido y el otro capta el rebote de dicha onda. El tiempo que tarda la onda sonora en ir y regresar a un objeto puede utilizarse para conocer la distancia que existe entre el origen del sonido y el objeto.
El HC-SR04 es un sensor que funciona a través
de la medición del pulso de echo ¿Cómo se comunica con Arduino el sensor HC-SR04?
La interfaz del sensor HC-SR04 y arduino se logra
mediante 2 pines digitales: el pin de disparo (trigger) y eco (echo). La función de cada uno de estos pines es la siguiente: El pin trigger recibe un pulso de habilitación de parte del microcontrolador, mediante el cual se le indica al módulo que comience a realizar la medición de distancia. En el pin echo el sensor devuelve al microcontrolador un puso cuyo ancho es proporcional al tiempo que tarda el sonido en viajar del transductor al obstáculo y luego de vuelta al módulo. ¿Cómo se conecta un sensor HC-SR04 con arduino?
La conexión del sensor con Arduino es muy sencilla.
Podemos realizarla utilizando un protoboard, o directamente con alambres. Para lograr que el sensor funcione, son necesarias 4 señales: • Alimentación de 5 volts. • Tierra o común del circuito. • Señal de disparo (trig). • Señal de eco (echo). La siguiente imagen muestra como queda conectado el sensor utilizando solamente cables: void loop() { // Poner al trigger a low para activarlo después digitalWrite(trigPin, LOW); delayMicroseconds (2); // Activar el modulo con un pulso de 10 microsec. Programación para sensor digitalWrite (trigPin, HIGH); ultrasónico HC-SR04 delayMicroseconds (10); digitalWrite (trigPin, LOW); // Esperamos la llefada de un pulso HIGH const int trigPin = 8; duracion = pulseIn (echoPin, HIGH); const int echoPin = 9; // tiempo de ida-vuelta, dividimos por 2 long duracion; // tiempode ida-vuelta duracion = duracion / 2; int cm = 0; // Para almacenar el valor obtenido en // La velocidad del sonido es de 340 m/s cm valor = 0; // lo que es lo mismo 29 microsegundos por centimetro // Programa principal cm = duracion / 29; void setup() { Serial.print ("Distancia: "); Serial.begin(9600); // Uso de una conexión serial Serial.println (cm); pinMode (trigPin, OUTPUT); delay(100); pinMode (echoPin, INPUT); } }