Tabla de contenido:
- Suministros
- Paso 1: Conexión de HC-SR04
- Paso 2: Mosquitto y Paho MQTT
- Paso 3: Programa Python para sensor ultrasónico
- Paso 4: Node-RED
- Paso 5: registro de datos
- Paso 6: diseño
- Paso 7: Conclusión
Video: Sistema de basura: 7 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:41
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
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
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
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:
¡Haga un clasificador de basura Pi con ML !: 8 pasos (con imágenes)
¡Haz un clasificador de basura Pi con ML !: El proyecto del clasificador de basura, conocido cariñosamente como " ¡¿A dónde va?!”, Está diseñado para hacer que tirar cosas sea más rápido y más confiable. entrenado en Lobe, un amigable para principiantes (¡sin código!)
Cubo de basura inteligente con Arduino, sensor ultrasónico y servomotor: 3 pasos
Cubo de basura inteligente con Arduino, sensor ultrasónico y servomotor: en este proyecto, le mostraré cómo hacer un cubo de basura inteligente con Arduino, donde la tapa del cubo de basura se abrirá automáticamente cuando se acerque con basura. Los otros componentes importantes que se utilizan para fabricar este cubo de basura inteligente son un sensor ultrasónico HC-04
BOTE DE BASURA AUTOMÁTICO O CUBO. PARA SALVAR EL PLANETA .: 19 pasos (con imágenes)
BOTE DE BASURA AUTOMÁTICO O CUBO. PARA SALVAR EL PLANETA: Antes de comenzar, te recomiendo que veas el primer video antes de leer esto, ya que es muy útil. Hola, mi nombre es Jacob y vivo en el Reino Unido. El reciclaje es un gran problema donde vivo, veo mucha basura en los campos y podría ser dañina. Th
Sistema inteligente de gestión de basura: 23 pasos
Smart Trash Management System: INTRODUCCIÓN Problema actual o problema relacionado con este proyecto El principal problema de nuestra sociedad actual es la acumulación de residuos sólidos. Tendrá un mayor impacto en la salud y el medio ambiente de nuestra sociedad. La detección, monito
ROCAS DE BASURA - Elimine la basura no reciclable: 8 pasos
ROCAS DE BASURA - Elimina la basura no reciclable: para hacer una piedra de basura, primero se cose un saco con una red de pesca. Está lleno de basura y enlucido con cemento. Las conchas resultantes tienen una forma única y se ven muy naturales. Las rocas basura son una estética agradable y constructiva