Sadržaj:

Sustav smeća: 7 koraka
Sustav smeća: 7 koraka

Video: Sustav smeća: 7 koraka

Video: Sustav smeća: 7 koraka
Video: 7 железных причин есть чернослив каждый день (вот это эффект) 2024, Studeni
Anonim
Sustav smeća
Sustav smeća

Odlučili smo pokušati pronaći način praćenja ispunjenosti smeća u zajednici ili senzora u svakom smeću u susjedstvu kako bismo pokušali učiniti odlaganje smeća učinkovitijim. Mislili smo da ako kamion dolazi svaka dva tjedna po zbirku, što ako smo ja ili moj susjed samo malo izbacili. Zar ne bi bilo neučinkovito poslati kamion gdje polovica susjedstva nije poslala pune kante za smeće? Bilo bi super kad bi se moglo vidjeti kako se komšijina kanta za smeće napuni, a zatim upotrijebiti njihovo smeće ako je moj pun, a njihov prazan i obrnuto. Odlučili smo upotrijebiti ultrazvučni senzor, HC-SR04 zajedno s malinom pi kako bismo pokušali pristupiti ovom projektu.

Pribor

Ultrazvučni senzor (HC-SR04)

Raspberry Pi (koristili smo Pi 4 model B)

Oglasna ploča

Kratki kabeli

Par otpornika (3 x 1 k ohm)

Korak 1: Spajanje HC-SR04

Priključivanje HC-SR04
Priključivanje 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.3V. HC-SR04 koristi 5V, ali ga je prilikom spajanja na Pi potrebno spustiti na 3.3V. Spojite 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 odjek 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 te 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, dok je Paho MQTT knjižnica koja vam omogućuje kodiranje u Pythonu kako bi senzor komunicirao s posrednikom MQTT. Da biste instalirali oboje, unijeli biste ove naredbe na svoj Pi terminal

sudo apt ažuriranje

sudo apt install -y mosquitto mosquitto -clients

sudo apt-get install python3-pip

sudo pip3 instalirati paho-mqtt

Korak 3: Python program za ultrazvučni senzor

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

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 s 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 će vam trebati je MQTT-in Čvor koji nam omogućuje da pomoću našeg senzora pokrenemo program odozgo za slanje podataka u ovaj softver. Čvor raspona koji smo koristili okreće vrijednosti koje imamo (tj. 5 cm je puno iz programa pa ga okrećemo na 100%). Slijedeći čvor raspona imamo 2 čvora funkcija, 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 bi se tok 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 vrlo je sličan, ali imamo gumbe koje korisnik može kliknuti da nasumično doda 1-10 posto smeća u svako od odlagališta. Koristili smo 2 gumba, jedan za dodavanje smeća, a jedan 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 zabilježiti koliko su puni rublja kad kamion dođe isprazniti rublja. 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 bilježenje podataka idu na sljedeći način:

1. Izradite bazu podataka

2. Zabiljež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 radi je da trebate stvoriti izvršavanje tema koje su CREATE TABLE, INSERT INTO, SELECT FROM i DELETE FROM. Koristeći čvorove vremenske oznake možemo izvoditi teme sqlite čvoru koji obavlja svaku od tih funkcija (stvaranje, umetanje, odabir i brisanje). Samo jednom moramo stvoriti bazu podataka i kad to učini, možemo u nju zapisati podatke. Nakon što je baza podataka stvorena, možemo bilježiti podatke i ponovno smo koristili korisnički unos za bilježenje kada je kamion došao. Uspjeli smo tako da ne možete bilježiti podatke sve dok kamionu ne bude dopušteno doći, što čini 5 smeća pri 80% kapaciteta (smatra se punim). Također smo ponovno 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 stvoriti izgled koji želite pomoću Node-RED-a. Na bočnoj kartici moći ćete ih razmaknuti kako god želite i imate još mnogo mogućnosti prilagodbe. U prilogu je i moj tok za cijeli moj program.

Korak 7: Zaključak

Nakon dovršetka 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 to jedini način na koji bismo to mogli učiniti bilo to da se zapisuje u određenom intervalu i ne bi nam trebali nikakvi ponavljajući brojevi ako je kamion za smeće jednom došao. Mislim da je to djelomično posljedica načina na koji smo odlučili učiniti ga jako ovisnim o funkcijskim čvorovima i programiranju jer nam je to programiranje ugodnije. Nakon što smo istražili 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 prekidača 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 programom Python jer je to samo čvor s pinovima okidača i odjeka. 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 pogrešaka kako biste shvatili radi li svaki tok i ispisuje li ono što želite/trebate.

Preporučeni: