Sommario:
- Forniture
- Passaggio 1: collegamento di HC-SR04
- Passaggio 2: Mosquitto e Paho MQTT
- Passaggio 3: programma Python per sensore a ultrasuoni
- Passaggio 4: Nodo-RED
- Passaggio 5: registrazione dei dati
- Passaggio 6: layout
- Passaggio 7: conclusione
Video: Sistema di spazzatura: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Abbiamo deciso di provare a tracciare un modo per tracciare il riempimento dei rifiuti della comunità di un quartiere o un sensore in ogni immondizia nel quartiere per cercare di rendere più efficiente lo smaltimento dei rifiuti. Abbiamo pensato che se un camion arriva ogni due settimane per una raccolta, e se io o il mio vicino finissimo per buttare via solo un po'. Non sarebbe inefficiente inviare un camion dove metà del vicinato non ha inviato bidoni della spazzatura pieni? Sarebbe fantastico se fosse possibile vedere il bidone della spazzatura dei nostri vicini riempirsi e poi usare la loro spazzatura se la mia era piena e la loro era vuota e viceversa. Abbiamo deciso di utilizzare il sensore a ultrasuoni, HC-SR04 insieme a un Raspberry Pi per provare ad affrontare questo progetto.
Forniture
Sensore a ultrasuoni (HC-SR04)
Raspberry Pi (abbiamo usato Pi 4 Modello B)
tagliere
Cavi jumper
Coppia di resistori (3 x 1k ohm)
Passaggio 1: collegamento di HC-SR04
Poiché stiamo utilizzando il Raspberry Pi, dobbiamo utilizzare un partitore di tensione per regolare la tensione che entra nei pin GPIO del Pi poiché consentono solo 3,3 V. L'HC-SR04 utilizza 5 V ma deve essere ridotto a 3,3 V quando lo si collega al Pi. Collegare rispettivamente i pin 5V e di massa e, in base al programma, collegare i pin di eco e trigger ai rispettivi pin. Nel nostro programma abbiamo usato i pin 23 e 24 rispettivamente per l'eco e il trigger.
Passaggio 2: Mosquitto e Paho MQTT
Prima di iniziare a programmare su Python per far funzionare il sensore a ultrasuoni con il Pi, dovremmo installare queste applicazioni per far comunicare il sensore a ultrasuoni con il nostro software di programmazione Node-RED. Mosquitto è un broker MQTT che puoi usare sul Pi mentre Paho MQTT è la libreria che ti permette di codificare in Python per far comunicare il sensore con il broker MQTT. Per installarli entrambi dovresti digitare questi comandi sul tuo terminale Pi
sudo apt update
sudo apt install -y mosquitto mosquitto-clients
sudo apt-get install python3-pip
sudo pip3 install paho-mqtt
Passaggio 3: programma Python per sensore a ultrasuoni
Questo è il programma che ho usato per leggere i dati in arrivo dal sensore e anche per pubblicarli sul broker MQTT.
Passaggio 4: Nodo-RED
Alcuni nodi non sono preinstallati nel programma, quindi potrebbe essere necessario installarlo dalle tavolozze. Quelli che devi installare sono node-red-dashboard e node-red-node-sqlite.
È qui che iniziamo a utilizzare il nostro software di programmazione e il sensore. Il primo nodo di cui avresti bisogno è il nodo MQTT-in e questo ci consente di utilizzare il nostro sensore che esegue il programma dall'alto per inviare dati a questo software. Il nodo dell'intervallo che abbiamo usato capovolge i valori che abbiamo (cioè 5 cm è pieno dal programma, quindi lo capovolgiamo al 100%). Seguendo il nodo dell'intervallo abbiamo 2 nodi funzione, uno per visualizzare il messaggio sul nostro dashboard e uno per mostrare visivamente che la spazzatura è piena. Il programma per i nodi funzione è allegato.
Se possibile, questo flusso potrebbe essere utilizzato per più sensori a ultrasuoni. Per il nostro progetto, tuttavia, abbiamo dovuto eseguire dati di simulazione poiché non siamo stati in grado di mettere le mani su più sensori. Il modo in cui lo abbiamo fatto è molto simile, ma abbiamo pulsanti su cui l'utente può fare clic per aggiungere casualmente l'1-10 percento della spazzatura in ciascuna delle immondizie. Abbiamo usato 2 pulsanti, uno per aggiungere spazzatura e uno per cancellare. L'indicatore, i messaggi e l'indicatore sono ancora esattamente gli stessi, ma il codice per contare e tenere il conto della spazzatura è leggermente diverso.
Passaggio 5: registrazione dei dati
Abbiamo deciso che sarebbe stata una buona idea registrare quanto sono pieni i rifiuti quando il camion arriva a svuotare i rifiuti. Con l'aiuto del nodo sqlite siamo in grado di leggere e scrivere dati che li salvano anche sul Pi. Avresti bisogno di installare questo nodo come ho detto prima.
I passaggi per la creazione e la registrazione dei dati sono i seguenti:
1. Crea il database
2. Registra i dati
3. Estrai i dati da mostrare sulla nostra dashboard
4. Cancella ed elimina i dati
Il modo in cui funziona SQL è che è necessario creare eseguire l'argomento che sono CREATE TABLE, INSERT INTO, SELECT FROM e DELETE FROM. Utilizzando i nodi timestamp possiamo eseguire argomenti sul nodo sqlite che svolge ciascuna di queste funzioni (creazione, inserimento, selezione ed eliminazione). Abbiamo solo bisogno di creare il database una volta e una volta terminato possiamo registrarvi i dati. Una volta creato il database, possiamo registrare i dati e abbiamo utilizzato nuovamente l'input dell'utente per registrare l'arrivo del camion. Abbiamo fatto in modo che tu non sia in grado di registrare i dati fino a quando il camion non è autorizzato a venire, ovvero 5 rifiuti all'80% della capacità (considerato pieno). Abbiamo anche usato di nuovo il nodo dell'intervallo per riportare il 500 a 0-100%. Abbiamo quindi la possibilità di eliminare tutti i dati dal database, se lo desideriamo. Il nodo della tabella dell'interfaccia utente è un nodo che ci consente di vedere la tabella in un modo ben formattato sulla nostra dashboard.
Passaggio 6: layout
Dopo che tutto questo è finito, puoi creare un layout che desideri con l'aiuto di Node-RED. Nella scheda laterale sarai in grado di distanziarli come preferisci e ci sono molte più opzioni di personalizzazione che hai. Inoltre è allegato il mio flusso per l'intero programma.
Passaggio 7: conclusione
Dopo aver completato questo progetto, ci sono aree in cui possiamo vedere il programma crescere ulteriormente. Non ho mai trovato un modo per effettuare la registrazione automaticamente poiché l'unico modo in cui potevamo farlo era registrarlo a intervalli e non avremmo avuto bisogno di numeri ripetuti se il camion della spazzatura fosse arrivato una volta. Penso che ciò sia in parte dovuto al modo in cui abbiamo deciso di renderlo fortemente dipendente dai nodi funzione e dalla programmazione poiché siamo più a nostro agio con tale programmazione. Dopo aver esplorato dopo aver finito, era chiaro che ci sono nodi fatti per tutto e avrebbe potuto rendere la vita molto più semplice se avessimo trovato prima la funzione dei nodi switch e rbe. C'era anche un nodo realizzato per i sensori a ultrasuoni che non siamo riusciti a far funzionare. Avrebbe reso le cose più semplici in quanto non ci sarebbe stato bisogno di MQTT o del programma Python in quanto è solo un nodo con i pin trigger ed echo. Abbiamo deciso di aggirare il problema realizzando il programma Python come hai visto sopra. Un grande consiglio per chiunque voglia immergersi in Node-RED è che dovresti usare molti nodi di debug per capire se ogni flusso funziona e produce ciò che vuoi / hai bisogno.
Consigliato:
La spazzatura non viene mai buttata via.: 5 passaggi
La spazzatura non viene mai gettata via.: Il nostro team ha avviato un progetto chiamato "La spazzatura non viene mai gettata via." con il problema dei rifiuti di KARTS. Le varie cause della scuola creano grandi quantità di immondizia e sono offese dalla discarica avventata. Per risolvere questo problema, all'inizio
Costruisci un dinosauro motorizzato usando la spazzatura di plastica, in 55 minuti o meno!: 11 passaggi (con immagini)
Costruisci un dinosauro motorizzato usando la spazzatura di plastica, in 55 minuti o meno!: Ciao. Mi chiamo Mario e amo costruire cose usando la spazzatura. Una settimana fa, sono stato invitato a partecipare a uno spettacolo mattutino del canale televisivo nazionale dell'Azerbaigian, per parlare del "Waste to Art" mostra. L'unica condizione? ho avuto t
Bidoni della spazzatura Wifi e Google Calendar: 4 passaggi
Wifi Wheelie Bins & Google Calendar: questo progetto è stato ispirato dai video di Andreas Spiess (You Tube).#185 ESP8266 - Promemoria di Google Calendar: come rendere felice tua moglie/fidanzata (Arduino) ½, una versione aggiornata. Segui questi link: Andreas Spiess & Andreas Spiess Ver 2
"The Unsettling Machine": una rapida scultura di arte spazzatura per principianti: 8 passaggi (con immagini)
"The Unsetling Machine": una scultura rapida per principianti: (Se ti piace questo istruttivo, votalo nel concorso "Trash to Treasure". Ma se stai cercando un progetto meno inquietante, controlla il mio ultimo uno: Come creare un Lambada Walking Robot! Grazie!) Supponiamo che tu abbia una scuola
Riparare un giradischi spazzatura di 65 anni: 10 passaggi
Riparare un giradischi vecchio di 65 anni: Mi piace aggiustare le cose vecchie. Guido una bicicletta del 1929 che ho riportato in vita dalla morte. Il mio tosaerba è degli anni '20 ed era ugualmente morto. Ho un grammofono del 1929 che ho restaurato da quando era quasi morto. Ho deciso che era ora di poter riprodurre il mio vinile su un altro