Sadržaj:

Sistem za smeće: 7 koraka
Sistem za smeće: 7 koraka

Video: Sistem za smeće: 7 koraka

Video: Sistem za smeće: 7 koraka
Video: Kanta za smeće 2024, Novembar
Anonim
Sistem smeća
Sistem smeća

Odlučili smo pokušati pronaći način da pratimo ispunjenje smeća u zajednici ili senzor u svakom smeću u susjedstvu kako bismo pokušali učiniti odlaganje smeća efikasnijim. Mislili smo da ako kamion dolazi svake dvije sedmice radi preuzimanja, šta ako smo ja ili moj komšija samo malo izbacili. Zar ne bi bilo neučinkovito poslati kamion u kojem polovina susjedstva nije poslala pune kante za smeće? Bilo bi sjajno kad bi bilo moguće vidjeti komšijinu kantu za smeće kako bi napunila, a zatim upotrijebiti njihovo smeće ako je moja bila puna, a njihova prazna i obrnuto. Odlučili smo upotrijebiti ultrazvučni senzor, HC-SR04 zajedno s malinom pi kako bismo pokušali pristupiti ovom projektu.

Supplies

Ultrazvučni senzor (HC-SR04)

Raspberry Pi (koristili smo Pi 4 model B)

Breadboard

Premosni kablovi

Par otpornika (3 x 1k ohm)

Korak 1: Povezivanje HC-SR04

Povezivanje HC-SR04
Povezivanje HC-SR04

Budući da koristimo Raspberry Pi, moramo koristiti razdjelnik napona za regulaciju napona koji ulazi u Pi -ove GPIO pinove jer oni dopuštaju samo 3,3 V. HC-SR04 koristi 5V, ali ga je prilikom spajanja na Pi potrebno spustiti na 3.3V. Priključite pinove 5V i uzemljenje, a prema vašem programu priključite pinove eha i okidača na odgovarajuće pinove. U našem programu koristili smo pin 23 i 24 za eho i okidač.

Korak 2: Mosquitto i Paho MQTT

Prije nego počnemo programirati na Pythonu kako bi ultrazvučni senzor radio s Pi, trebali bismo instalirati ove aplikacije kako bi ultrazvučni senzor komunicirao s našim softverom za programiranje Node-RED. Mosquitto je MQTT posrednik koji možete koristiti na Pi -u, dok je Paho MQTT biblioteka koja vam omogućuje kodiranje u Pythonu kako bi senzor komunicirao s MQTT posrednikom. Da biste instalirali oboje, upišite ove naredbe na svoj Pi terminal

sudo apt update

sudo apt install -y komaranti komaraca -klijenti

sudo apt-get install python3-pip

sudo pip3 install paho-mqtt

Korak 3: Python program za ultrazvučni senzor

Ovo je program koji sam koristio za čitanje ulaznih podataka sa senzora i objavljivanje u MQTT brokeru.

Korak 4: Node-RED

Čvor-CRVENI
Čvor-CRVENI
Čvor-CRVENI
Čvor-CRVENI
Čvor-CRVENI
Čvor-CRVENI
Čvor-CRVENI
Čvor-CRVENI

Neki čvorovi nisu unaprijed instalirani u programu pa ćete ih možda morati instalirati iz paleta. One koje trebate instalirati su node-red-dashboard i node-red-node-sqlite.

Tu počinjemo koristiti naš softver za programiranje i senzor. Prvi čvor koji vam je potreban je MQTT-in čvor koji nam omogućava da pomoću našeg senzora pokrećemo program odozgo za slanje podataka ovom softveru. Čvor raspona koji smo koristili okreće vrijednosti koje imamo (tj. 5 cm je puno iz programa pa ga okrećemo na 100%). Prateći čvor raspona, imamo dva funkcijska čvora, jedan za prikaz poruke na našoj nadzornoj ploči i jedan za prikaz vizualno da je smeće puno. Priloženi su programi za čvorove funkcija.

