Sadržaj:
- Pribor
- Korak 1: Spajanje HC-SR04
- Korak 2: Mosquitto i Paho MQTT
- Korak 3: Python program za ultrazvučni senzor
- Korak 4: Node-RED
- Korak 5: Zapisivanje podataka
- Korak 6: Raspored
- Korak 7: Zaključak
Video: Sustav smeća: 7 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
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
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
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
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:
Perf ploča iz smeća: 4 koraka (sa slikama)
Perf ploča iz smeća: Ovdje je jeftina i laka perf ploča izgrađena od materijala koji gotovo svi leže. Ovo je savršeno za Arduino projekte ili samo domaći krug. Za izradu ovog projekta potrebno je oko pola sata
Hidroelektrični generator izvan smeća?!?!: 11 koraka
Hidroelektrični generator izvan smeća?!?!: Konačni proizvod trebao bi izgledati otprilike ovako, gdje bi metalni kolci ušli u zemlju na rijeci, struktura jaja bi djelovala kao ventilator, gurnuta vodom, uzrokujući vrt zakretanje šipke, okretanje zupčanika. Prijenosni omjer m
Sustav razvrstavanja boja: Arduino sustav s dva pojasa: 8 koraka
Sustav razvrstavanja boja: Sustav na bazi Arduina s dva remena: Prijevoz i/ili pakiranje proizvoda i predmeta na industrijskom području obavlja se pomoću linija izrađenih pomoću transportnih traka. Ti pojasevi pomažu premještanju predmeta s jedne točke na drugu specifičnom brzinom. Neki zadaci obrade ili identifikacije mogu biti
Zviždaljka za odlaganje smeća: 5 koraka
Zviždaljka kontrolirana prašina: U ovom projektu, senzor zvuka detektirat će intenzitet zvuka vašeg okruženja i pomaknuti servo motor (otvoriti kantu za smeće) ako je jačina zvuka iznad određenog praga
Prototipiranje robota za skupljanje smeća: 10 koraka
Prototipiranje robota za skupljanje smeća: Kao studenti koji žive u stambenim zgradama otkrili smo da su naši domovi često dom neurednim studentima koji prvi put žive sami. Ti su učenici općenito previše lijeni ili neodgovorni da podignu ili očiste svoje