- Potrebne komponente:
- HC-SR04 ultrazvučni senzor:
- ESP8266 Wi-Fi modul:
- Kružni dijagram i objašnjenje:
- Objašnjenje koda:
- "; if (distance <5) {webpage + =" Koš za smeće je pun ";} else {webpage + =" Koš za smeće je prazan ";} web stranica + ="
- Testiranje i rezultati projekta:
U ovom "uradi sam" napravit ćemo IOT sustav za praćenje kontejnera / smeća koji će nam reći da li je kanta za smeće prazna ili puna putem web poslužitelja i možete li saznati status svoje "kante za smeće" ili "kontejnera za smeće" bilo gdje u svijetu putem Interneta. Bit će vrlo koristan i može se instalirati u kante za smeće na javnim mjestima kao i kod kuće.
U ovom projektu IOT ultrazvučni senzor koristi se za otkrivanje je li kanta za smeće napunjena smećem ili nije. Ovdje je ultrazvučni senzor instaliran na vrhu kante za smeće i mjeri udaljenost smeća od vrha kante za smeće, a mi možemo postaviti vrijednost praga prema veličini kante za smeće. Ako je udaljenost manja od ove granične vrijednosti, znači da je kanta za smeće puna smeća i na web stranici ćemo ispisati poruku "Košarica je puna", a ako će udaljenost biti veća od ove granične vrijednosti, ispisat ćemo poruka "Košarica je prazna". Ovdje smo postavili vrijednost praga od 5 cm u programskom kodu. Upotrijebit ćemo Wi-Fi modul ESP8266za povezivanje Arduina s web poslužiteljem. Ovdje smo koristili lokalni web poslužitelj za demonstraciju rada ovog sustava za nadzor smeća.
Potrebne komponente:
- Arduino Uno (možete koristiti bilo koji drugi)
- ESP8266 Wi-Fi modul
- HC-SR04 Ultrazvučni senzor
- 1K otpornici
- Breadboard
- Spajanje žica
HC-SR04 ultrazvučni senzor:
Ultrazvučni senzor koristi se za mjerenje udaljenosti velikom preciznošću i stabilnim očitanjem. Može mjeriti udaljenost od 2 cm do 400 cm ili od 1 inča do 13 stopa. Emitira ultrazvučni val na frekvenciji od 40KHz u zraku i ako će objekt naići na njegov put, odbit će se natrag do senzora. Koristeći vrijeme potrebno za udaranje predmeta i povratak, možete izračunati udaljenost.

Ultrazvučni senzor ima četiri pina. Dvije su VCC i GND koje će biti povezane na 5 V i GND Arduina, dok su druge dvije pinove Trig i Echo pinove koje će biti povezane na bilo koje digitalne pinove Arduina. Trig pin će poslati signal, a Echo pin će se koristiti za primanje signala. Da biste generirali ultrazvučni signal, morat ćete postaviti Trig pin na oko 10us, što će poslati zvučni rafal od 8 ciklusa brzinom zvuka i nakon udara u objekt, primit će ga Echo pin.
Dalje provjerite u nastavku projekte za pravilno razumijevanje rada ultrazvučnog senzora i za mjerenje udaljenosti bilo kojeg predmeta koji ga koristi:
- Mjerenje udaljenosti temeljeno na Arduinu pomoću ultrazvučnog senzora
- Mjerenje udaljenosti pomoću HC-SR04 i AVR mikrokontrolera
ESP8266 Wi-Fi modul:
ESP8266 je Wi-Fi modul koji će vašim projektima omogućiti pristup Wi-Fi-u ili Internetu. To je vrlo jeftin uređaj, ali učinit će vaše projekte vrlo moćnima. Može komunicirati s bilo kojim mikrokontrolerom i učiniti projekte bežičnim. Nalazi se na popisu vodećih uređaja na IOT platformi. Radi na 3.3V i ako mu date 5V, dobit će štetu.

ESP8266 ima 8 pinova; VCC i CH-PD bit će povezani na 3,3 V kako bi se omogućio wifi. TX i RX pinovi bit će odgovorni za komunikaciju ESP8266 s Arduinom. RX pin radi na 3.3V, pa ćete za njega morati napraviti razdjelnik napona kao što smo to napravili u našem projektu.
Kružni dijagram i objašnjenje:
Prije svega spojit ćemo ESP8266 s Arduinom. ESP8266 radi na 3.3V i ako mu date 5V od Arduina, tada neće raditi ispravno i može naštetiti. Spojite VCC i CH_PD na 3.3V pin Arduina. RX pin ESP8266 radi na 3.3V i neće komunicirati s Arduinom kad ga povežemo izravno s Arduinom. Dakle, morat ćemo za to napraviti razdjelnik napona. Tri serijski povezana 1k otpornika odradit će posao umjesto nas. Spojite RX na pin 11 Arduina kroz otpore kao što je prikazano na donjoj slici, a također i TX Arduina na pin 10 Arduina.
Sada je vrijeme za povezivanje ultrazvučnog senzora HC-SR04 s Arduinom. Veze ultrazvučnog senzora s Arduinom vrlo su jednostavne. Spojite VCC i masu ultrazvučnog senzora na 5 V i masu Arduina. Zatim spojite TRIG i ECHO iglu ultrazvučnog senzora na pin 8 i 9 na Arduinu.

Objašnjenje koda:
Prije prijenosa koda, provjerite jeste li povezani s Wi-Fi mrežom svog ESP8266 uređaja. Cjeloviti kôd možete provjeriti u odjeljku koda ispod, kod je dobro objašnjen komentarima, nadalje smo objasnili i neke važne funkcije u nastavku.
Arduino će prvo pročitati ultrazvučni senzor. Slati će ultrazvučni signal brzinom zvuka kada TRIG pin postavimo za 10us. Signal će se vratiti nakon udara u objekt i trajanje putovanja pohranit ćemo u varijablu imenovanu trajanje . Tada ćemo izračunati udaljenost predmeta (smeće u našem slučaju) primjenom formule i pohranit ćemo je u varijablu nazvanu distance .
digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); trajanje = pulsIn (echoPin, HIGH); udaljenost = trajanje * 0,034 / 2;
Za ispis rezultata na web stranici u web pregledniku morat ćemo koristiti HTML programiranje. Dakle, stvorili smo niz pod nazivom web stranica i u njega pohranili izlaz. Da bismo utvrdili je li kanta za smeće prazna ili ne, tamo smo primijenili uvjet. Ako je udaljenost manja od 5 cm, na web stranici će se prikazati "Košara je puna", a ako je udaljenost veća od 5 cm, na web stranici će se prikazati poruka "Košarica je prazna".
if (esp8266.available ()) {if (esp8266.find ("+ IPD,")) {delay (1000); int connectionId = esp8266.read () - 48; Niz web stranice = "
IOT Sustav praćenja smeća
"; web stranica + =""; if (distance <5) {webpage + =" Koš za smeće je pun ";} else {webpage + =" Koš za smeće je prazan ";} web stranica + ="
";Sljedeći će kôd poslati i prikazati podatke na web stranici. Podaci, pohranjeni u niz nazvan 'web stranica', bit će spremljeni u niz naziva 'naredba' . Zatim će ESP8266 pročitati jedan po jedan znak iz "naredbe" i ispisat će ga na web stranici.
String sendData (naredba niza, const int timeout, boolean debug) {String response = ""; esp8266.print (naredba); dugo int vrijeme = milis (); while ((time + timeout)> milis ()) {while (esp8266.available ()) {char c = esp8266.read (); odgovor + = c; }} if (otklanjanje pogrešaka) {Serial.print (odgovor); } odgovor na povratak; }
Testiranje i rezultati projekta:
Nakon prijenosa koda otvorite serijski monitor i on će vam prikazati IP adresu kao što je prikazano u nastavku.

Upišite ovu IP adresu u svoj preglednik, prikazat će se izlaz kao što je prikazano dolje. Morat ćete ponovo osvježiti stranicu ako želite ponovno vidjeti je li kanta za smeće prazna ili nije.

Dakle, kako ovaj sustav praćenja smeća funkcionira, ovaj se projekt može dodatno poboljšati dodavanjem još nekoliko značajki u njega kao što možemo postaviti još jednu poruku kada je kanta za smeće dopola napunjena ili možemo pokrenuti e-poštu / SMS da upozorimo korisnika kada otpad Košarica je puna.
