Tabla de contenido:

Sistema de basura: 7 pasos
Sistema de basura: 7 pasos

Video: Sistema de basura: 7 pasos

Video: Sistema de basura: 7 pasos
Video: MÉTODO CIENTÍFICO 🔬 [ 6 PASOS ] 🔬 2024, Noviembre
Anonim
Sistema de basura
Sistema de basura

Decidimos intentar encontrar una forma de rastrear el relleno de basura de la comunidad de un vecindario o un sensor en cada basura del vecindario para tratar de hacer que los trituradores de basura sean más eficientes. Pensamos que si un camión viene cada dos semanas para una recolección, ¿qué pasaría si mi vecino o yo solo termináramos tirando un poquito? ¿No sería ineficaz enviar un camión donde la mitad del vecindario no envía botes de basura llenos? Sería genial si fuera posible ver el bote de basura de nuestro vecino llenarse y luego usar su basura si la mía estuviera llena y la de ellos vacía y viceversa. Decidimos utilizar el sensor ultrasónico, HC-SR04 junto con un raspberry pi para intentar abordar este proyecto.

Suministros

Sensor ultrasónico (HC-SR04)

Raspberry Pi (usamos Pi 4 Model B)

Tablero de circuitos

Cables de salto

Par de resistencias (3 x 1k ohmios)

Paso 1: Conexión de HC-SR04

Conexión de HC-SR04
Conexión de HC-SR04

Dado que estamos usando la Raspberry Pi, necesitamos usar un divisor de voltaje para regular el voltaje que ingresa a los pines GPIO de la Pi, ya que solo permiten 3.3v. El HC-SR04 usa 5V, pero debe reducirse a 3.3V cuando se conecta al Pi. Conecte los pines de 5V y tierra respectivamente y de acuerdo con su programa, conecte los pines de eco y disparo a los pines respetuosos. En nuestro programa usamos los pines 23 y 24 para eco y disparador respectivamente.

Paso 2: Mosquitto y Paho MQTT

Antes de comenzar a programar en Python para que el sensor ultrasónico funcione con el Pi, debemos instalar estas aplicaciones para que el sensor ultrasónico se comunique con nuestro software de programación Node-RED. Mosquitto es un bróker MQTT que puede usar en Pi, mientras que Paho MQTT es la biblioteca que le permite codificar en Python para que el sensor se comunique con el bróker MQTT. Para instalar ambos, debe escribir estos comandos en su terminal Pi

actualización de sudo apt

sudo apt install -y mosquitto mosquitto-clients

sudo apt-get install python3-pip

sudo pip3 instalar paho-mqtt

Paso 3: Programa Python para sensor ultrasónico

Este es el programa que utilicé para leer los datos entrantes del sensor y también publicarlos en el corredor de MQTT.

Paso 4: Node-RED

Nodo-RED
Nodo-RED
Nodo-RED
Nodo-RED
Nodo-RED
Nodo-RED
Nodo-RED
Nodo-RED

Algunos nodos no vienen preinstalados en el programa, por lo que es posible que deba instalarlo desde las paletas. Los que necesita instalar son node-red-dashboard y node-red-node-sqlite.

Aquí es donde comenzamos a usar nuestro software de programación y el sensor. El primer nodo que necesitaría es el nodo MQTT-in y eso nos permite usar nuestro sensor ejecutando el programa desde arriba para enviar datos a este software. El nodo de rango que usamos cambia los valores que tenemos (es decir, 5 cm está lleno del programa, así que lo cambiamos al 100%). Siguiendo el nodo de rango, tenemos 2 nodos de función, uno para mostrar el mensaje en nuestro tablero y otro para mostrar una imagen de que la basura está llena. Se adjunta el programa para los nodos de función.

Si es posible, este flujo podría usarse para múltiples sensores ultrasónicos. Sin embargo, para nuestro proyecto tuvimos que hacer datos de simulación ya que no pudimos conseguir más sensores en nuestras manos. La forma en que hicimos esto es muy similar, pero tenemos botones en los que el usuario puede hacer clic para agregar aleatoriamente del 1 al 10 por ciento de la basura en cada una de las basuras. Usamos 2 botones, uno para agregar basura y otro para limpiar. El medidor, los mensajes y el indicador siguen siendo exactamente los mismos, aunque el código para contar y llevar el recuento de la basura es un poco diferente.

Paso 5: registro de datos

Registro de datos
Registro de datos
Registro de datos
Registro de datos
Registro de datos
Registro de datos

Decidimos que sería una buena idea registrar qué tan llenas están las basuras cuando el camión viene a vaciarlas. Con la ayuda del nodo sqlite podemos leer y escribir datos que también los guardan en el Pi. Debería instalar este nodo como dije antes.

Los pasos para crear y registrar datos son los siguientes:

1. Crea la base de datos

2. Registre los datos

3. Extraiga los datos para mostrarlos en nuestro panel.

4. Limpiar y eliminar los datos

La forma en que funciona SQL es que debe crear ejecutar el tema que son CREAR TABLA, INSERTAR EN, SELECCIONAR DE y ELIMINAR DE. Usando nodos de marca de tiempo, podemos ejecutar temas en el nodo sqlite que realiza cada una de esas funciones (crear, insertar, seleccionar y eliminar). Solo necesitamos crear la base de datos una vez y, una vez hecho, podemos registrar datos en ella. Una vez que se crea la base de datos, podemos registrar datos y usamos la entrada del usuario nuevamente para registrar cuándo ha llegado el camión. Lo hicimos para que no pueda registrar datos hasta que se permita la entrada del camión, que son 5 basuras al 80% de la capacidad (considerada llena). También usamos el nodo de rango nuevamente para escalar el 500 de nuevo a un 0-100%. Luego tenemos la opción de eliminar todos los datos de la base de datos si lo deseamos. El nodo de la tabla de la interfaz de usuario es un nodo que nos permite ver la tabla con un formato agradable en nuestro panel de control.

Paso 6: diseño

Después de que todo esto haya terminado, puede crear un diseño que le gustaría con la ayuda de Node-RED. En la pestaña lateral, podrá espaciarlos como desee y hay muchas más opciones de personalización que tiene. También se adjunta mi flujo para todo mi programa.

Paso 7: Conclusión

Al completar este proyecto, hay áreas en las que podemos ver que el programa crece aún más. Nunca encontré una manera de hacer el registro automáticamente, ya que la única forma en que podíamos hacerlo era registrando a un intervalo y no necesitaríamos ningún número repetido si el camión de la basura viniera una vez. Creo que esto se debe en parte a cómo decidimos hacer que dependa en gran medida de los nodos de función y la programación, ya que nos sentimos más cómodos con esa programación. Después de explorar después de que terminamos, quedó claro que hay nodos hechos para todo y podría haber hecho la vida mucho más fácil si hubiéramos encontrado la función de los nodos switch y rbe antes. También había un nodo hecho para sensores ultrasónicos que no pudimos trabajar. Habría facilitado las cosas ya que no habría necesidad de MQTT o el programa Python, ya que es solo un nodo con los pines de disparo y eco. Decidimos solucionarlo creando el programa Python como viste anteriormente. Un gran consejo para cualquiera que quiera sumergirse en Node-RED es que debe usar muchos nodos de depuración para averiguar si cada flujo está funcionando y generando lo que desea / necesita.

Recomendado: