Cómo Hacer un Basurero Automático con Arduino
Si estás buscando un proyecto de robótica fácil y hecho con materiales reciclables, aprender cómo hacer un basurero automático con Arduino es una excelente opción. Con una simple caja de cartón podrás construir una maqueta interactiva que demostrará cómo la tecnología puede resolver tareas cotidianas de forma inteligente.
Lo mejor de este proyecto es que no necesitas materiales costosos ni conocimientos avanzados de electrónica. Poco a poco descubrirás cómo un sensor ultrasónico y un servomotor trabajan en conjunto para abrir automáticamente la tapa del basurero cuando detectan un objeto cercano.
Además, podrás elegir la forma de programarla según tu experiencia. Si estás comenzando, puedes utilizar programación por bloques con PictoBlox. Si ya tienes conocimientos de programación, también encontrarás la versión para Arduino IDE.
Gracias a estas dos alternativas, este tutorial es ideal tanto para principiantes como para quienes desean programar directamente con código en Arduino.
Materiales
Antes de comenzar a construir nuestro basurero automático con Arduino, vamos a revisar todos los materiales que necesitaremos para este divertido proyecto de robótica y automatización.
- 1 Arduino UNO R3
- 1 Servomotor SG90
- 1 Sensor ultrasónico HC-SR04
- 4 cables jumpers macho-hembra de 20 cm
- 3 cables jumpers macho-macho de 10 cm
- Cartón
- Silicona caliente
- Cinta masking
- 1 Cúter
Ensamblaje de la Maqueta
Para construir la estructura de nuestro basurero automático con Arduino, primero debemos guiarnos por las medidas mostradas en la imagen. Estas medidas nos permitirán cortar correctamente cada una de las piezas de cartón necesarias para formar la maqueta.
Una vez listas todas las piezas, únelas con silicona caliente hasta completar la estructura del basurero. Mira el siguiente video y sigue el proceso de ensamblaje.
Nota: Todavía no coloques el acople del servomotor, ya que primero será necesario realizar la calibración en la etapa de programación.
Diagrama de conexiones
Ahora es momento de realizar las conexiones eléctricas de nuestro basurero automático con Arduino. Para ello, simplemente debemos guiarnos por el diagrama esquemático mostrado en la imagen y conectar cada componente exactamente como se indica.
Recuerda verificar cuidadosamente cada conexión antes de alimentar el circuito para asegurar que todo funcione correctamente.
Programación en Pictoblox
Ha llegado el momento de darle vida a nuestro basurero automático con Arduino. En esta primera parte utilizaremos PictoBlox para programar el proyecto mediante bloques, una excelente opción si estás comenzando a aprender programación.
Si prefieres utilizar Arduino IDE y programar con código, más abajo también encontrarás esa versión del tutorial.
Antes de comenzar, te recomendamos revisar estos tutoriales:
Código A — Calibración del Servomotor
Primero debemos cargar el código de calibración en la placa Arduino. Este código permitirá posicionar correctamente el eje del servomotor antes de instalar el acople.
Una vez cargado el programa, coloca el acople del servomotor apuntando hacia adelante, alineándolo correctamente con la posición del eje. Cuando todo esté bien calibrado, ya puedes asegurar el acople.
Código B — Basurero Automático
Después de realizar la calibración, ya podemos cargar el segundo código, el cual corresponde al funcionamiento completo del basurero automático con Arduino.
Con este programa, el sensor ultrasónico detectará objetos cercanos y el servomotor abrirá y cerrará automáticamente la tapa del basurero.
Programación con Arduino IDE
Si prefieres programar utilizando código, también puedes desarrollar este basurero automático con Arduino mediante Arduino IDE.
Antes de comenzar, te recomendamos revisar el siguiente tutorial:
Código A — Calibración del Servomotor
#include
Servo tapa;
void setup() {
tapa.attach(11); // Servomotor conectado al pin 11
tapa.write(180); // Posición de tapa cerrada
}
void loop() {
// No hace nada
}
Primero carga el código de calibración en la placa Arduino. Este programa posicionará el servomotor en el ángulo correcto para instalar el acople.
Una vez finalizada la calibración, coloca el acople apuntando hacia adelante y asegúralo para evitar que se desplace durante el funcionamiento.
Código B — Basurero Automático
#include
Servo tapa;
// Pines
const int TRIG = 2;
const int ECHO = 4;
const int SERVO = 11;
// Posiciones del servomotor
const int TAPA_CERRADA = 180;
const int TAPA_ABIERTA = 90;
// Distancia de detección
const int DISTANCIA = 10;
void setup() {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
tapa.attach(SERVO);
tapa.write(TAPA_CERRADA);
Serial.begin(9600);
}
void loop() {
float distancia = medirDistancia();
Serial.print("Distancia: ");
Serial.print(distancia);
Serial.println(" cm");
if (distancia > 0 && distancia <= DISTANCIA) {
// Abrir tapa
tapa.write(TAPA_ABIERTA);
// Mantener abierta 3 segundos
delay(3000);
// Cerrar tapa
tapa.write(TAPA_CERRADA);
delay(500);
}
delay(100);
}
float medirDistancia() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
long tiempo = pulseIn(ECHO, HIGH, 30000);
if (tiempo == 0)
return -1;
float distancia = tiempo * 0.0343 / 2;
return distancia;
}
Después de calibrar el servomotor, carga el código principal del basurero automático con Arduino.
Con este programa, el sensor ultrasónico detectará cuando un objeto se encuentre a una distancia determinada y enviará la señal al servomotor para abrir la tapa automáticamente. Transcurridos unos segundos, la tapa volverá a cerrarse de forma automática.
Mejora del funcionamiento
Como una mejora adicional, puedes modificar el código para que el basurero detecte la presencia de una persona frente al sensor. De esta forma, la tapa permanecerá abierta mientras el usuario se encuentre cerca y se cerrará automáticamente cuando se retire.
if (distancia > 0 && distancia <= DISTANCIA) {
// Abrir tapa
tapa.write(TAPA_ABIERTA);
// Mantener abierta mientras detecte a la persona
while (medirDistancia() <= DISTANCIA) {
delay(100);
}
// Cerrar tapa cuando la persona se retire
tapa.write(TAPA_CERRADA);
delay(500);
}
Pruebas Experimentales
Ahora llega la parte más divertida: probar nuestro basurero automático con Arduino. Para activar el sistema, simplemente acerca un objeto a una distancia menor de 10 centímetros del sensor ultrasónico.
Cuando el sensor detecte el objeto, la tapa del basurero se abrirá automáticamente durante aproximadamente 3 segundos. Después de ese tiempo, el servomotor cerrará nuevamente la tapa de forma automática.
Puedes experimentar realizando diferentes pruebas:
- Cambiar la distancia de detección
- Modificar el tiempo de apertura
- Probar distintos objetos
- Ajustar el movimiento del servomotor
De esta manera podrás personalizar el funcionamiento de tu proyecto y seguir aprendiendo sobre automatización con Arduino.
Lleva este proyecto al siguiente nivel
¿Ya lograste automatizar el basurero? Ahora haz que responda a comandos de voz utilizando inteligencia artificial. Descubre esta versión y muchos proyectos más en nuestro libro Aprende Inteligencia Artificial con Arduino.
Preguntas frecuentes
¿Qué otros sensores puedo utilizar en lugar del HC-SR04?
Además del sensor ultrasónico HC-SR04, puedes utilizar sensores infrarrojos, sensores de proximidad o sensores ToF. Sin embargo, el HC-SR04 es una de las mejores opciones para principiantes por su bajo costo, facilidad de programación y buena precisión.
¿Puedo construir este basurero automático con otros modelos de Arduino?
Sí. Aunque este tutorial utiliza un Arduino UNO, también puedes adaptarlo para placas como Arduino Nano o ESP32 realizando pequeños cambios en las conexiones y la programación.
¿Qué otros proyectos puedo construir después de este?
Si te gustó este proyecto, el siguiente paso es incorporar inteligencia artificial. En nuestro libro Aprende Inteligencia Artificial con Arduino descubrirás cómo controlar este mismo basurero mediante comandos de voz, permitiendo que la tapa se abra únicamente cuando reconozzca la orden que le indiques. Es una excelente forma de continuar aprendiendo robótica educativa, programación e inteligencia artificial con proyectos prácticos.
¿Este basurero automático con Arduino es adecuado para proyectos escolares?
Sí. Es un proyecto de robótica educativa ideal para escuelas, colegios y actividades STEAM. Además de ser fácil de construir, permite aprender programación, electrónica, sensores y automatización utilizando materiales reciclables.
¿Por qué mi Arduino se reinicia cuando se mueve el servomotor?
Si tu Arduino se reinicia al abrir o cerrar la tapa, lo más probable es que el servomotor esté consumiendo más corriente de la que la placa puede suministrar. Para solucionar este problema, alimenta el servomotor con una fuente de alimentación externa de 5 V y une el GND de la fuente con el GND del Arduino. De esta manera, el sistema funcionará de forma mucho más estable y evitarás reinicios inesperados.
🧠 Aprende IA con Arduino
Explora nuestro eBook con proyectos guiados paso a paso para aprender inteligencia artificial con Arduino desde cero, en casa o en el aula.