Sensor ultrasónico HC-SR04 Arduino

Sensor de distancia ultrasónico Arduino HC-SR04 para medir distancias que consideraremos en esta lección. Vamos a explicar cómo conectar el sensor de distancia ultrasónico HC-SR04. Analizaremos el código del sensor, que puede ser utilizado por el robot para determinar la distancia o detectar un obstáculo. También veremos una biblioteca popular para los telémetros ultrasónicos en Arduino – Ultrasonic.h.

Para esta actividad necesitaremos:

  • Arduino Uno / Arduino Nano / Arduino Mega
  • sensor ultrasónico HC-SR04;
  • placa de pruebas;
  • LEDs y resistencias de 220 Ohm;
  • cables de conexion;
  • libreria Ultrasonic.h

Funcionamiento del sensor ultrasónico Arduino

El sensor ultrasónico (también llamado a menudo sonar o telémetro ultrasónico) determina la distancia a un objeto de la misma manera que los murciélagos o los delfines. El sensor de distancia genera una señal de banda estrecha a una frecuencia de 40 kHz y capta la señal reflejada. A partir del tiempo de propagación del sonido hacia y desde el objeto, se puede determinar con bastante precisión la distancia en centímetros del obstáculo.

El sensor de distancia ultrasónico Arduino datasheet
El sensor de distancia ultrasónico Arduino (datasheet, pinout)

Características:

  • Voltaje de Operación: 5V DC
  • Corriente de reposo: < 2mA
  • Corriente de trabajo: 15mA
  • Rango de medición: 2cm a 450cm
  • Precisión: +- 3mm
  • Ángulo de apertura: 15°
  • Frecuencia de ultrasonido: 40KHz
  • Duración mínima del pulso de disparo TRIG (nivel TTL): 10 μS
  • Duración del pulso ECO de salida (nivel TTL): 100-25000 μS
  • Dimensiones: 45*20*15 mm

Muchos instrumentos para la exploración espacial funcionan según el mismo principio: ecosondas, sonares, radares e incluso radares policiales para determinar la velocidad de los vehículos. Todos estos instrumentos emiten una señal de ultrasonidos de banda estrecha y reciben la señal reflejada de vuelta. A diferencia de los telémetros infrarrojos (el sensor de obstáculos), el sensor ultrasónico Arduino no se ve afectado por el color del objeto.

Pero cuando se configura un sensor de distancia por ultrasonidos en el Arduino, puede resultar difícil determinar la distancia de los objetos que absorben el sonido, ya que pueden anular completamente la señal transmitida. Para medir la distancia con precisión, la superficie del objeto estudiado debe ser plana y lisa. El transductor ultrasónico hc-sr04 (sonar) para la placa Arduino Uno se muestra en la figura anterior.

Cómo conectar un sensor ultrasónico Arduino

Conectar un capteur HC-SR04 Arduino
Conexion un sensor de distancia HC-SR04 Arduino

El diagrama de cableado se muestra en la figura. Tenga en cuenta que el telémetro ultrasónico tiene un rango de medición de 2 cm a 400 cm y funciona a temperaturas de 0° a 60° C. La precisión de la medición es de ± 1 cm, y la tensión de funcionamiento del sensor es de hasta 5,5 V. Para empezar, utilizamos un programa sencillo, sin utilizar la biblioteca Ultrasonic. Después de conectar el telémetro hc-sr04 Arduino, carga el siguiente código.

Programa Arduino para sensor ultrasonico HC-SR04

#include "Ultrasonic.h"
Ultrasonic ultrasonic(8, 9); // Trig et Echo
 
void setup() {
  Serial.begin(9600);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
}

void loop () {
  int dist = ultrasonic.Ranging(CM);
  Serial.print(dist);
  Serial.println(" cm");

  delay(100);
}

Explicación del código para sensor ultrasonico hc-sr04:

  1. todas las entradas digitales del microcontrolador pueden utilizarse para conectar las salidas de los sensores Trig y Echo;
  2. comando Ultrasonic ultrasonic(8, 9); asigna un nombre al sensor «ultrasónico» y asigna salidas en la placa Arduino para Trig y Echo.
Conectar un capteur de distance Arduino
Cómo conectar un capteur de distance HC-SR04 Arduino

Además, conecta un LED RGB o varios LEDs a la placa para crear un mini proyecto. El color de los LEDs cambia en función de la distancia entre el sensor de distancia y el objeto. Para controlar los LEDs desde el sensor ultrasónico HC SR04, se utilizan en el programa las sentencias condicionales if Arduino IDE. Después de montar el circuito como en la imagen de arriba, carga el siguiente programa en el microcontrolador Arduino Nano.

Programa Arduino sensor ultrasónico HC-SR04 y LED

#include "Ultrasonic.h"
Ultrasonic ultrasonic(8, 9); // Trig et Echo
 
void setup() {
  Serial.begin(9600);
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
}

void loop () {
  int dist = ultrasonic.Ranging(CM);
  Serial.print(dist);
  Serial.println(" cm");

  if (dist < 50) {digitalWrite(12, LOW); digitalWrite(11, HIGH);}
  if (dist > 50) {digitalWrite(12, HIGH); digitalWrite(11, LOW);}

  delay(100);
}

Explicación del código sensor ultrasónico HC-SR04:

  1. comando Ultrasonic ultrasonic(8, 9); asigna un nombre al sensor «ultrasónico» y asigna salidas en la placa Arduino para Trig y Echo;
  2. la distancia a la que se iluminan los LEDs puede modificarse.

Conclusión. Este tutorial ya está completo. Un sensor de distancia por ultrasonidos utiliza el mismo principio que un sensor láser, pero utilizando ondas sonoras (inaudibles) en lugar de un haz de luz. Son mucho más baratos que un sensor láser, pero también mucho menos precisos. Sin embargo, a diferencia de los sensores infrarrojos, la luz ambiental y la opacidad de la superficie frente al sensor ultrasónico no afectan a la medición.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *