Encuentra tu pasión a solo 4,17 US$/mes | Aprende Robótica, IA e IOT.

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.

Medidas de Corte para Maqueta del Basurero Automático con Arduino

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.h>

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.h>

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.

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.

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.

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.

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.

Ingrese a su cuenta