- Komponenter som krävs:
- HC-SR04 ultraljudssensor:
- ESP8266 Wi-Fi-modul:
- Kretsschema och förklaring:
- Kodförklaring:
- "; if (distance <5) {webpage + =" Trash can is Full ";} else {webpage + =" Trash can is Empty ";} webpage + ="
- Test och resultat av projektet:
I denna DIY gör vi ett IOT-baserat dumpster / skräpövervakningssystem som berättar för oss att om papperskorgen är tom eller full genom webbservern och du kan veta status för din "Trash Can" eller "Dumpsters" från var som helst i världen över Internet. Det kommer att vara mycket användbart och kan installeras i papperskorgen på offentliga platser såväl som hemma.
I detta IOT-projekt används en ultraljudssensor för att upptäcka om papperskorgen är fylld med sopor eller inte. Här är ultraljudssensorn installerad högst upp på papperskorgen och mäter avståndet från skräpet från toppen av papperskorgen och vi kan ställa in ett tröskelvärde enligt storleken på papperskorgen. Om avståndet kommer att vara mindre än detta tröskelvärde betyder det att papperskorgen är full av skräp och vi kommer att skriva ut meddelandet "Korg är full" på webbsidan och om avståndet kommer att vara mer än detta tröskelvärde kommer vi att skriva ut meddelandet "Korg är tom". Här har vi ställt in tröskelvärdet på 5 cm i programkoden. Vi använder ESP8266 Wi-Fi-modulför att ansluta Arduino till webbservern. Här har vi använt lokal webbserver för att demonstrera hur detta sopor övervakningssystem fungerar.
Komponenter som krävs:
- Arduino Uno (du kan använda alla andra)
- ESP8266 Wi-Fi-modul
- HC-SR04 Ultraljudsensor
- 1K motstånd
- Bakbord
- Anslutande ledningar
HC-SR04 ultraljudssensor:
Ultraljudsensorn används för att mäta avståndet med hög noggrannhet och stabila avläsningar. Den kan mäta avstånd från 2 cm till 400 cm eller från 1 tum till 13 fot. Det avger en ultraljudsvåg med frekvensen 40KHz i luften och om objektet kommer i vägen kommer det att studsa tillbaka till sensorn. Genom att använda den tid det tar att slå objektet och kommer tillbaka kan du beräkna avståndet.
Ultraljudsgivaren har fyra stift. Två är VCC och GND som kommer att anslutas till 5V och GND för Arduino medan de andra två stiften är Trig- och Echo-stift som kommer att anslutas till alla digitala stift i Arduino. Trig pin kommer att skicka signalen och Echo pin kommer att användas för att ta emot signalen. För att generera en ultraljudssignal måste du göra Trig-stiftet högt i ungefär 10us vilket kommer att skicka en 8-cykels sonisk skur vid ljudets hastighet och efter att ha slagit på objektet kommer den att tas emot av Echo-stiftet.
Ytterligare kolla nedan projekt för att förstå hur Ultraljudsensorn fungerar korrekt och för att mäta avståndet för alla objekt som använder den:
- Arduino-baserad avståndsmätning med ultraljudssensor
- Avståndsmätning med HC-SR04 och AVR Microcontroller
ESP8266 Wi-Fi-modul:
ESP8266 är en Wi-Fi-modul som ger dina projekt åtkomst till Wi-Fi eller internet. Det är en mycket billig enhet men det kommer att göra dina projekt mycket kraftfulla. Den kan kommunicera med vilken mikrokontroller som helst och göra projekten trådlösa. Det finns i listan över de mest ledande enheterna på IOT-plattformen. Den går på 3,3 V och om du ger den 5 V kommer den att skada.
ESP8266 har 8 stift; VCC och CH-PD kommer att anslutas till 3.3V för att aktivera wifi. TX- och RX-stiften ansvarar för kommunikationen av ESP8266 med Arduino. RX-stiftet fungerar på 3,3 V, så du måste göra en spänningsdelare för det som vi gjorde i vårt projekt.
Kretsschema och förklaring:
Först och främst ansluter vi ESP8266 till Arduino. ESP8266 körs på 3.3V och om du ger den 5V från Arduino fungerar den inte ordentligt och det kan skada den. Anslut VCC och CH_PD till 3.3V-stiftet på Arduino. RX-stiftet på ESP8266 fungerar på 3.3V och kommer inte att kommunicera med Arduino när vi ansluter den direkt till Arduino. Så vi måste göra en spänningsdelare för det. Tre 1k-motstånd anslutna i serie kommer att göra jobbet för oss. Anslut RX till stift 11 på Arduino genom motstånden som visas i bilden nedan och även TX på Arduino till stift 10 på Arduino.
Nu är det dags att ansluta HC-SR04 ultraljudssensorn med Arduino. Anslutningar av ultraljudssensorn med Arduino är mycket enkla. Anslut VCC och ultraljudssensorns jord till 5V och Arduino-marken. Anslut sedan TRIG- och ECHO-stiftet på ultraljudssensorn till stift 8 respektive 9 på Arduino.
Kodförklaring:
Innan du laddar upp koden, se till att du är ansluten till Wi-Fi på din ESP8266-enhet. Du kan kontrollera hela koden i kodavsnittet nedan, koden har förklarats väl av kommentarerna, vidare har vi också förklarat några viktiga funktioner nedan.
Arduino kommer först att läsa ultraljudssensorn. Det kommer att skicka en ultraljudssignal vid ljudets hastighet när vi kommer att göra TRIG-stiftet högt för 10us. Signalen kommer tillbaka efter att ha slagit på objektet och vi kommer att lagra restidens varaktighet i variabeln med namnet duration . Sedan beräknar vi avståndet från objektet (skräp i vårt fall) genom att använda en formel och lagrar det i variabeln med namnet avstånd .
digitalWrite (trigPin, LOW); delayMicroseconds (2); digitalWrite (trigPin, HIGH); delayMicroseconds (10); digitalWrite (trigPin, LOW); varaktighet = pulseIn (echoPin, HIGH); avstånd = varaktighet * 0,034 / 2;
För att skriva ut utdata på webbsidan i webbläsaren måste vi använda HTML-programmering. Så vi har skapat en sträng som heter webbsida och lagrat utdata i den. För att berätta om papperskorgen är tom eller inte har vi tillämpat ett villkor där. Om avståndet blir mindre än 5 cm kommer det att visa "Korg är full" på webbsidan och om avståndet blir större än 5 cm kommer det att visa meddelandet "Korg är tom" på webbsidan.
if (esp8266.available ()) {if (esp8266.find ("+ IPD,")) {delay (1000); int connectionId = esp8266.read () - 48; Strängwebbsida = "
IOT Garbage Monitoring System
"; webbsida + =""; if (distance <5) {webpage + =" Trash can is Full ";} else {webpage + =" Trash can is Empty ";} webpage + ="
";Följande kod skickar och visar informationen på webbsidan. Data, vi lagrade i sträng med namnet 'webbsida', kommer att sparas i sträng med namnet 'kommando' . ESP8266 läser sedan karaktären en efter en från "kommandot" och skriver ut den på webbsidan.
String sendData (String command, const int timeout, boolean debug) {String response = ""; esp8266.print (kommando); lång intid = millis (); medan ((time + timeout)> millis ()) {while (esp8266.available ()) {char c = esp8266.read (); svar + = c; }} om (felsöka) {Serial.print (svar); } returnera svar; }
Test och resultat av projektet:
Efter att ha laddat upp koden öppnar du Serial Monitor så visas en IP-adress enligt nedan.
Skriv den här IP-adressen i din webbläsare, den visar utdata som visas nedan. Du måste uppdatera sidan igen om du vill se igen att papperskorgen är tom eller inte.
Så det här hur sopor övervakningssystem fungerar kan detta projekt förbättras ytterligare genom att lägga till några fler funktioner i det som vi kan ställa en mer meddelande när papperskorgen är till hälften fylld eller så kan vi utlösa en e-post / SMS för att varna användaren när papperskorgen Korg är full.