- Szükséges alkatrészek:
- HC-SR04 ultrahangos érzékelő:
- ESP8266 Wi-Fi modul:
- Áramkör és magyarázat:
- Kód Magyarázat:
- "; if (távolság <5) {webpage + =" A kuka tele van ";} else {webpage + =" A kuka üres ";} weblap + ="
- A projekt tesztelése és kimenetele:
Ebben a barkácsolásban egy IOT alapú szeméttároló / szemétmegfigyelő rendszert fogunk készíteni, amely megmondja nekünk, hogy a szemétkosár üres vagy tele van-e a webszerveren keresztül, és a bárhol a világon az interneten keresztül. Nagyon hasznos lesz, és nyilvános helyeken, valamint otthon is elhelyezhető a kukákban.
Ebben az IOT projektben egy ultrahangos érzékelőt használnak annak felderítésére, hogy a szemetes tele van-e szeméttel vagy sem. Itt az ultrahangos érzékelőt a kuka tetejére telepítik, és meg fogja mérni a szemét távolságát a kuka tetejétől, és beállíthatunk egy küszöbértéket a kuka méretének megfelelően. Ha a távolság kisebb lesz, mint ez a küszöbérték, az azt jelenti, hogy a kuka tele van szeméttel, és kinyomtatjuk a „Kosár tele” üzenetet a weboldalon, és ha a távolság meghaladja ezt a küszöbértéket, akkor kinyomtatjuk a „Kosár üres” üzenet. Itt beállítottuk a Programkódban az 5 cm-es küszöbértéket. ESP8266 Wi-Fi modult fogunk használniaz Arduino és a webszerver összekapcsolásához. Itt a Helyi webszervert használtuk a szemétfigyelő rendszer működésének bemutatására.
Szükséges alkatrészek:
- Arduino Uno (használhat másokat is)
- ESP8266 Wi-Fi modul
- HC-SR04 Ultrahangos érzékelő
- 1K ellenállások
- Kenyérlemez
- Csatlakozó vezetékek
HC-SR04 ultrahangos érzékelő:
Az ultrahangos érzékelőt a távolság nagy pontossággal és stabil leolvasással történő mérésére használják. Mérheti a távolságot 2 cm-től 400 cm-ig vagy 1 hüvelyktől 13 lábig. 40KHz frekvenciájú ultrahanghullámot bocsát ki a levegőben, és ha az objektum útját állja, akkor visszapattan az érzékelőhöz. Kiszámíthatja a távolságot, ha felhasználja azt az időt, amelyre az objektum ütése és visszatérése szükséges.
Az ultrahangos érzékelőnek négy csapja van. Kettő a VCC és a GND, amelyek az Arduino 5V-jához és GND-jéhez kapcsolódnak, míg a másik két csap a Trig és az Echo csapok, amelyek az Arduino bármely digitális csatlakozójához kapcsolódnak. A ravasztüske küldi a jelet, és az Echo csapot fogják használni a jel fogadására. Ultrahangjel generálásához a Trig csapot magasra kell tenni kb. 10usra, amely 8 ciklusú hangsebességet küld a hangsebességgel, és miután megütötte az objektumot, az Echo csap fogadja.
Az alábbi projektek további ellenőrzése az ultrahangos érzékelő működésének megfelelő megértése és az azt használó objektumok távolságának mérése érdekében:
- Arduino alapú távolságmérés ultrahangos érzékelővel
- Távolságmérés HC-SR04 és AVR mikrokontrollerrel
ESP8266 Wi-Fi modul:
Az ESP8266 egy Wi-Fi modul, amely hozzáférést biztosít a projektjeihez a Wi-Fi-hez vagy az internethez. Ez egy nagyon olcsó eszköz, de a projektjeit nagyon hatékonyá teszi. Tud kommunikálni bármely mikrovezérlővel, és vezeték nélkülivé teheti a projekteket. Az IOT platform vezető készülékeinek listáján szerepel. 3,3 V-on működik, és ha 5 V-ot ad, akkor károkat okoz.
Az ESP8266 8 csapos; a VCC és a CH-PD csatlakozik a 3.3V-hoz a wifi engedélyezéséhez. A TX és az RX érintkezõk felelõsek az ESP8266 Arduinóval való kommunikációjáért. Az RX tű 3,3 V feszültségen működik, ezért feszültségosztót kell készítenie hozzá, amint azt a projektünkben készítettük.
Áramkör és magyarázat:
Először az ESP8266-ot fogjuk összekapcsolni az Arduinóval. Az ESP8266 3,3 V-on működik, és ha az Arduino-ból 5 V-ot ad, akkor nem fog megfelelően működni, és sérülést okozhat. Csatlakoztassa a VCC-t és a CH_PD-t az Arduino 3,3 V-os tűjéhez. Az ESP8266 RX-csatlakozója 3,3 V-on működik, és nem fog kommunikálni az Arduinóval, amikor közvetlenül az Arduinóhoz csatlakoztatjuk. Tehát feszültségosztót kell készítenünk hozzá. Három sorba kapcsolt 1k ellenállás végzi el a munkát helyettünk. Csatlakoztassa az RX-t az Arduino 11-es érintkezőjéhez az ellenállásokon keresztül, az alábbi ábra szerint, és az Arduino TX-jét is az Arduino 10-es érintkezőjéhez.
Itt az ideje, hogy csatlakoztassa a HC-SR04 ultrahangos érzékelőt az Arduinóhoz. Az ultrahangos érzékelő és az Arduino összekapcsolása nagyon egyszerű. Csatlakoztassa a VCC-t és az ultrahangos érzékelő földjét az 5V-hoz és az Arduino földeléséhez. Ezután csatlakoztassa az ultrahangos érzékelő TRIG és ECHO tűjét az Arduino 8. és 9. érintkezőjéhez.
Kód Magyarázat:
A kód feltöltése előtt ellenőrizze, hogy csatlakozik-e az ESP8266 eszköz Wi-Fi-jéhez. A teljes kódot az alábbi Kód szakaszban ellenőrizheti, a kódot a megjegyzések jól megmagyarázták, az alábbiakban néhány fontos funkciót is elmagyaráztunk.
Az Arduino először elolvassa az ultrahangos érzékelőt. Ultrahangos jelet fog küldeni hangsebességgel, amikor a TRIG csapot 10us-ra magasra állítjuk. A jel az objektum ütése után visszatér, és az utazási időtartamot az időtartam nevű változóban tároljuk. Ezután egy képlet alkalmazásával kiszámoljuk az objektum (esetünkben szemét) távolságát, és eltároljuk a távolság nevű változóban.
digitalWrite (trigPin, LOW); késleltetés mikroszekundum (2); digitalWrite (trigPin, HIGH); késleltetés mikroszekundum (10); digitalWrite (trigPin, LOW); időtartam = pulseIn (echoPin, HIGH); távolság = időtartam * 0,034 / 2;
A kimenet webböngészőben történő nyomtatásához HTML programozást kell használnunk. Létrehoztunk egy web nevű karakterláncot, és a kimenetet benne tároltuk. Annak megállapítására, hogy a kuka üres-e vagy sem, ott feltételt alkalmaztunk. Ha a távolság kevesebb lesz, mint 5 cm, akkor a weboldalon a „Kosár megtelt” felirat látható, és ha a távolság nagyobb lesz, mint 5 cm, akkor a „Kosár üres” üzenet jelenik meg a weboldalon.
if (esp8266.available ()) {if (esp8266.find ("+ IPD,")) {késleltetés (1000); int connectionId = esp8266.read () - 48; Karakterlánc-weboldal = "
IOT szemétfigyelő rendszer
"; weboldal + =""; if (távolság <5) {webpage + =" A kuka tele van ";} else {webpage + =" A kuka üres ";} weblap + ="
";A következő kód elküldi és megjeleníti az adatokat a weboldalon. A „web” nevű karakterláncban tárolt adatokat a „command” nevű karakterláncba menti. Ezután az ESP8266 egyesével beolvassa a karaktert a 'parancsból', és kinyomtatja a weboldalra.
String sendData (String parancs, const int timeout, logikai hibakeresés) {String response = ""; esp8266.print (parancs); hosszú int idő = millisz (); while ((idő + időtúllépés)> millisz ()) {while (esp8266.available ()) {char c = esp8266.read (); válasz + = c; }} if (hibakeresés) {Serial.print (válasz); } visszatérési válasz; }
A projekt tesztelése és kimenetele:
A kód feltöltése után nyissa meg a soros monitort, és megmutatja az alább látható IP-címet.
Gépelje be ezt az IP-címet a böngészőjébe, és az alábbiak szerint jeleníti meg a kimenetet. Újra frissítenie kell az oldalt, ha újra szeretné látni, hogy a kuka üres vagy sem.
Tehát ez a szemétmegfigyelő rendszer működik, így a projekt tovább javítható néhány további funkció hozzáadásával, például beállíthatunk még egy üzenetet, amikor a Kuka félig megtelt, vagy kiválthatunk egy e-mailt / SMS-t, hogy figyelmeztessük a felhasználót a kukára A kosár megtelt.