¿Te gustaría crear proyectos increíbles con sensores ultrasónicos usando Arduino? ¡Has llegado al lugar indicado! En este artículo, te presentaremos 5 emocionantes proyectos que podrás desarrollar, utilizando la versatilidad y facilidad de programación de Arduino. Descubre cómo los sensores ultrasónicos pueden potenciar tus proyectos y desafiar tu creatividad. ¡No te lo pierdas!
Un sensor ultrasónico mide la distancia de un objeto emitiendo ondas de sonido ultrasónicas. Las ondas reflejadas del objeto son recibidas por el sensor y se convierten en las señales eléctricas correspondientes.
Numerosos proyectos de sensores ultrasónicos están disponibles en Internet. Pero aquí presentamos los cinco mejores proyectos de sensores ultrasónicos de Arduino.
Proyecto de alarma contra intrusos usando Arduino con sensor ultrasónico
Mantener sus cosas privadas a salvo de intrusos puede ser un trabajo desafiante. Pero con este proyecto de alarma contra intrusos, es fácil mantener seguros sus accesorios.
El circuito emite un sonido a través de un zumbador cuando un objeto se acerca al sensor. La distancia a la que responderá el sensor se puede ajustar fácilmente en el programa.
DIAGRAMA DE CIRCUITO
COMPONENTES REQUERIDOS
- Sensor ultrasónico
- LED x2
- Resistencias (220 ohmios) x2
- Zumbador
- Tablero de circuitos
- Placa Arduino Uno
PROGRAMA
// Created by The Electronic Guy // www.youtube.com/theelectronicguy #define echo 2 #define trig 3 #define outA 8// Red LED #define outB 9// Green LED #define outC 10// Buzzer float duration; // time taken by the pulse to return back float distance; // oneway distance travelled by the pulse const int intruderDistance = 10; // the minimum distance upto which the sensor is able to sense any object void setup() { pinMode(trig, OUTPUT); pinMode(echo, INPUT); pinMode(outA, OUTPUT); digitalWrite(outA, LOW); pinMode(outB, OUTPUT); digitalWrite(outB, LOW); pinMode(outC, OUTPUT); digitalWrite(outC, LOW); Serial.begin(9600); } void loop() { time_Measurement(); distance = (float)duration * (0.0343) / 2; // calculate the oneway distance travelled by the pulse Serial.println(distance); alarm_condition(); } void time_Measurement() { // function to measure the time taken by the pulse to return back digitalWrite(trig, LOW); delayMicroseconds(2); digitalWrite(trig, HIGH); delayMicroseconds(10); digitalWrite(trig, LOW); duration = pulseIn(echo, HIGH); } void alarm_condition() { //function to execute the output commands based on the sensor input if(distance<=intruderDistance) { digitalWrite(outA,HIGH); digitalWrite(outB,LOW); analogWrite(outC,200);} else { digitalWrite(outA,LOW); digitalWrite(outB,HIGH); analogWrite(outC,0); } }
Estado de distancia usando LED: Proyectos de sensores ultrasónicos Arduino
Un LED brillante siempre ilumina tu espacio creativo. Entonces, este proyecto es una implementación combinada de un sensor ultrasónico y LED. Hay 8 LED.
Los LED parpadean según la distancia de un objeto desde el sensor ultrasónico. Indicando así qué tan lejos está el objeto del sensor.
DIAGRAMA DE CIRCUITO
COMPONENTES REQUERIDOS
- Sensor ultrasónico
- LED x8
- Resistencias (220 ohmios) x8
- Tablero de circuitos
- placa arduino uno
PROGRAMA
// Created by The Electronic Guy // www.youtube.com/theelectronicguy #define echo 2 #define trig 3 #define LED8 11 #define LED7 10 #define LED6 9 #define LED5 8 #define LED4 7 #define LED3 6 #define LED2 5 #define LED1 4 float duration; float distance; void setup() { pinMode(trig, OUTPUT); pinMode(echo, INPUT); for (int i = 4; i <= 11; i++) pinMode(i, OUTPUT); Serial.begin(9600); } void loop() { time_Measurement(); distance = duration * (0.0343) / 2; Serial.println(distance); led_Check(); delay(10); for (int i = LED1; i <= LED8; i++) { digitalWrite(i, LOW); } } void time_Measurement() { digitalWrite(trig, LOW); delayMicroseconds(2); digitalWrite(trig, HIGH); delayMicroseconds(10); digitalWrite(trig, LOW); duration = pulseIn(echo, HIGH); } void led_Check() { if (11 < distance && distance <= 15) digitalWrite(LED8, HIGH); else if (10 < distance && distance <= 11) digitalWrite(LED7, HIGH); else if (9 < distance && distance <= 10) digitalWrite(LED6, HIGH); else if (8 < distance && distance <= 9) digitalWrite(LED5, HIGH); else if (7 < distance && distance <= 8) digitalWrite(LED4, HIGH); else if (6 < distance && distance <= 7) digitalWrite(LED3, HIGH); else if (5 < distance && distance <= 6) digitalWrite(LED2, HIGH); else if (1 < distance && distance <= 5) digitalWrite(LED1, HIGH); else { for (int i = LED1; i <= LED8; i++) digitalWrite(i, LOW); } }
Medición de distancia usando sensor ultrasónico
A veces se hace necesario obtener la distancia precisa de un objeto. Y por lo tanto, este proyecto mide la distancia de un objeto colocado frente al sensor ultrasónico y lo muestra en una pantalla LCD.
DIAGRAMA DE CIRCUITO
COMPONENTES REQUERIDOS
- Sensor ultrasónico
- placa arduino uno
- Pantalla LCD
- Potenciómetro 10K
- Resistencia (220 ohmios)
- Tablero de circuitos
PROGRAMA
// Created by The Electronic Guy // www.youtube.com/theelectronicguy #include <LiquidCrystal.h> //LCD library #define echo 2 #define trig 3 float duration; // time taken by the pulse to return back float distance; // oneway distance travelled by the pulse LiquidCrystal lcd(13, 12, 11, 10, 9, 8);//lcd(RS,EN,D4,D5,D6,D7) void setup() { pinMode(trig, OUTPUT); pinMode(echo, INPUT); Serial.begin(9600); lcd.begin(16, 2); } void loop() { time_Measurement(); distance = duration * (0.0343) / 2;// calculate the oneway distance travelled by the pulse display_distance(); } void time_Measurement() { //function to measure the time taken by the pulse to return back digitalWrite(trig, LOW); delayMicroseconds(2); digitalWrite(trig, HIGH); delayMicroseconds(10); digitalWrite(trig, LOW); duration = pulseIn(echo, HIGH); } void display_distance() { //function to display the distance on LCD/Serial Monitor lcd.clear(); lcd.setCursor(0, 0); Serial.print("Distance in Cm: "); Serial.print(distance); Serial.println(); lcd.print("Distance in Cm: "); lcd.setCursor(5, 1); lcd.print(distance); delay(1000); }
Control de ángulo del servomotor con distancia
Un servomotor también es conocido por su rotación con gran precisión. ¿Y qué sería mejor que dar esa distancia/rotación precisa usando un sensor ultrasónico? Este proyecto utiliza un servomotor y una pantalla LCD con un sensor ultrasónico.
La distancia del objeto al sensor se mapea con la rotación del motor entre 0 y 180 grados. Entonces, cuando el objeto está a una distancia de 30 cm, el ángulo del servo es de 30 grados y cuando el objeto está a una distancia de 90 cm, el ángulo del servo es de 90 grados, y así sucesivamente.
DIAGRAMA DE CIRCUITO
COMPONENTES REQUERIDOS
- Sensor ultrasónico
- placa arduino uno
- Servo motor
- Pantalla LCD
- potenciómetro 10K
- Resistencia (220 ohmios)
- Tablero de circuitos
PROGRAMA
// Created by The Electronic Guy // www.youtube.com/theelectronicguy #include <LiquidCrystal.h> //LCD library #include<Servo.h> //Servo library #define echo 2 #define trig 3 float duration; // time taken by the pulse to return back float distance; // oneway distance travelled by the pulse Servo myservo ; LiquidCrystal lcd(13, 12, 11, 10, 9, 8);//lcd(RS,EN,D4,D5,D6,D7) void setup() { myservo.attach(6); // Servo is connected to Digital pin 6 pinMode(trig, OUTPUT); pinMode(echo, INPUT); Serial.begin(9600); lcd.begin(16, 2); } void loop() { time_Measurement(); distance = duration * (0.0343) / 2; display_distance(); myservo.write(distance);// Move the servo at an angle equal to the distance delay(500); lcd.clear(); } void time_Measurement() { //function to measure the time taken by the pulse to return back digitalWrite(trig, LOW); delayMicroseconds(2); digitalWrite(trig, HIGH); delayMicroseconds(10); digitalWrite(trig, LOW); duration = pulseIn(echo, HIGH); } void display_distance() { //function to display the distance & ServoAngle on LCD/Serial Monitor lcd.setCursor(0, 0); Serial.print("Distance in Cm: "); Serial.print(distance); Serial.println(); lcd.print("Distance: "); lcd.print(distance); lcd.setCursor(0, 1); lcd.print("ServoAngle: "); int ServoAngle = constrain(distance,0,180); lcd.print(ServoAngle); }
Sistema de seguridad/escáner de área con sensor ultrasónico
En este proyecto, un sensor ultrasónico está conectado a un servomotor. El servomotor gira continuamente entre 0 y 180 grados, realizando la función de un radar.
Cuando un objeto entra en el rango del sensor, el sensor lo rastrea y genera una alarma. La distancia correspondiente del objeto desde el sensor se muestra en la pantalla LCD.
DIAGRAMA DE CIRCUITO
COMPONENTES REQUERIDOS
- Sensor ultrasónico
- placa arduino uno
- Pantalla LCD
- Potenciómetro 10K
- Servo motor
- Resistencia (220 ohmios)
- Tablero de circuitos
PROGRAMA
// Created by The Electronic Guy // www.youtube.com/theelectronicguy #include <LiquidCrystal.h> //LCD library #include<Servo.h> //Servo library #define echo 2 #define trig 3 #define Buzzer 7 const int scan_Distance = 50;//distance upto which the sensor should scan float duration; // time taken by the pulse to return back float distance; // oneway distance travelled by the pulse Servo myservo ; LiquidCrystal lcd(13, 12, 11, 10, 9, 8);//lcd(RS,EN,D4,D5,D6,D7) void setup() { myservo.attach(6); // Servo is connected to Digital pin 6 pinMode(trig, OUTPUT); pinMode(echo, INPUT); pinMode(Buzzer,OUTPUT); Serial.begin(9600); lcd.begin(16, 2); } void loop() { for (int i = 0; i <= 180; i++) { myservo.write(i); time_Measurement(); distance = duration * (0.0343) / 2; if (distance <= scan_Distance) { intruder_detected(); } else { lcd.clear(); lcd.print("Scanning...... "); } delay(100); } for (int i = 180; i >= 0; i--) { myservo.write(i); time_Measurement(); distance = (float)duration * (0.0343) / 2; if (distance <= scan_Distance) { intruder_detected(); } else { lcd.clear(); lcd.print("Scanning...... "); } delay(100); } } void time_Measurement() { digitalWrite(trig, LOW); delayMicroseconds(2); digitalWrite(trig, HIGH); delayMicroseconds(10); digitalWrite(trig, LOW); duration = pulseIn(echo, HIGH); } void intruder_detected() { lcd.clear(); lcd.setCursor(0, 0); lcd.print(" Intruder at "); lcd.setCursor(0, 1); lcd.print(" "); lcd.print(distance); lcd.print(" cm"); digitalWrite(Buzzer, HIGH); delay(3000); digitalWrite(Buzzer, LOW); }
Preguntas frecuentes sobre 5 proyectos de sensores ultrasónicos Arduino
Los sensores ultrasónicos Arduino son dispositivos populares utilizados para medir la distancia y detectar objetos en proyectos de electrónica. Aquí presentamos algunas preguntas frecuentes que surgen al trabajar con estos sensores:
1. ¿Qué es un sensor ultrasónico Arduino?
Un sensor ultrasónico Arduino es un dispositivo que utiliza ondas ultrasónicas para medir la distancia y detectar objetos. Utiliza pulsos ultrasónicos que se envían y reciben para determinar la distancia entre el sensor y el objeto. Es muy utilizado en proyectos de robótica y domótica.
2. ¿Cómo funciona un sensor ultrasónico Arduino?
El sensor ultrasónico Arduino emite una señal ultrasónica de frecuencia alta y luego espera a recibir el eco de esta señal cuando rebota en un objeto. Utiliza la velocidad del sonido para calcular la distancia entre el sensor y el objeto.
3. ¿Cuáles son algunos proyectos comunes con sensores ultrasónicos Arduino?
Algunos proyectos comunes con sensores ultrasónicos Arduino incluyen robots evasores de obstáculos, sistemas de alarma basados en la detección de movimiento y sistemas de asistencia de estacionamiento para automóviles. También se utilizan en proyectos de domótica para controlar luces o electrodomésticos según la proximidad de una persona.
4. ¿Cuáles son las ventajas de usar sensores ultrasónicos Arduino?
Las ventajas de utilizar sensores ultrasónicos Arduino incluyen su bajo costo, facilidad de uso y precisión en la medición de distancias. También son versátiles y se pueden combinar con otros módulos y sensores para obtener funcionalidades más avanzadas.
5. ¿Dónde puedo obtener más información sobre sensores ultrasónicos Arduino?
Para obtener más información sobre sensores ultrasónicos Arduino, puedes visitar la página Sensor ultrasónico en Wikipedia. También puedes buscar tutoriales y proyectos en línea que te proporcionarán guías paso a paso para trabajar con estos sensores.