En este proyecto aprenderás a construir un tacho de basura automático usando Arduino Uno, un sensor ultrasónico HC-SR04 y un servomotor. La idea es que la tapa se abra sola cuando alguien se acerque al sensor y se cierre nuevamente después de unos segundos.
Este tipo de práctica es excelente para estudiantes porque combina sensores, movimiento y automatización en un proyecto útil y llamativo.
🎯 Objetivo
Detectar la cercanía de alguien o algo con un sensor ultrasónico y abrir automáticamente la tapa de un tacho mediante un servomotor.
📡 ¿Qué es un sensor ultrasónico HC-SR04?
El sensor ultrasónico HC-SR04 es un dispositivo que permite medir distancias sin contacto. Funciona enviando ondas de sonido que rebotan en un objeto y regresan al sensor, permitiendo calcular qué tan lejos se encuentra.
En Arduino, se usa comúnmente para detectar la cercanía de objetos, como en proyectos de automatización, robots o sistemas como el tacho de basura automático.
🧠 ¿Cómo funciona el proyecto?
El sistema mide la distancia con el sensor ultrasónico. Cuando detecta un objeto a una distancia corta, Arduino interpreta que alguien quiere usar el tacho y envía una señal al servomotor para abrir la tapa.
Después de unos segundos, si ya no detecta cercanía, el servomotor regresa a la posición inicial y la tapa se cierra.
🛠️ Materiales
- 1 Arduino Uno
- 1 sensor ultrasónico HC-SR04
- 1 servomotor
- Cables de conexión
- Protoboard opcional
- Tacho de basura con tapa abatible
🔌 Conexión
Sensor ultrasónico HC-SR04
- VCC → 5V
- GND → GND
- TRIG → Pin 9
- ECHO → Pin 10
Servomotor
- Rojo → 5V
- Marrón o negro → GND
- Naranja o amarillo → Pin 6
💻 Código Arduino
#include <Servo.h>
Servo tapa;
const int trigPin = 9;
const int echoPin = 10;
const int servoPin = 6;
long duracion;
int distancia;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
tapa.attach(servoPin);
tapa.write(0);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duracion = pulseIn(echoPin, HIGH);
distancia = duracion * 0.034 / 2;
Serial.print("Distancia: ");
Serial.print(distancia);
Serial.println(" cm");
if (distancia > 0 && distancia <= 15) {
tapa.write(90);
delay(3000);
} else {
tapa.write(0);
}
delay(200);
}
📖 Explicación del código
- Servo.h permite controlar el servomotor
- el sensor ultrasónico mide la distancia del objeto cercano
- si la distancia es menor o igual a 15 cm, la tapa se abre
- el servomotor gira a 90 grados
- después de un tiempo, si no hay nadie cerca, la tapa vuelve a cerrarse
De esta manera, el tacho funciona de forma automática y sin contacto.
🚀 Posibles mejoras
Puedes mejorar este proyecto de varias formas:
- agregar un buzzer al abrir la tapa
- colocar un LED indicador
- mostrar la distancia en el Monitor Serial
- usar una pantalla LCD para mostrar mensajes
- añadir un segundo sensor para detectar nivel de llenado
⚠️ Errores comunes
❌ Conectar mal los pines TRIG y ECHO
❌ No unir GND de todos los componentes
❌ Esperar que el servo se mueva si no tiene alimentación correcta
❌ Usar un ángulo de apertura demasiado pequeño
❌ Colocar el sensor en una posición que no detecte bien a la persona
✅ Conclusión
Este proyecto de tacho de basura automático es una excelente aplicación de Arduino en automatización básica. Permite integrar detección de proximidad y control de movimiento en una maqueta útil y atractiva para el aula.
Además, ayuda a los estudiantes a comprender cómo un sistema electrónico puede detectar una acción del entorno y responder automáticamente.
[warning title="Simulación en Wokwi" icon="check-circle"]
https://wokwi.com/projects/459066404064496641
[/warning]


Publicar un comentario