Índice:
- Suprimentos
- Etapa 1: Conectando HC-SR04
- Etapa 2: Mosquitto e Paho MQTT
- Etapa 3: Programa Python para sensor ultrassônico
- Etapa 4: Node-RED
- Etapa 5: registro de dados
- Etapa 6: Layout
- Etapa 7: Conclusão
Vídeo: Sistema de lixo: 7 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Decidimos tentar encontrar uma maneira de rastrear o aterro de lixo da comunidade de um bairro ou um sensor em cada lixo na vizinhança para tentar tornar o triturador de lixo mais eficiente. Nós pensamos que se um caminhão viesse a cada duas semanas para uma coleta, e se eu ou meu vizinho apenas jogássemos um pouco fora. Não seria ineficiente enviar um caminhão onde metade da vizinhança não enviou latas de lixo cheias? Seria ótimo se fosse possível ver a lata de lixo do nosso vizinho encher e usar o lixo se a minha estivesse cheia e a deles vazia e vice-versa. Decidimos usar o sensor ultrassônico, HC-SR04, junto com um pi de framboesa para tentar realizar este projeto.
Suprimentos
Sensor ultrassônico (HC-SR04)
Raspberry Pi (usamos Pi 4 Modelo B)
Tábua de pão
Cabos jumper
Alguns resistores (3 x 1k ohm)
Etapa 1: Conectando HC-SR04
Como estamos usando o Raspberry Pi, precisamos usar um divisor de voltagem para regular a voltagem que vai para os pinos GPIO do Pi, pois eles permitem apenas 3,3v. O HC-SR04 usa 5 V, mas precisa ser reduzido para 3,3 V ao ser conectado ao Pi. Conecte os pinos de 5V e de aterramento respectivamente e, de acordo com o seu programa, conecte os pinos de eco e de disparo aos pinos correspondentes. Em nosso programa, usamos os pinos 23 e 24 para eco e disparo, respectivamente.
Etapa 2: Mosquitto e Paho MQTT
Antes de começarmos a programar em Python para que o sensor ultrassônico funcione com o Pi, devemos instalar esses aplicativos para que o sensor ultrassônico se comunique com nosso software de programação Node-RED. Mosquitto é um broker MQTT que pode ser usado no Pi, enquanto Paho MQTT é a biblioteca que permite codificar em Python para que o sensor se comunique com o broker MQTT. Para instalar ambos você deve digitar estes comandos no seu terminal Pi
atualização do apt sudo
sudo apt install -y mosquitto mosquitto-clients
sudo apt-get install python3-pip
sudo pip3 install paho-mqtt
Etapa 3: Programa Python para sensor ultrassônico
Este é o programa que usei para ler os dados de entrada do sensor e também publicar no broker MQTT.
Etapa 4: Node-RED
Alguns nós não vêm pré-instalados no programa, portanto, pode ser necessário instalá-lo a partir das paletas. Os que você precisa instalar são node-red-dashboard e node-red-node-sqlite.
É aqui que começamos a usar nosso software de programação e o sensor. O primeiro nó de que você precisaria é o nó MQTT-in e isso nos permite usar nosso sensor executando o programa de cima para enviar dados para este software. O nó de alcance que usamos inverte os valores que temos (ou seja, 5 cm está cheio do programa, então nós o invertemos para 100%). Seguindo o nó de alcance, temos 2 nós de função, um para exibir a mensagem para nosso painel e outro para mostrar um visual de que o lixo está cheio. O programa para os nós de função está anexado.
Se possível, esse fluxo poderia ser usado para vários sensores ultrassônicos. Para o nosso projeto, no entanto, tivemos que fazer simulação de dados, pois não fomos capazes de colocar as mãos em mais sensores. A maneira como fizemos isso é muito semelhante, mas temos botões nos quais o usuário pode clicar para adicionar aleatoriamente de 1 a 10 por cento do lixo em cada um dos lixos. Usamos 2 botões, um para adicionar lixo e outro para limpar. O medidor, as mensagens e o indicador ainda são exatamente os mesmos, mas o código para contar e manter a contagem do lixo é um pouco diferente.
Etapa 5: registro de dados
Decidimos que seria uma boa ideia registrar a quantidade de lixo quando o caminhão chega para esvaziá-lo. Com a ajuda do nó sqlite, podemos ler e escrever dados que também os salvam no Pi. Você precisaria instalar este nó como eu disse antes.
As etapas para criar e registrar dados são as seguintes:
1. Crie o banco de dados
2. Registre os dados
3. Extraia os dados para mostrar em nosso painel
4. Limpe e exclua os dados
A maneira como o SQL funciona é que você precisa criar e executar os tópicos que são CREATE TABLE, INSERT INTO, SELECT FROM e DELETE FROM. Usando nós de carimbo de data / hora, podemos executar tópicos para o nó sqlite que executa cada uma dessas funções (criar, inserir, selecionar e excluir). Só precisamos criar o banco de dados uma vez e, uma vez feito, podemos registrar os dados nele. Depois que o banco de dados é criado, podemos registrar os dados e usamos a entrada do usuário novamente para registrar quando o caminhão chegou. Fizemos isso para que você não seja capaz de registrar dados até que o caminhão seja autorizado a chegar, o que é 5 lixo a 80% da capacidade (considerado cheio). Também usamos o nó de intervalo novamente para dimensionar 500 de volta para 0-100%. Em seguida, temos a opção de excluir todos os dados do banco de dados, se desejarmos. O nó da tabela da IU é um nó que nos permite ver a tabela de uma forma bem formatada em nosso painel.
Etapa 6: Layout
Depois que tudo isso terminar, você será capaz de criar um layout de sua preferência com a ajuda do Node-RED. Na guia lateral, você poderá espaçá-los como quiser e há muito mais opções de personalização disponíveis. Também está anexado meu fluxo para todo o meu programa.
Etapa 7: Conclusão
Ao concluir este projeto, existem áreas onde podemos ver o programa crescer ainda mais. Nunca encontrei uma maneira de fazer o registro automaticamente, pois a única maneira de fazer isso era registrar em um intervalo e não precisaríamos repetir nenhum número se o caminhão de lixo viesse uma vez. Acho que isso se deve em parte a como decidimos torná-lo altamente dependente dos nós de função e da programação, pois estamos mais confortáveis com essa programação. Depois de explorar depois de terminarmos, ficou claro que existem nós feitos para tudo e isso poderia ter tornado a vida muito mais fácil se tivéssemos encontrado a função dos nós switch e rbe antes. Havia também um nó feito para sensores ultrassônicos que não funcionou. Isso tornaria as coisas mais fáceis, pois não haveria necessidade de MQTT ou do programa Python, pois é apenas um nó com os pinos de disparo e de eco. Decidimos contornar isso criando o programa Python como você viu acima. Uma grande dica para quem deseja mergulhar no Node-RED é que você deve usar muitos nós de depuração para descobrir se cada fluxo está funcionando e gerando o que você deseja / precisa.
Recomendado:
Faça um classificador de lixo de Pi com ML !: 8 etapas (com imagens)
Faça um Classificador Pi Trash com ML !: O projeto Trash Classifier, carinhosamente conhecido como " Para onde vai?! &Quot;, foi projetado para tornar o descarte de coisas mais rápido e confiável.Este projeto usa um modelo de aprendizado de máquina (ML) treinado em Lobe, amigável para iniciantes (sem código!)
O LIXO AUTOMÁTICO PODE OU BIN. PARA SALVAR O PLANETA .: 19 etapas (com fotos)
O LIXO AUTOMÁTICO PODE OU BIN. PARA SALVAR O PLANETA .: Antes de começarmos, recomendo que você assista ao primeiro vídeo antes de ler, pois é muito útil. Oi, meu nome é Jacob e moro no Reino Unido. A reciclagem é um grande problema onde eu moro, vejo muito lixo nos campos e pode ser prejudicial. º
Carregador de telefone de íon-lítio do lixo: 4 etapas
Carregador de telefone de íon-lítio do lixo: este é um banco de energia rápido e simples com coisas que a maioria das pessoas já tem em casa
Lata de lixo inteligente com um carro: 5 etapas
Lixeira inteligente com um carro: esta é uma lata de lixo inteligente com um sensor ultrassônico, um carro e um botão, portanto avança quando você o pressiona. Este projeto é inspirado em https://www.instructables.com/id/DIY-Smart-Dustbin-With-Arduino/ Aqui estão algumas partes que fiz alterações: 4 rodas
Sistema de gerenciamento de lixo inteligente: 23 etapas
Sistema Inteligente de Gerenciamento de Lixo: INTRODUÇÃO. Problema ou Questão Atual relacionado a este projeto O principal problema da nossa sociedade atual é o acúmulo de resíduos sólidos. Terá um impacto maior na saúde e no meio ambiente de nossa sociedade. A detecção, monito