Caja Inteligente con Apertura Automática
Kirill Stepchenkov
Motivación del proyecto
Problema
En muchos lugares las personas tienen que tocar la tapa de las papeleras o cajas de residuos para abrirlas. Esto puede ser poco higiénico, especialmente en centros educativos, hospitales o lugares públicos. Además, algunas personas con movilidad reducida pueden tener dificultades para abrirlas manualmente.
Solución
El proyecto consiste en una caja inteligente que abre automáticamente su tapa cuando detecta la presencia de una mano u objeto cercano. Para ello se utilizará un sensor ultrasónico HC-SR04 que medirá la distancia. Cuando detecte un objeto a menos de una distancia determinada (por ejemplo, 15 cm), enviará una señal al Arduino UNO, que activará un servomotor para abrir la tapa. Después de unos segundos, la tapa volverá a cerrarse automáticamente.
Relación con los ODS
- ODS 3: Salud y bienestar, porque reduce el contacto con superficies que pueden estar sucias.
- ODS 9: Industria, innovación e infraestructura, al utilizar automatización y tecnología.
- ODS 11: Ciudades y comunidades sostenibles, fomentando soluciones inteligentes para espacios públicos.
Material
| Componente | Función |
|---|---|
| Arduino UNO | Controla todo el sistema |
| Sensor ultrasónico HC-SR04 | Detecta objetos cercanos |
| Servomotor SG90 | Abre y cierra la tapa |
| Protoboard (opcional) | Facilita las conexiones |
| Cables Dupont | Conectan los componentes |
| Caja de cartón | Estructura del proyecto |
| Cable USB | Alimentación y programación |
Montaje

Código Arduino
#include <Servo.h>
#define TRIGGER_PIN 9 //
#define ECHO_PIN 10 //
#define SERVO_PIN 11 //
#define MAX_DISTANCE 20 //
Servo servo;
void setup() {
Serial.begin(9600);
pinMode(TRIGGER_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
servo.attach(SERVO_PIN);
}
void loop() {
long duration, distance;
digitalWrite(TRIGGER_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIGGER_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIGGER_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH);
distance = (duration / 2) / 29.1; //
if (distance <= MAX_DISTANCE) {
// If object is within range, open the lid
servo.write(90); // 90 degrees position
delay(1000); // Wait for 1 second
} else {
// If no object is detected, close the lid
servo.write(0); // 0 degrees position
}
Serial.print(“Distance: “);
Serial.print(distance);
Serial.println(” cm”);
delay(1000); // Wait for 1 second before taking the next reading
}
Explicación del código
Variables
TRIGGER_PIN: pin que envía la señal del sensor.ECHO_PIN: pin que recibe la señal del sensor.SERVO_PIN: pin que controla el servomotor.MAX_DISTANCE: distancia máxima de detección (20 cm).
Entradas
- Sensor ultrasónico HC-SR04, que mide la distancia a los objetos.
Salidas
- Servomotor, que abre y cierra la tapa de la caja.
Funcionamiento
- El sensor ultrasónico mide continuamente la distancia.
- Arduino calcula la distancia en centímetros.
- Si detecta un objeto a menos de 20 cm, el servomotor gira 90° y abre la tapa.
- La tapa permanece abierta durante 1 segundo.
- Cuando el objeto se aleja, el servomotor vuelve a 0° y la tapa se cierra.
- La distancia medida se muestra en el Monitor Serie.
Aplicaciones reales
1. Papeleras automáticas
Se utilizan en hospitales, aeropuertos y centros comerciales para mejorar la higiene.
2. Puertas automáticas
Los sensores detectan la presencia de personas y abren la puerta sin contacto.
3. Sistemas de reciclaje inteligente
Algunos contenedores modernos detectan cuándo alguien va a depositar residuos y abren la tapa automáticamente.
DEMOSTRACIÓN
Etiqueta:AIDARAC, arduino, ies monterroso, steam


