Monitorización Inteligente de Residuos con Arduino 101: Integración BLE y WiFi
Componentes y suministros
| Arduino 101 | × | 1 |
| Seeed Base Shield V2 | × | 1 |
| Arduino WiFi Shield 101 | × | 1 |
| Arduino MKR1000 (alternativa al WiFi Shield) | × | 1 |
| Sensor ultrasónico HC-SR04 | × | 1 |
| Batería 9V | × | 1 |
| Conector batería 9V | × | 1 |
| Cables jumper (genéricos) | × | 1 |
| Interruptor deslizante | × | 1 |
| LED (genérico) | × | 3 |
Herramientas necesarias
- Pistola de silicona caliente
- Taladro manual Bosch
Aplicaciones y servicios online
- Arduino IDE
- Blynk (app para visualizar el proyecto en tus dispositivos)
Sobre el proyecto
Introducción
Sistema Inteligente de Monitorización de Residuos usando Internet de las Cosas (IoT)
Vivimos en una era donde tareas y sistemas se fusionan con el poder del IoT para tener sistemas más eficientes y ejecutar trabajos rápidamente. Con todo el poder en nuestras manos, esto es lo que hemos creado.
El Internet de las Cosas (IoT) podrá incorporar transparente y fluidamente un gran número de sistemas diferentes, proporcionando datos para millones de personas. Construir una arquitectura general para IoT es muy complejo, principalmente por la enorme variedad de dispositivos, tecnologías de capa de enlace y servicios involucrados.
Una de las principales preocupaciones medioambientales ha sido la gestión de residuos sólidos, que impacta la salud y el entorno de nuestra sociedad. La detección, monitorización y gestión de residuos es uno de los problemas primarios de la era actual. La forma tradicional de monitorizar manualmente los residuos en contenedores es un proceso engorroso que consume más esfuerzo humano, tiempo y coste, lo cual puede evitarse fácilmente con nuestras tecnologías actuales.
Esta es nuestra solución: un método en el que la gestión de residuos se automatiza. Nuestro sistema IoT de monitorización de basura, una forma innovadora que ayudará a mantener las ciudades limpias y saludables.
Sigue leyendo para ver cómo podrías impactar ayudando a limpiar tu comunidad, hogar o alrededores, dándonos un paso más cerca de una mejor forma de vivir :)
Visión General del Sistema de Monitorización
La idea surgió al observar que el camión de basura recorría el pueblo dos veces al día. Aunque era exhaustivo, era muy ineficiente. Por ejemplo, la calle A es muy transitada y la basura se llena rápido, mientras que en la calle B, incluso tras dos días, el contenedor no está ni a la mitad. Esto es algo que realmente ocurre y nos llevó al momento «¡Eureka!».
Nuestro sistema da un indicador en tiempo real del nivel de basura en un contenedor en cualquier momento. Con esos datos podemos optimizar rutas de recogida y reducir consumo de combustible. Permite a los recolectores planificar su recogida diaria/semanal.
Criterios
El modelo básico funciona así:
Primero debes introducir la altura del contenedor. Esto nos ayuda a generar el porcentaje de basura. Tenemos dos criterios que deben cumplirse para indicar que un contenedor necesita vaciarse:
- Cantidad de basura: Si tu contenedor está a la mitad no necesitas vaciarlo. Nuestro umbral máximo permitido es el 75% del contenedor (puedes alterarlo).
- Tiempo: Si un contenedor se llena al 20% y luego no cambia durante una semana, entra en juego el tiempo. Con el tiempo, incluso poca cantidad empieza a pudrirse generando mal olor. Para evitarlo, nuestro nivel de tolerancia es 2 días: si un contenedor está bajo el 75% pero lleva 2 días así, también necesitará vaciarse.
La Electrónica
Con estos criterios en mente, entendamos la parte técnica:
- Un sensor ultrasónico (sensor de distancia) se coloca en el interior de la tapa, mirando hacia los residuos sólidos. A medida que aumenta la basura, la distancia entre el sensor y la basura disminuye. Estos datos en vivo se envían a nuestro microcontrolador.
- Nuestro microcontrolador, el Arduino 101, procesa los datos y, con ayuda del WiFi, los envía a una app.
- La app representa visualmente la cantidad de basura con una pequeña animación.
Este proceso indicará todos los contenedores que requieren atención, guiando al usuario a tomar la ruta más efectiva.
Sobre Nosotros
Publicamos todos nuestros proyectos en Instructables, donde puedes explorar, documentar y compartir tus creaciones DIY. También puedes suscribirte a nuestro Canal de YouTube. Publicamos muchas fotos en progreso y conversamos en Instagram.
Si te gusta lo que hacemos y quieres apoyarnos, hazlo en Patreon.
Para consultas laborales: technovationrobot@gmail.com
Materiales
Hardware:
- Grover Base Shield v2
- Arduino 101
- Batería 9v (Gearbest) para alimentar la placa Arduino
- Contenedor plástico (Gearbest) - usé uno viejo donde cupieran todos los componentes. La caja es importante para acceder fácilmente y es impermeable.
- Sensor ultrasónico (Gearbest) - mide distancia, se fija a la tapa indicando cantidad de basura. Componente clave.
- Cables jumper (Gearbest)
- Arduino MKR1000 (Amazon) - uno de los últimos microcontroladores Arduino, simplifica conexión a Internet con librerías preconstruidas.
- Pintura spray blanca - convierte tu caja normal en un producto más profesional
Herramientas:
- Taladro eléctrico (Gearbest)
- Pistola de silicona caliente (Gearbest)
Software:
- Arduino IDE
- Blynk - app Android que permite comunicación con microcontroladores compatibles WiFi.
Nota rápida sobre Gearbest: encuentras todos los productos especialmente para aficionados. Baratos y buena calidad, ¡muy recomendados!
Construir el Modelo
¡Hora de hacer nuestro propio sistema para testar el concepto en casa a pequeña escala! Busca un contenedor plástico pequeño viejo y asegúrate de que quepan los componentes.
Quita la tapa y marca los dos «ojos» del sensor ultrasónico. Será el lado que mira al fondo del contenedor.
Usa tu broca más grande (la mía era 10mm) y taladra los agujeros. Si quedan pequeños, lima ligeramente hasta que el sensor encaje perfectamente, completamente a ras.
Pintura Spray
Elegimos blanco pero puedes elegir el color que prefieras. Aplica dos capas dentro y fuera, sin olvidar la tapa. Nota: Los humos son tóxicos, hazlo fuera.
Fijar el Sensor Ultrasónico
Introduce el sensor y aplica puntos de silicona caliente para fijarlo. Luego haz una ranura para el interruptor y encaja todo en su sitio.
El Circuito
Simplemente monta el Base Shield sobre el Arduino 101 y conecta el sensor ultrasónico al pin D6.
Caja
Encaja cuidadosamente todos los componentes y cierra la caja.
Usé el cubo de basura de casa para testar mi modelo.
Corta y pega dos trozos de cinta doble cara y fija el sistema a la tapa del cubo, asegurando que el sensor mire hacia abajo.
Introducción a la App Blynk
Para conectar a Internet usamos una plataforma preconstruida llamada Blynk, descargable de Google Play Store. Hay innumerables ejemplos de cómo usar la app con Arduino en el IDE: Archivo > Ejemplos > Blynk.
Enlace app Blynk: https://play.google.com/store/apps/details?id=cc.
Configurar la App y el Código
Para programar el Arduino 101, primero instala los drivers necesarios. Abre Arduino IDE, ve a Herramientas > Placa y mira si Arduino o Genuino 101 están en la lista. Si están, salta al siguiente paso; si no, sigue:
Para descargar drivers para Arduino MKR1000, abre Arduino IDE > Herramientas > Placa > Gestor de Placas.
Busca «intel curie boards», selecciona tu versión de Arduino IDE y descarga la que aparezca (verifica con la imagen).
Una vez instalados los drivers, descarga las librerías necesarias: WiFi101, Blynk y Ultrasonic, todas en el Gestor de Librerías integrado (Sketch > Incluir Librería > Gestionar Librerías).
Busca WiFi101, Blynk y Ultrasonic, elige tu versión de IDE e instala (verifica con las imágenes).
Pruebas
Con la app Blynk hicimos una representación con 3 LEDs del nivel de basura. Selecciona Arduino 101 como microcontrolador y como «tipo de conexión» BLE, NO bluetooth.
Recibirás un email con el «auth token» que debes poner en el código (mencionado en el código).
¡Resultados!
Aquí tienes los resultados del concepto funcionando finalmente. ¡Hurra!
Capturas de mi teléfono mientras llenaba el cubo. En Blynk alineamos tres LEDs verticalmente: Verde (0-25%), Naranja (25-65%) y Rojo (65-100%).
Tras poner 10% de basura y cerrar, se enciende el LED verde, los otros dos apagados.
50% lleno...
...y finalmente ponemos toda la basura posible, ¡se encienden los tres LEDs y una sonrisa! ¡Felicidades, el modelo funciona :)
Paso 14: GPS
IMPORTANTE
No hemos implementado realmente este paso porque habríamos necesitado al menos 20 modelos para instalar en contenedores del pueblo. Sería demasiado caro, así que proponemos la idea, que simulada aleatoriamente dio la ruta más corta, ¡resultados correctos!
Ahora la parte que consume tiempo. Planeamos fusionar nuestro proyecto con Google Maps:
- Recorre manualmente el pueblo tomando coordenadas GPS de cada contenedor. Guárdalas en Google Maps.
- En nuestro modelo, en lugar de un LED necesitarás uno por contenedor. Digamos 20.
Cuando el conductor empieza su día, abre Blynk y ve todos los contenedores que requieren atención. Selecciona cada uno (cada uno con su número) y genera la ruta más corta y eficiente.
Oportunidades a Gran Escala
Tras hacer uno nos dimos cuenta de lo ampliamente que este sistema podría usarse para convertir esta engorrosa tarea en una realmente eficiente. El impacto en una ciudad o país a gran escala es entendible, y esperamos que en el futuro se implemente. Pero además, cada individuo puede beneficiarse: una comunidad, un complejo de apartamentos o incluso una casa pueden usar esta potente herramienta impulsada por IoT para simplificar su vida.
Paso 16: Complicaciones
Hay algunas complicaciones que pensamos ocurrirían a gran escala:
- Asegurar que los sensores ultrasónicos estén correctamente colocados. Si la pila de basura crece en el centro, el sensor podría dar datos erróneos.
- Podrían tirarse líquidos/agua al contenedor. El diseño necesita electrónica impermeable y software embebido.
- El MAYOR problema: disponibilidad de redes 3G/4G. Nuestro modelo casero evitó esto usando WiFi. Es el único problema principal, aunque personalmente creo que en un par de años cada rincón del mundo tendrá conexión a Internet.
Conclusión
Este proyecto es prometedor, pero necesita pequeños ajustes como se mencionó. ¡Nos encantaría ver vuestras versiones, sugerencias o ideas, dejadlas en comentarios!
Esperamos que disfrutéis este proyecto, sigamos trabajando en ideas para impactar nuestras vidas y entorno. Como siempre, like, share y suscribíos para no perderos los próximos.
¡FELIZ CREACIÓN :)
Proyectos Populares
Si te gusta lo que hacemos, echa un vistazo a algunas de nuestras subidas populares.
Debes ver el video para apreciarlo del todo: MIRA el video AQUÍ.
Cubex la caja fuerte con sensores. Míralo AQUÍ
Y muchos más Aquí en Technovation ¡síguenos!
Código
App IoT Monitorización Basura Arduino
Esta app muestra el nivel de basura en tiempo real con tres LEDs verticales en Blynk. Verde: 0-25%, Naranja: 25-60%, Rojo: 60-100%.
#define BLYNK_PRINT Serial
#include <BlynkSimpleCurieBLE.h>
#include <CurieBLE.h>
#include <Ultrasonic.h>
// Obtén Auth Token en la app Blynk (ajustes del proyecto, icono tuerca)
char auth[] = "8b7229b2c3ec4b999eca6781903a208d";
BLEPeripheral blePeripheral;
WidgetLED green(V1);
WidgetLED orange(V2);
WidgetLED red(V3);
Ultrasonic ultrasonic(7);
int distance = 0;
int thresh[3] = {20, 12, 4};
void setup() {
Serial.begin(9600);
delay(1000);
blePeripheral.setLocalName("garbage");
blePeripheral.setDeviceName("garbage");
blePeripheral.setAppearance(384);
Blynk.begin(blePeripheral, auth);
blePeripheral.begin();
Serial.println("Esperando conexiones...");
}
void loop() {
distance = ultrasonic.distanceRead();
Serial.print(distance);
Blynk.run();
if (distance <= thresh[0] && distance >= thresh[1] && distance >= thresh[2]) {
green.on();
Serial.println(1);
} else if (distance <= thresh[0] && distance <= thresh[1] && distance >= thresh[2]) {
green.on();
orange.on();
Serial.println(2);
} else if (distance <= thresh[0] && distance <= thresh[1] && distance <= thresh[2]) {
green.on();
orange.on();
red.on();
Serial.println(3);
} else {
green.off();
orange.off();
red.off();
Serial.println(0);
}
delay(100);
}
Esquemáticos
Conecta Base Shield v2 al Arduino 101, luego sensor ultrasónico al slot/pin D6. Diagrama en Fritzing para quienes no usen el Shield.
Proceso de manufactura
- Monitorización meteorológica remota con Raspberry Pi 3 y PubNub
- Sistema de Asistencia RFID Fiable con Arduino y Python
- Sistema inteligente de monitorización de calidad del aire interior y residuos
- Robot de Detección Humana con Arduino Uno: Integración de Sensores Paso a Paso
- Persianas Inteligentes: Control Automático de Luz con Arduino y Energía Solar
- SERENA: Sistema de Alarma Personalizado Arduino Mega 2560 con Pantalla TFT LCD Táctil
- Construye un tarro inteligente IoT con ESP8266, Arduino y sensor ultrasónico: Monitorización en tiempo real
- Cerradura Inteligente WiFi con Arduino y ESP8266: Desbloqueo desde el Móvil
- Monitoreo de Latidos Cardíacos sin Contacto vía Altavoces Inteligentes: Un Sistema Revolucionario
- 7 Beneficios Clave de la Solución Inteligente de Monitoreo de Nivel de Biz4Intellia
- Dominando las Sentencias Using en C#: Importaciones, Alias y Directivas Estáticas