Cómo usar el sensor ultrasónico con Arduino

Cómo usar el sensor ultrasónico con Arduino
Arduino es una placa de microcontrolador utilizada por los ingenieros para diseñar múltiples proyectos. Arduino facilita la interacción con los microcontroladores y los productos de diseño de nuestra elección. Arduino tiene la capacidad de interfaz con módulos de hardware de sensor múltiple. Uno de los sensores más populares utilizados con Arduino es el sensor de distancia ultrasónica. Desempeña un papel vital en la construcción de proyectos robóticos basados ​​en Arduino donde podemos ejecutar diferentes instrucciones basadas en la distancia medida por Arduino. Veamos cómo podemos usar este sensor con Arduino.

Sensor ultrasónico con Arduino

HC-SR04 es uno de los sensores ultrasónicos más utilizados con Arduino. Este sensor determina qué tan lejos está un objeto. Utiliza sonar para determinar la distancia de objeto. Normalmente tiene un buen rango de detección con una precisión de 3 mm, sin embargo, a veces es difícil medir la distancia de los materiales blandos como la tela. Viene con un transmisor y receptor incorporados. La siguiente tabla describe las especificaciones técnicas de este sensor.

Características Valor
Tensión de funcionamiento 5V DC
Corriente operativa 15 mA
Frecuencia de operación 40 kHz
Rango mínimo 2 cm/ 1 pulgada
Rango máximo 400 cm/ 13 pies
Exactitud 3 mm
Ángulo de medición <15 degree

Pinout

Sensor ultrasónico HC-SR04 tiene cuatro pines:

  • VCC: Conecte este pin a Arduino 5V
  • GND: Conecte este pin con Arduino Gnd
  • Trigonometría: Este pin recibe una señal de control del pin digital de Arduino
  • Eco: Este pin envía un pulso o señal de regreso a Arduino. Se mide la señal de pulso posterior recibida para calcular la distancia.

Cómo funciona ultrasónico

Una vez que el sensor ultrasónico está conectado a Arduino, el microcontrolador generará un pulso de señal en el Trigonometría alfiler. Después de que los sensores reciban una entrada en el pin trig, se genera automáticamente una onda ultrasónica. Esta ola emitida golpeará la superficie de un obstáculo u objeto cuya distancia debemos medir. Después de eso, la ola ultrasónica se recuperará al terminal del receptor del sensor.

El sensor ultrasónico detectará la onda reflejada y calculará el tiempo total tomado por la onda de un sensor a otro y volverá al sensor nuevamente. El sensor ultrasónico generará un pulso de señal en el pin de eco que está conectado a los pasadores digitales de Arduino una vez que el Arduino recibe señal del pin de eco, calcula la distancia total entre el objeto y el sensor usando Formula de distancia.

Cómo conectar Arduino con sensor ultrasónico

Los pines digitales Arduino generan una señal de pulso de 10 microsegundos que se administra al sensor ultrasónico Pin 9 mientras recibe una señal entrante del sensor ultrasónico Se utiliza otro pasador digital. El sensor se alimenta con un terreno Arduino y un pin de salida de 5V.

Alfiler de sensor ultrasónico Alfiler de arduino
VCC Pin de salida de 5V
Trigonometría PIN9
Eco PIN8
Gnd Gnd

Los pines Trig y Echo se pueden conectar a cualquiera de los pines digitales de Arduino. A continuación, la imagen dada representa el diagrama de cableado de Arduino con sensor ultrasónico HC-SR04.

Esquema

Cómo programar sensor ultrasónico usando Arduino

Para programar un sensor ultrasónico, conecte con un Arduino usando el diagrama anterior. Ahora debemos generar una señal de pulso en el pasador trig del sensor ultrasónico.

Genere un pulso de 10 microsegundos en el pin 9 de Arduino usando DigitalWrite () y DelayMicroseConds () funciones.

DigitalWrite (9, alto);
retrasarmicrosegundos (10);
DigitalWrite (9, bajo);

Para medir la salida del sensor en el PIN 8 use Pulsein () función.

Duración_microsec = pulsein (8, alto);

Una vez que se recibe el pulso del pin de eco del sensor a Arduino Pin número 8. Arduino calculará la distancia utilizando la fórmula anterior.

Distance_cm = 0.017 * Duración_Microsec;

Código

int Triggerpin = 9; /* El pin 9 está configurado para el pin de trig del sensor*/
int Ecopin = 8; /* El pin 8 está configurado para la entrada del pin de eco del sensor*/
Duración de flotaciónMicrosec, DistanciaCM;
setup () void
De serie.comenzar (9600); /*Comunicación en serie comenzó*/
/* TriggerPin se establece como salida*/
PinMode (TriggerPin, salida);
/* El pin 9 de echo se establece como entrada*/
PinMode (ecopin, entrada);

bucle void ()
/* Generar 10-microsegundos de pulso para trig Pin*/
DigitalWrite (TriggerPin, High);
retrasarmicrosegundos (10);
DigitalWrite (TriggerPin, Low);
/* Medir la duración del pulso del pin de eco*/
DuraciónMicrosec = Pulsein (Echopin, High);
/* Calcular la distancia*/
DistanciaCM = 0.017 * DuraciónMicrosec;
/* Imprima el valor para el monitor serial*/
De serie.imprimir ("Distancia:");
De serie.imprimir (DistanceIncm); /*Distancia de impresión en CM*/
De serie.println ("cm");
retraso (1000);

En el código anterior, el pin 9 se establece como disparador mientras el pin 8 se establece como el pin de salida para el sensor ultrasónico. Dos variables duraciónmicrosec y Distancia se inicializa. Uso de la función pinmode () El pin 9 se establece como entrada mientras el pin 8 se establece como salida.

En el bucle La sección del código utilizando la fórmula explicada anteriormente se calcula y la salida se imprime en el monitor de serie.

Hardware

Coloque el objeto cerca del sensor ultrasónico.

Producción

Distancia aproximada de 5.El sensor ultrasónico muestra 9 cm en el monitor en serie.

Ahora aleje el objeto del sensor ultrasónico.

Producción

Distancia aproximada de 10.El sensor ultrasónico muestra 8 cm en el monitor en serie.

Conclusión

El sensor ultrasónico es una gran herramienta para medir la distancia utilizando la operación sin contacto. Tiene una vasta aplicación en proyectos electrónicos de bricolaje donde necesitamos trabajar con la medición de distancia, verificando la presencia de un objeto y la nivelación o la posición correcta de cualquier equipo. Este artículo cubre todos los parámetros que se necesitan para operar un sensor ultrasónico con Arduino.