Si estás interesado en llevar tus proyectos con Arduino al siguiente nivel, el sensor ultrasónico HC-SR04 es una herramienta que no puedes pasar por alto. Con su capacidad para medir distancias con precisión utilizando ondas ultrasónicas, este sensor ofrece un mundo de posibilidades en el ámbito de la electrónica y la programación. En este artículo, te proporcionaremos instrucciones completas para utilizar el sensor ultrasónico HC-SR04 con Arduino, para que puedas comenzar a crear tus propios proyectos innovadores. ¡No te lo pierdas!
Este artículo es una guía para el sensor ultrasónico HC-SR04. Te explicaremos cómo funciona, te mostraremos algunas de sus características y te mostraremos un ejemplo de proyecto Arduino que puedes seguir para integrarlo en tus proyectos. Proporcionamos un diagrama esquemático para el cableado del sensor ultrasónico y un boceto de ejemplo con el Arduino.
Descripción
El sensor ultrasónico HC-SR04 utiliza un sonar para determinar la distancia a un objeto. Este sensor mide un rango de 2 cm a 400 cm (0,8″ a 157″) con una precisión de 0,3 cm (0,1″), lo cual es bueno para la mayoría de los proyectos de hobby. Además, este módulo especial está equipado con módulos transmisores y receptores ultrasónicos.
La siguiente imagen muestra el sensor ultrasónico HC-SR04.
La siguiente imagen muestra el otro lado del sensor.
características
A continuación se muestra una lista de algunas de las características y especificaciones del sensor ultrasónico HC-SR04. Puede encontrar más información en la hoja de datos del sensor:
- Fuente de alimentación: +5 VCC
- Corriente de reposo: <2mA
- Corriente de trabajo: 15mA
- Ángulo efectivo: <15°
- Alcance: 2 cm – 400 cm/1″ – 13 pies
- Resolución: 0,3 cm
- Ángulo de medición: 30 grados
- Ancho de pulso de entrada del disparador: pulso TTL de 10uS
- Señal de salida de eco: pulso TTL proporcional al rango de distancia
- Dimensiones: 45 mm x 20 mm x 15 mm
¿Como funciona?
El sensor ultrasónico utiliza un sonar para determinar la distancia a un objeto. Esto es lo que sucede:
- El transmisor ultrasónico (pin de activación) emite un tono de alta frecuencia (40 kHz).
- El sonido viaja por el aire. Cuando se encuentra un objeto, regresa al módulo.
- El receptor de ultrasonidos (echo pin) recibe el sonido reflejado (eco).
El tiempo entre el envío y la recepción de la señal nos permite calcular la distancia a un objeto. Esto es posible porque conocemos la velocidad del sonido en el aire. Aquí está la fórmula:
distance to an object = ((speed of sound in the air)*time)/2
- Velocidad del sonido en el aire a 20 °C (68 °F) = 343m/s
Asignación de pines del sensor ultrasónico HC-SR04
Aquí está la distribución de pines del sensor ultrasónico HC-SR04.
VCC | Alimenta el sensor (5V) |
Trigonometría | Pin de entrada del disparador |
eco | Pin de salida de eco |
Tierra | Tierra común |
¿Donde comprar?
Puedes consultar el sensor ultrasónico HC-SR04 en Maker Advisor para encontrar el mejor precio:
Arduino con sensor HC-SR04
Este sensor es muy popular entre los aficionados a Arduino. Aquí presentamos un ejemplo del uso del sensor ultrasónico HC-SR04 con el Arduino. En este proyecto, el sensor ultrasónico lee y escribe la distancia a un objeto en el monitor en serie.
El objetivo de este proyecto es ayudarle a comprender cómo funciona este sensor. Entonces deberías poder utilizar este ejemplo en tus propios proyectos.
Piezas requeridas
Aquí hay una lista de las piezas necesarias para seguir el siguiente tutorial:
- Arduino UNO – leer Los mejores kits de inicio de Arduino
- Sensor ultrasónico (HC-SR04)
- tablero de circuitos
- Cables de puente
Puedes utilizar los enlaces anteriores o ir directamente MakerAdvisor.com/tools ¡Para encontrar todas las piezas para tus proyectos al mejor precio!
Arduino con cableado de sensor HC-SR04
Siga el siguiente diagrama esquemático para conectar el sensor ultrasónico HC-SR04 al Arduino.
La siguiente tabla muestra las conexiones que necesita realizar:
Sensor ultrasónico HC-SR04 | arduino |
VCC | 5V |
Trigonometría | Patilla 11 |
eco | clavija 12 |
Tierra | Tierra |
código
Cargue el siguiente código en su IDE de Arduino.
/*
* created by Rui Santos, https://randomnerdtutorials.com
*
* Complete Guide for Ultrasonic Sensor HC-SR04
*
Ultrasonic sensor Pins:
VCC: +5VDC
Trig : Trigger (INPUT) - Pin11
Echo: Echo (OUTPUT) - Pin 12
GND: GND
*/
int trigPin = 11; // Trigger
int echoPin = 12; // Echo
long duration, cm, inches;
void setup() {
//Serial Port begin
Serial.begin (9600);
//Define inputs and outputs
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
// The sensor is triggered by a HIGH pulse of 10 or more microseconds.
// Give a short LOW pulse beforehand to ensure a clean HIGH pulse:
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Read the signal from the sensor: a HIGH pulse whose
// duration is the time (in microseconds) from the sending
// of the ping to the reception of its echo off of an object.
pinMode(echoPin, INPUT);
duration = pulseIn(echoPin, HIGH);
// Convert the time into a distance
cm = (duration/2) / 29.1; // Divide by 29.1 or multiply by 0.0343
inches = (duration/2) / 74; // Divide by 74 or multiply by 0.0135
Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(250);
}
Así es como funciona el código
Primero, cree variables para el disparador llamado y el pin de eco. disparadorPin Y ecoPin, respectivamente. El pasador del gatillo está conectado a digital. Patilla 11y el pin de eco está conectado a clavija 12:
int trigPin = 11;
int echoPin = 12;
También creas tres variables largas: Período de tiempo Y Aduanas. El Período de tiempo La variable ahorra el tiempo entre el envío y la recepción de la señal. El cm La variable almacena la distancia en centímetros y la Aduanas La variable almacena la distancia en pulgadas.
long duration, cm, inches;
En el configuración()inicialice el puerto serie con una velocidad de 9600 baudios y configure el pin de disparo como PRODUCCIÓN y el pin de eco como ENTRADA.
//Serial Port begin
Serial.begin (9600);
//Define inputs and outputs
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
En el Cinta()activar el sensor enviando un ALTO Pulso de 10 microsegundos. Pero primero, solo un breve momento. BAJO Pulse para asegurarse de obtener una limpieza limpia ALTO Legumbres:
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
Usamos eso pulsoEn() Función para determinar el tiempo de viaje de la onda sonora:
duration = pulseIn(echoPin, HIGH);
El pulsoEn() La función lee un pulso ALTO o BAJO en un pin. Acepta como argumentos el pin y el estado del pulso (ya sea ALTO o BAJO). Devuelve la duración del pulso en microsegundos. La duración del pulso es igual al tiempo que tardó en viajar hasta el objeto más el tiempo que tardó en regresar.
Luego calculamos la distancia a un objeto teniendo en cuenta la velocidad del sonido.
distance = (traveltime/2) x speed of sound The speed of sound is: 343m/s = 0.0343 cm/uS = 1/29.1 cm/uS Or in inches: 13503.9in/s = 0.0135in/uS = 1/74in/uS
Tenemos que dividir el tiempo de tránsito por 2 porque tenemos que tener en cuenta que la onda fue enviada, golpeó el objeto y luego regresó al sensor.
cm = (duration/2) / 29.1;
inches = (duration/2) / 74;
Finalmente, imprimimos los resultados en el Serial Monitor:
Serial.print(inches);
Serial.print("in, ");
Serial.print(cm);
Serial.print("cm");
Serial.println();
Código fuente con la biblioteca NewPing
También puedes utilizar la biblioteca NewPing. Descargar la biblioteca Aquí.
Después de instalar la biblioteca NewPing, puede cargar el código que se proporciona a continuación.
/*
* Posted on https://randomnerdtutorials.com
* created by http://playground.arduino.cc/Code/NewPing
*/
#include <NewPing.h>
#define TRIGGER_PIN 11
#define ECHO_PIN 12
#define MAX_DISTANCE 200
// NewPing setup of pins and maximum distance
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
Serial.begin(9600);
}
void loop() {
delay(50);
unsigned int distance = sonar.ping_cm();
Serial.print(distance);
Serial.println("cm");
}
Así es como funciona el código
Encontrar la distancia a un objeto usando la biblioteca NewPing es mucho más fácil.
Empiece por integrar la biblioteca NewPing:
#include <NewPing.h>
Luego defina el disparador y el pin de eco. El pin del gatillo está conectado al Arduino Digital. Patilla 11 y el eco de ello clavija 12. También necesitas definirlos. DISTANCIA MÁXIMA Variable para utilizar la biblioteca.
#define TRIGGER_PIN 11
#define ECHO_PIN 12
#define MAX_DISTANCE 200
Luego crea uno Nuevo ping Instancia llamada sonar:
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
En el configuración()Inicialice la comunicación en serie con una velocidad de baudios de 9600.
Serial.begin(9600);
Finalmente en el Cinta()solo tienes que usar eso ping_cm() método en el sonar Objeto para obtener la distancia en centímetros.
unsigned int distance = sonar.ping_cm();
Si quieres obtener la distancia en pulgadas puedes usar: sonda.ping_in() en cambio.
demostración
Sube el código a tu placa Arduino. Luego abra el Serial Monitor con una velocidad de baudios de 115200.
La distancia al objeto más cercano se imprime en la ventana «Serial Monitor».
Resumen
En este post te mostramos cómo funciona el sensor ultrasónico HC-SR04 y cómo puedes usarlo con la placa Arduino. Como ejemplo de proyecto, puedes construir un sensor de estacionamiento con LED y un timbre.
Si eres principiante en Arduino, te recomendamos realizar nuestro mini curso de Arduino que te ayudará a empezar rápidamente con esta increíble placa.
Si te gusta Arduino, también te puede interesar:
- Curso de proyecto Arduino paso a paso.
- Instrucciones del módulo de tarjeta SD con Arduino
- Instrucciones del sensor de humedad y temperatura DHT11/DHT22 con Arduino
- Instrucciones para el sensor de color TCS230/TCS3200 con Arduino
Todos nuestros proyectos y tutoriales de Arduino se pueden encontrar aquí.
Esperamos que este tutorial te haya resultado útil. Gracias por leer.
Instrucciones completas para el sensor ultrasónico HC-SR04 con Arduino
Este artículo sirve como guía sobre el Sensor Ultrasónico HC-SR04. Explicaremos cómo funciona, mostraremos algunas de sus características y compartiremos un ejemplo de proyecto Arduino que puedes seguir para integrarlo en tus propios proyectos. Proporcionamos un diagrama esquemático sobre cómo conectar el sensor ultrasónico y un ejemplo de código con Arduino.
Descripción
El sensor ultrasónico HC-SR04 utiliza sonar para determinar la distancia a un objeto. Este sensor lee desde 2 cm hasta 400 cm con una precisión de 0.3 cm, lo cual es ideal para la mayoría de proyectos de entusiastas. Además, este módulo en particular viene con módulos transmisor y receptor ultrasónicos.
Características
A continuación, una lista de algunas características y especificaciones del sensor ultrasónico HC-SR04:
- Alimentación: +5V DC
- Corriente en reposo: < 2mA
- Corriente de trabajo: 15mA
- Ángulo efectivo: < 15°
- Distancia de alcance: 2 cm – 400 cm
- Resolución: 0.3 cm
- Ángulo de medición: 30 grados
- Entrada de disparo de pulso: 10uS pulso TTL
- Señal de salida de eco: Pulso TTL proporcional al rango de distancia
- Dimensiones: 45mm x 20mm x 15mm
¿Cómo funciona?
El sensor ultrasónico utiliza sonar para determinar la distancia a un objeto. La operación es la siguiente:
- El transmisor ultrasónico emite un sonido de alta frecuencia (40 kHz).
- El sonido viaja a través del aire. Si encuentra un objeto, rebota hacia el módulo.
- El receptor ultrasónico recibe el sonido reflejado.
El tiempo entre la transmisión y recepción de la señal nos permite calcular la distancia a un objeto. Esto es posible porque conocemos la velocidad del sonido en el aire. Aquí tienes la fórmula:
Distancia a un objeto = ((velocidad del sonido en el aire) * tiempo)/2
Velocidad del sonido en el aire a 20ºC: 343 m/s.
Pinout del Sensor Ultrasónico HC-SR04
Gracias por las instrucciones súper completas, ahora sí que me siento listo para empezar a jugar con el sensor ultrasónico HC-SR04 y Arduino. ¡A ver qué locuras puedo hacer con esto!
Muy útil, gracias por compartir esta guía detallada. ¡A probarlo ya mismo!
Gracias por esta guía, me has salvado de la confusión al usar el sensor ultrasónico con Arduino. ¡Listo para seguir tus instrucciones y empezar a experimentar!
¡Gracias por las instrucciones claras y fáciles de seguir! Ahora no tengo excusa para no probar este sensor ultrasonico con Arduino. ¡A por ello!
¡Excelente explicación! Gracias por simplificar el uso del sensor ultrasónico con Arduino. ¡Ahora sí puedo comenzar a experimentar!