Índice:

Sistema de lixo: 7 etapas
Sistema de lixo: 7 etapas

Vídeo: Sistema de lixo: 7 etapas

Vídeo: Sistema de lixo: 7 etapas
Vídeo: Web Aula: Gerenciamento de resíduos de serviços de saúde 2024, Novembro
Anonim
Sistema de Lixo
Sistema de Lixo

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

Conectando HC-SR04
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

Node-RED
Node-RED
Node-RED
Node-RED
Node-RED
Node-RED
Node-RED
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

Dados de registro
Dados de registro
Dados de registro
Dados de registro
Dados de registro
Dados de registro

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: