Contenedor inteligente con Arduino y ThingSpeak
DATOS
Master Universitario en Profesor de Educación Secundaria Obligatoria, Bachillerato, Formación Profesional y Enseñanza de Idiomas.
Universidad de Salamanca
Asignatura: Innovación Docente en la Especialidad de Tecnología.
Curso: 2020/2021
Autor: Álvaro Lozano Murciego
CONTEXTO
ENUNCIADO
El objetivo de este proyecto es el desarrollo de un contenedor "inteligente" que presente las siguientes características:
- Se pueda abrir su tapa sin contacto y sin esfuerzo: Se accionará con un sensor de ultrasonidos cuando la distancia con un obstáculo sea menor que cierto valor.
- Monitorice y muestre el nivel de llenado y lo publique en un sitio web: el porcentaje de llenado deberá estar accesible tanto de forma online como localmente en el propio dispositivo.
MATERIALES NECESARIOS Y REQUISITOS PREVIOS
- 1 x Cubo de basura comercial: shorturl.at/AHIW5. La idea principal es modificarlo para hacerlo "inteligente" con distintos sensores. Este apartado es libre.
- 1 x Sensor de ultrasonidos HC-SR04: Tendrá la función de sensor de distancia para aproximar el porcentaje del contenedor, en este caso el sensor apuntará hacia el interior del contendor para tal fin.
- 1 x MicroServo 9g : Este actuador será el encargado de abrir la tapa del contenedor.
- 1 x M5Stick C Plus: En este caso se empleará este dispositivo como microcontrolador. Este dispositivo esta basado en el microcontrolador ESP32 (de la empresa Espressiff) y forma parte de la empresa M5Stack, empresa de hardware electrónico educativo. La diferencia fundamental con Arduino UNO (ATMega328p) consiste en que el microcontrolador ESP32 posee conexión WiFi y Bluetooth BLE, un factor que lo hace perfecto para Internet de las Cosas (IoT) a la vez de su bajo coste, unos 5 euros un ESP32. Por lo demás, es posible utilizar el Core de Arduino (el lenguaje de programación Arduino y sus bibliotecas) con este microcontrolador. Para instalar esta placa en el IDE de Arduino es sumamente sencillo, basta seguir los pasos que se indican AQUI. Una vez instalado ya podemos seleccionar la placa en el IDE de Arduino. Una vez explicado qué es el ESP32, podemos abordar el M5Stick C Plus, dispositivo con distintos periféricos (Pantalla LED, Micrófono, Acelerómetro, etc.) Esto es muy útil ya que permite realizar muchas prácticas con el mismo dispositivo, sin embargo puede quedarse algo corto en cuanto a pines disponibles, M5Stack posee más dispositivos como el M5Stack Core Basic.
- N x Cableado: Serán necesarios varios cables y jumpers para el prototipo en la protoboard y posteriormente para instalar el cableado en la papelera.
- Pegamento termofusible: Necesario para fijar toda la parte de cableado y la caja en la parte de la tapa del contenedor.
- Arduino IDE y con placa ESP32 instalada: Seguir los pasos descritos AQUI.
- Cuenta en ThingSpeak: Será necesario crear una cuenta en https://thingspeak.com/ aquí podremos crear hasta 4 "channels" o canales donde podremos publicar la información del sensor. Con crear un solo canal será necesario. Posteriormente en el código se detallarán los pasos a seguir.
- ThingSpeak Arduino: Será necesario instalar la biblioteca de ThingSpeak para Arduino en el IDE desde el gestor de bibliotecas.
- M5Stick C Plus: Instalar la biblioteca con este nombre desde el gestor de bibliotecas.
DESCRIPCIÓN DE LOS MECANISMOS DEL PROTOTIPO Y DEL FUNCIONAMIENTO
Por otro lado, el programa del microcontrolador también deberá medir la distancia desde la parte superior del contenedor de tal forma que se pueda aproximar el volumen de llenado del contenedor.
DISEÑO DEL CIRCUITO ELECTRÓNICO (TINKERCAD y Diagrams.net)
DIAGRAMA DE FLUJO DEL PROGRAMA
CÓDIGO ARDUINO, BIBLIOTECAS Y REPOSITORIO GITHUB
Bibliotecas Necesarias:
- ESP32Servo
- ThingSpeak Arduino ESP32
- Wire
- Wifi



