Ako je moguće, ovaj tok bi se mogao koristiti za više ultrazvučnih senzora. Za naš projekt, međutim, morali smo napraviti simulacijske podatke jer nismo bili u mogućnosti dohvatiti više senzora. Način na koji smo to učinili je vrlo sličan, ali imamo gumbe koje korisnik može kliknuti da nasumično doda 1-10 posto smeća u svako od smeća. Koristili smo 2 dugmeta, jedno za dodavanje smeća, a jedno za čišćenje. Mjerač, poruke i indikator su i dalje potpuno isti, kod za brojanje i brojanje smeća je ipak malo drugačiji.

Korak 5: Zapisivanje podataka

Zapisivanje podataka
Zapisivanje podataka
Zapisivanje podataka
Zapisivanje podataka
Zapisivanje podataka
Zapisivanje podataka

Odlučili smo da bi bilo dobro da zabilježimo koliko je punih rublja kada kamion dođe isprazniti džakove. Uz pomoć sqlite čvora možemo čitati i pisati podatke koji ih također spremaju u Pi. Morali biste instalirati ovaj čvor kao što sam već rekao.

Koraci za stvaranje i evidentiranje podataka idu na sljedeći način:

1. Kreirajte bazu podataka

2. Zapišite podatke

3. Povucite podatke za prikaz na našoj nadzornoj ploči

4. Obrišite i izbrišite podatke

Način na koji SQL funkcionira je da trebate stvoriti izvršavanje teme koje su CREATE TABLE, INSERT INTO, SELECT FROM i DELETE FROM. Koristeći čvorove vremenske oznake možemo izvršiti teme za sqlite čvor koji obavlja svaku od tih funkcija (kreiranje, umetanje, odabir i brisanje). Samo jednom moramo stvoriti bazu podataka i kad to učini, možemo u nju evidentirati podatke. Kada se baza podataka stvori, možemo evidentirati podatke i ponovo smo koristili korisnički unos za evidentiranje kada je kamion došao. Uspjeli smo tako da ne možete bilježiti podatke sve dok kamionu ne bude dozvoljeno da dođe, što čini 5 smeća pri 80% kapaciteta (smatra se punim). Također smo ponovo koristili čvor raspona za skaliranje 500 na 0-100%. Tada imamo mogućnost brisanja svih podataka iz baze podataka ako želimo. Čvor tablice korisničkog sučelja čvor je koji nam omogućuje da vidimo tablicu na lijepo oblikovan način na našoj nadzornoj ploči.

Korak 6: Raspored

Nakon što sve ovo završi, moći ćete kreirati izgled koji želite uz pomoć Node-RED-a. Na bočnoj kartici moći ćete ih smjestiti kako god želite i imate još mnogo mogućnosti prilagođavanja. U prilogu je i moj tok za cijeli moj program.

Korak 7: Zaključak

Po završetku ovog projekta postoje područja u kojima možemo vidjeti daljnji razvoj programa. Nikada nisam pronašao način za automatsko bilježenje dnevnika jer je jedini način na koji smo to mogli učiniti bio da se on zapisuje u određenom intervalu i ne bi nam trebali nikakvi ponavljajući brojevi ako je kamion za smeće došao jednom. Mislim da je to dijelom posljedica toga kako smo odlučili da se u velikoj mjeri oslanja na čvorove funkcija i programiranje jer nam je to programiranje ugodnije. Nakon istraživanja nakon što smo završili, bilo je jasno da postoje čvorovi napravljeni za sve i da bi to moglo uvelike olakšati život da smo ranije pronašli funkciju switch i rbe čvorova. Postojao je i čvor za ultrazvučne senzore koji nismo uspjeli raditi. To bi olakšalo stvari jer ne bi bilo potrebe za MQTT -om ili Python programom jer je to samo čvor sa pinovima za okidanje i odjek. Odlučili smo zaobići to tako što smo napravili Python program kao što ste vidjeli gore. Ogroman savjet za svakoga tko želi zaroniti u Node-RED je da biste trebali koristiti mnogo čvorova za otklanjanje grešaka kako biste shvatili radi li svaki tok i ispisuje ono što želite/trebate.

Preporučuje se: