Innehållsförteckning:

Sopsystem: 7 steg
Sopsystem: 7 steg

Video: Sopsystem: 7 steg

Video: Sopsystem: 7 steg
Video: Как построить ступицы вагона за 7 шагов | Автомастерская Энгельса 2024, November
Anonim
Sopsystem
Sopsystem

Vi bestämde oss för att försöka spåra antingen ett kvarters gemenskapens sopor eller en sensor i varje sopor i grannskapet för att försöka effektivisera soporna. Vi trodde att om en lastbil kommer varannan vecka för en insamling, tänk om jag eller min granne bara hamnade ut lite. Skulle det inte vara ineffektivt att skicka en lastbil där hälften av grannskapet inte skickade fulla papperskorgar? Det skulle vara bra om det var möjligt att se vår grannes sopkärl fylla och sedan använda deras sopor om mitt var fullt och deras var tomt och vice versa. Vi bestämde oss för att använda ultraljudssensorn, HC-SR04 tillsammans med en hallon pi för att försöka ta itu med detta projekt.

Tillbehör

Ultraljudssensor (HC-SR04)

Raspberry Pi (vi använde Pi 4 Model B)

Bakbord

Startkablar

Par motstånd (3 x 1k ohm)

Steg 1: Anslutning av HC-SR04

Anslutning HC-SR04
Anslutning HC-SR04

Eftersom vi använder Raspberry Pi måste vi använda en spänningsdelare för att reglera spänningen i Pi: s GPIO -stift eftersom de bara tillåter 3,3v. HC-SR04 använder 5V men måste sänkas till 3,3V när den ansluts till Pi. Anslut 5V respektive jordstiftet och fäst eko- och triggerstiftet enligt dina program till de respektfulla stiften. I vårt program använde vi stift 23 och 24 för eko respektive trigger.

Steg 2: Mosquitto och Paho MQTT

Innan vi börjar programmera på Python för att få ultraljudssensorn att fungera med Pi, bör vi installera dessa applikationer för att få ultraljudssensorn att kommunicera med vår programmeringsprogramvara Node-RED. Mosquitto är en MQTT -mäklare som du kan använda på Pi medan Paho MQTT är biblioteket som låter dig koda i Python för att få sensorn att kommunicera med MQTT -mäklaren. För att installera båda dessa skulle du skriva dessa kommandon på din Pi -terminal

sudo apt uppdatering

sudo apt installera -y mygga myggklienter

sudo apt-get install python3-pip

sudo pip3 installera paho-mqtt

Steg 3: Python -program för ultraljudssensor

Detta är programmet som jag använde för att läsa inkommande data från sensorn och även publicera för MQTT -mäklaren.

Steg 4: Nod-RÖD

Nod-RÖD
Nod-RÖD
Nod-RÖD
Nod-RÖD
Nod-RÖD
Nod-RÖD
Nod-RÖD
Nod-RÖD

Vissa noder kommer inte förinstallerade i programmet så du kan behöva installera det från paletterna. De som du behöver installera är node-red-dashboard och node-red-node-sqlite.

Det är här vi börjar använda vår programmeringsprogramvara och sensorn. Den första noden du behöver är MQTT-in-noden och det gör att vi kan använda vår sensor som kör programmet ovanifrån för att skicka data till denna programvara. Områdesnoden vi använde vänder de värden vi har (dvs. 5 cm är fullt från programmet så vi vänder det till 100%). Efter intervallnoden har vi två funktionsnoder, en för att visa meddelandet till vår instrumentpanel och en för att visa en visualisering att skräpet är fullt. Programmet för funktionsnoderna bifogas.

Om möjligt skulle detta flöde kunna användas för flera ultraljudssensorer. För vårt projekt var vi dock tvungna att göra simuleringsdata eftersom vi inte kunde få tag på fler sensorer. Sättet vi gjorde detta på är väldigt likt men vi har knappar som användaren kan klicka på för att slumpmässigt lägga till 1-10 procent av soporna i vart och ett av soporna. Vi använde 2 knappar, en för att lägga till skräp och en för att rensa. Mätaren, meddelanden och indikatorn är fortfarande exakt densamma som koden att räkna och hålla räkningen av skräpet är dock lite annorlunda.

Steg 5: Loggningsdata

Loggningsdata
Loggningsdata
Loggningsdata
Loggningsdata
Loggningsdata
Loggningsdata

Vi bestämde att det skulle vara en bra idé att logga hur fulla soporna är när lastbilen kommer för att tömma soporna. Med hjälp av sqlite -noden kan vi läsa och skriva data som också sparar den till Pi. Du skulle behöva installera den här noden som jag har sagt tidigare.

Stegen för att skapa och logga data går enligt följande:

1. Skapa databasen

2. Logga in data

3. Dra data för att visa på vår instrumentpanel

4. Rensa och ta bort data

Sättet som SQL fungerar är att du måste skapa exekvera ämnet som är SKAPA TABELL, SÄTT IN I, VÄLJ FRÅN och RADERA FRÅN. Med hjälp av tidsstämpelnoder kan vi köra ämnen till sqlite -noden som utför var och en av dessa funktioner (skapa, infoga, markera och ta bort). Vi behöver bara skapa databasen en gång och när den är klar kan vi logga data till den. När databasen är skapad kan vi logga data och vi använde användarinmatning igen för att logga när lastbilen har kommit. Vi gjorde det så att du inte kan logga data förrän lastbilen får komma, vilket är 5 sopor med 80% kapacitet (anses vara full). Vi använde också intervallnoden igen för att skala tillbaka 500 till 0-100%. Vi har då möjlighet att radera all data från databasen om vi vill. UI -tabellnoden är en nod för att vi ska kunna se tabellen på ett snyggt formaterat sätt på vår instrumentpanel.

Steg 6: Layout

När allt detta är klart kan du skapa en layout du vill ha med hjälp av Node-RED. På sidfliken kommer du att kunna placera dem hur du vill och det finns många fler anpassningsalternativ du har. Bifogat är också mitt flöde för hela mitt program.

Steg 7: Slutsats

När vi har slutfört det här projektet finns det områden där vi kan se programmet växa ytterligare. Jag hittade aldrig ett sätt att göra loggningen automatiskt eftersom det enda sättet vi kunde göra det var att logga med intervall och vi skulle inte behöva några upprepade nummer om sopbilen kom en gång. Jag tror att detta delvis beror på hur vi bestämde oss för att göra det mycket beroende av funktionsnoderna och programmeringen eftersom vi är mer bekväma med den programmeringen. Efter att ha utforskat efter att vi var klara, var det klart att det finns noder för allt och det kunde ha gjort livet mycket enklare om vi hittade funktionen för switch- och rbe -noder tidigare. Det fanns också en nod för ultraljudssensorer som vi inte fick till jobbet. Det skulle ha gjort det lättare eftersom det inte skulle behövas MQTT eller Python -programmet eftersom det bara är en nod med trigger- och ekostiften. Vi bestämde oss för att kringgå det genom att göra Python -programmet som du såg ovan. Ett stort tips för alla som vill dyka in i Node-RED är att du ska använda många felsökningsnoder för att ta reda på om varje flöde fungerar och levererar det du vill/behöver.

Rekommenderad: