- Požadované komponenty:
- Ultrazvukový snímač HC-SR04:
- Modul Wi-Fi ESP8266:
- Schéma zapojenia a vysvetlenie:
- Vysvetlenie kódu:
- "; if (vzdialenosť <5) {webpage + =" Odpadkový kôš je plný ";} else {webpage + =" Odpadkový kôš je prázdny ";} webová stránka + ="
- Testovanie a výstup projektu:
V tomto DIY urobíme systém na monitorovanie skládky / odpadu, ktorý nám oznámi, že či je odpadkový kôš prázdny alebo plný prostredníctvom webového servera a stav jeho „odpadkového koša“ alebo „skládok“ môžete poznať z kdekoľvek na svete cez internet. Bude to veľmi užitočné a dá sa nainštalovať do koša na verejných miestach aj doma.
V tomto projekte IOT sa používa ultrazvukový senzor na zisťovanie, či je odpadkový kôš naplnený odpadkami alebo nie. Tu je ultrazvukový senzor nainštalovaný v hornej časti koša a bude merať vzdialenosť odpadkov od hornej časti koša a my môžeme nastaviť prahovú hodnotu podľa veľkosti koša. Ak bude vzdialenosť menšia ako táto prahová hodnota, znamená to, že kôš je plný odpadkov a na webovú stránku vytlačíme správu „Košík je plný“ a ak bude vzdialenosť väčšia ako táto prahová hodnota, vytlačíme správa „Košík je prázdny“. Tu sme v programovom kóde nastavili prahovú hodnotu 5 cm. Budeme používať ESP8266 Wi-Fi modulna pripojenie Arduina k webovému serveru. Tu sme použili miestny webový server na demonštráciu fungovania tohto systému sledovania odpadu.
Požadované komponenty:
- Arduino Uno (môžete použiť akékoľvek iné)
- Modul Wi-Fi ESP8266
- Ultrazvukový snímač HC-SR04
- 1K rezistory
- Nepál
- Pripojovacie vodiče
Ultrazvukový snímač HC-SR04:
Ultrazvukový senzor sa používa na meranie vzdialenosti s vysokou presnosťou a stabilnými údajmi. Môže merať vzdialenosť od 2 cm do 400 cm alebo od 1 palca do 13 stôp. Vysiela vo vzduchu ultrazvukovú vlnu s frekvenciou 40 KHz a ak mu objekt príde do cesty, odrazí sa späť k senzoru. Pomocou času, ktorý potrebujete na udrenie objektu a návrat späť, môžete vypočítať vzdialenosť.
Ultrazvukový senzor má štyri kolíky. Dva sú VCC a GND, ktoré budú pripojené k 5 V a GND Arduina, zatiaľ čo ďalšie dva piny sú piny Trig a Echo, ktoré budú pripojené k akýmkoľvek digitálnym pinom Arduina. Trig pin pošle signál a Echo pin sa použije na príjem signálu. Pre generovanie ultrazvukového signálu budete musieť nastaviť Trig pin na 10us vysoko, čo bude vysielať 8cyklový zvukový výbuch rýchlosťou zvuku a po zasiahnutí objektu bude prijatý Echo pinom.
Ďalej skontrolujte projekty nižšie, aby ste správne pochopili fungovanie ultrazvukového snímača a pomocou neho zmerali vzdialenosť ľubovoľného objektu:
- Arduino meranie vzdialenosti pomocou ultrazvukového senzora
- Meranie vzdialenosti pomocou HC-SR04 a AVR mikrokontroléra
Modul Wi-Fi ESP8266:
ESP8266 je modul Wi-Fi, ktorý vašim projektom poskytne prístup k sieti Wi-Fi alebo internetu. Je to veľmi lacné zariadenie, ale vaše projekty budú veľmi výkonné. Môže komunikovať s akýmkoľvek mikrokontrolérom a robiť projekty bezdrôtovými. Nachádza sa v zozname najdôležitejších zariadení na platforme IOT. Beží na 3,3V a ak mu dáte 5V, tak sa poškodí.
ESP8266 má 8 pinov; VCC a CH-PD budú pripojené k 3,3 V, aby sa povolila wifi. Kolíky TX a RX budú zodpovedné za komunikáciu ESP8266 s Arduinom. Pin RX funguje na 3,3 V, takže preň budete musieť vytvoriť delič napätia, ako sme to urobili v našom projekte.
Schéma zapojenia a vysvetlenie:
Najskôr prepojíme ESP8266 s Arduinom. ESP8266 beží na 3.3V a ak mu dáte 5V od Arduina, nebude to fungovať správne a môže sa poškodiť. Pripojte VCC a CH_PD k kolíku 3,3 V Arduina. Pin RX ESP8266 funguje na 3.3V a nebude komunikovať s Arduinom, keď ho pripojíme priamo k Arduinu. Budeme pre to musieť urobiť delič napätia. Tri 1k rezistory zapojené do série urobia prácu za nás. Pripojte RX ku kolíku 11 Arduina cez rezistory, ako je to znázornené na obrázku nižšie, a tiež TX Arduina ku kolíku 10 Arduina.
Teraz je čas pripojiť ultrazvukový snímač HC-SR04 k Arduinu. Pripojenie ultrazvukového snímača k Arduinu je veľmi jednoduché. Pripojte VCC a zem ultrazvukového snímača k 5V a zemi Arduino. Potom pripojte kolík TRIG a ECHO ultrazvukového snímača k kolíku 8 a 9 Arduina.
Vysvetlenie kódu:
Pred nahraním kódu sa uistite, že ste pripojení k sieti Wi-Fi vášho zariadenia ESP8266. Celý kód si môžete skontrolovať v sekcii Kód nižšie, kód bol dobre vysvetlený v komentároch, ďalej sme tiež vysvetlili niektoré dôležité funkcie nižšie.
Arduino najskôr načíta ultrazvukový senzor. Bude to vysielať ultrazvukový signál rýchlosťou zvuku, keď urobíme kolík TRIG vysoko na 10us. Signál sa vráti späť po zasiahnutí objektu a dobu trvania cesty uložíme do premennej s názvom duration . Potom pomocou vzorca vypočítame vzdialenosť objektu (v našom prípade odpadky) a uložíme ho do premennej s názvom distance .
digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); duration = pulseIn (echoPin, HIGH); vzdialenosť = trvanie * 0,034 / 2;
Na tlač výstupu na webovú stránku vo webovom prehliadači budeme musieť použiť programovanie HTML. Takže sme vytvorili reťazec s názvom webová stránka a uložili sme doň výstup. Aby sme zistili, či je kôš prázdny alebo nie, použili sme tam podmienku. Ak bude vzdialenosť menšia ako 5 cm, na webovej stránke sa zobrazí „Košík je plný“ a ak bude vzdialenosť väčšia ako 5 cm, zobrazí sa na webovej stránke správa „Košík je prázdny“.
if (esp8266.available ()) {if (esp8266.find ("+ IPD,")) {oneskorenie (1000); int connectionId = esp8266.read () - 48; Reťazcová webová stránka = "
Monitorovací systém odpadu IOT
"; webova stránka + =""; if (vzdialenosť <5) {webpage + =" Odpadkový kôš je plný ";} else {webpage + =" Odpadkový kôš je prázdny ";} webová stránka + ="
";Nasledujúci kód odošle a zobrazí údaje na webovej stránke. Údaje, ktoré sme uložili do reťazca s názvom „webová stránka“, sa uložia do reťazca s názvom „príkaz“ . ESP8266 potom načíta znak jeden po druhom z príkazu a vytlačí ho na webovú stránku.
String sendData (String command, const int timeout, boolean debug) {String response = ""; esp8266.print (príkaz); long int time = millis (); while ((time + timeout)> millis ()) {while (esp8266.available ()) {char c = esp8266.read (); odpoveď + = c; }} if (debug) {Serial.print (odpoveď); } návratová odpoveď; }
Testovanie a výstup projektu:
Po nahraní kódu otvorte Serial Monitor a zobrazí vám adresu IP, ako je uvedené nižšie.
Zadajte túto adresu IP do prehľadávača a zobrazí sa vám výstup, ako je uvedené nižšie. Ak chcete znova zistiť, či je kôš prázdny alebo nie, budete ju musieť znova obnoviť.
Takto funguje tento systém sledovania odpadu, tento projekt je možné ďalej vylepšiť pridaním niekoľkých ďalších funkcií, napríklad môžeme nastaviť ešte jednu správu, keď je kôš naplnený do polovice, alebo môžeme spustiť e-mail alebo SMS, aby sme používateľa upozornili, keď je kôš Kôš je plný.