- Požadované komponenty:
- Ultrazvukový senzor HC-SR04:
- Modul Wi-Fi ESP8266:
- Schéma zapojení a vysvětlení:
- Vysvětlení kódu:
- "; if (vzdálenost <5) {webpage + =" Koš je plný ";} else {webpage + =" Koš je prázdný ";} web + ="
- Testování a výstup projektu:
V tomto kutilství uděláme systém pro monitorování kontejnerů / odpadků založený na IOT, který nám řekne, že ať už je koš prázdný nebo plný prostřednictvím webového serveru a můžete znát stav svého „koše“ nebo „kontejnerů“ z kdekoli na světě přes internet. Bude to velmi užitečné a lze jej nainstalovat do odpadkových košů na veřejných místech i doma.
V tomto projektu IOT se používá ultrazvukový senzor k detekci, zda je odpadkový koš naplněn odpadky nebo ne. Zde je ultrazvukový senzor instalován v horní části koše a bude měřit vzdálenost odpadků od horní části koše a můžeme nastavit prahovou hodnotu podle velikosti koše. Pokud bude vzdálenost menší než tato prahová hodnota, znamená to, že koš je plný odpadků a na webové stránce vytiskneme zprávu „Košík je plný“ a pokud bude vzdálenost větší než tato prahová hodnota, vytiskneme zpráva „Koš je prázdný“. Zde jsme v programovém kódu nastavili prahovou hodnotu 5 cm. Budeme používat modul Wi-Fi ESP8266pro připojení Arduina k webovému serveru. Zde jsme použili místní webový server k předvedení fungování tohoto systému sledování odpadu.
Požadované komponenty:
- Arduino Uno (můžete použít jakýkoli jiný)
- Modul Wi-Fi ESP8266
- Ultrazvukový senzor HC-SR04
- 1K rezistory
- Nepájivá deska
- Připojovací vodiče
Ultrazvukový senzor HC-SR04:
Ultrazvukový senzor se používá k měření vzdálenosti s vysokou přesností a stabilním odečtem. Může měřit vzdálenost od 2 cm do 400 cm nebo od 1 palce do 13 stop. Vysílá do vzduchu ultrazvukovou vlnu o frekvenci 40 KHz a pokud mu objekt přijde do cesty, odrazí se zpět k senzoru. Pomocí času, který trvá úder na objekt a návrat, můžete vypočítat vzdálenost.
Ultrazvukový senzor má čtyři kolíky. Dva jsou VCC a GND, které budou připojeny k 5V a GND Arduina, zatímco další dva piny jsou Trig a Echo piny, které budou připojeny k jakýmkoli digitálním pinům Arduina. Spouštěcí kolík odešle signál a kolík Echo se použije k přijetí signálu. Chcete-li vygenerovat ultrazvukový signál, budete muset nastavit Trig pin na přibližně 10 us, který vyšle 8 cyklů sonického výbuchu rychlostí zvuku a po zasažení objektu bude přijat Echo pinem.
Dále zkontrolujte níže uvedené projekty, abyste správně porozuměli fungování ultrazvukového senzoru a změřili vzdálenost jakéhokoli objektu pomocí něj:
- Arduino měření vzdálenosti pomocí ultrazvukového senzoru
- Měření vzdálenosti pomocí HC-SR04 a mikrokontroléru AVR
Modul Wi-Fi ESP8266:
ESP8266 je modul Wi-Fi, který vašim projektům poskytne přístup k Wi-Fi nebo internetu. Je to velmi levné zařízení, ale vaše projekty budou velmi výkonné. Může komunikovat s jakýmkoli mikrokontrolérem a provádět projekty bezdrátově. Je na seznamu většiny předních zařízení na platformě IOT. Funguje na 3,3 V a pokud mu dáte 5 V, dostane poškození.
ESP8266 má 8 pinů; VCC a CH-PD budou připojeny k 3,3 V, aby se povolila wifi. Kolíky TX a RX budou odpovědné za komunikaci ESP8266 s Arduino. Pin RX pracuje na 3,3 V, takže pro něj budete muset vytvořit dělič napětí, jak jsme to udělali v našem projektu.
Schéma zapojení a vysvětlení:
Nejprve propojíme ESP8266 s Arduino. ESP8266 běží na 3.3V a pokud mu dáte 5V od Arduina, pak to nebude fungovat správně a může se poškodit. Připojte VCC a CH_PD ke kolíku 3,3 V Arduina. Pin RX ESP8266 funguje na 3,3 V a nebude komunikovat s Arduinem, když jej připojíme přímo k Arduinu. Budeme pro to muset udělat dělič napětí. Tři 1k rezistory zapojené do série za nás udělají práci. Připojte RX ke kolíku 11 Arduina přes rezistory, jak je znázorněno na obrázku níže, a také TX Arduina ke kolíku 10 Arduina.
Nyní je čas připojit ultrazvukový senzor HC-SR04 k Arduinu. Připojení ultrazvukového senzoru k Arduinu je velmi jednoduché. Připojte VCC a uzemnění ultrazvukového senzoru k 5V a uzemnění Arduina. Poté připojte kolík TRIG a ECHO ultrazvukového senzoru ke kolíku 8 a 9 Arduina.
Vysvětlení kódu:
Před nahráním kódu se ujistěte, že jste připojeni k Wi-Fi vašeho zařízení ESP8266. Celý kód můžete zkontrolovat v sekci Kód níže, kód byl dobře vysvětlen v komentářích, dále jsme také vysvětlili některé důležité funkce níže.
Arduino nejprve přečte ultrazvukový senzor. Vyšle ultrazvukový signál rychlostí zvuku, když nastavíme kolík TRIG na 10us. Signál se po zasažení objektu vrátí zpět a dobu trvání cesty uložíme do proměnné pojmenované trvání . Potom vypočítáme vzdálenost objektu (v našem případě nesmysl) pomocí vzorce a uložíme jej do proměnné pojmenované vzdálenost .
digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); duration = pulseIn (echoPin, HIGH); vzdálenost = doba trvání * 0,034 / 2;
Pro tisk výstupu na webovou stránku ve webovém prohlížeči budeme muset použít programování HTML. Vytvořili jsme tedy řetězec s názvem webová stránka a uložili jsme do něj výstup. Abychom zjistili, zda je koš prázdný nebo ne, aplikovali jsme tam podmínku. Pokud bude vzdálenost menší než 5 cm, zobrazí se na webové stránce „Koš je plný“ a pokud bude vzdálenost větší než 5 cm, zobrazí se na webové stránce zpráva „Koš je prázdný“.
if (esp8266.available ()) {if (esp8266.find ("+ IPD,")) {delay (1000); int connectionId = esp8266.read () - 48; Řetězcová webová stránka = "
Monitorovací systém odpadků IOT
"; webová stránka + =""; if (vzdálenost <5) {webpage + =" Koš je plný ";} else {webpage + =" Koš je prázdný ";} web + ="
";Následující kód odešle a zobrazí data na webové stránce. Data, která jsme uložili v řetězci s názvem „webová stránka“, budou uložena v řetězci s názvem „příkaz“ . ESP8266 poté načte znak jeden po druhém z „příkazu“ a vytiskne jej na webové stránce.
String sendData (String command, const int timeout, boolean debug) {String response = ""; esp8266.print (příkaz); long int time = millis (); while ((time + timeout)> millis ()) {while (esp8266.available ()) {char c = esp8266.read (); odezva + = c; }} if (debug) {Serial.print (response); } návratová odpověď; }
Testování a výstup projektu:
Po nahrání kódu otevřete Serial Monitor a zobrazí vám IP adresu, jak je uvedeno níže.
Zadejte tuto adresu IP do prohlížeče, zobrazí se vám výstup, jak je uvedeno níže. Budete-li chtít znovu zjistit, zda je koš prázdný nebo ne, budete muset stránku znovu obnovit.
Takže jak tento Garbage Monitoring System funguje, lze tento projekt dále vylepšit přidáním několika dalších funkcí, jako bychom mohli nastavit ještě jednu zprávu, když je koš napůl naplněný, nebo můžeme spustit e-mail / SMS, abychom uživatele upozornili, když je koš Koš je plný.