- Nødvendige komponenter:
- HC-SR04 Ultralydssensor:
- ESP8266 Wi-Fi-modul:
- Kredsløbsdiagram og forklaring:
- Kode Forklaring:
- "; if (distance <5) {webpage + =" Papirkurven er fuld ";} ellers {webside + =" Papirkurven er tom ";} webside + ="
- Test og output af projektet:
I denne DIY vil vi lave et IOT-baseret dumpster / skraldovervågningssystem, der fortæller os, at om papirkurven er tom eller fuld gennem webserveren, og du kan kende status for din 'Trash Can' eller 'Dumpsters' fra hvor som helst i verden over internettet. Det vil være meget nyttigt og kan installeres i papirkurven på offentlige steder såvel som hjemme.
I dette IOT-projekt bruges en ultralydssensor til at detektere, om skraldespanden er fyldt med skrald eller ej. Her er Ultralydssensor installeret øverst i skraldespanden og måler afstanden til skrald fra toppen af skraldespanden, og vi kan indstille en tærskelværdi i henhold til størrelsen på skraldespanden. Hvis afstanden vil være mindre end denne tærskelværdi, betyder det, at papirkurven er fuld af affald, og vi vil udskrive meddelelsen "Kurven er fuld" på websiden, og hvis afstanden vil være mere end denne tærskelværdi, vil vi udskrive meddelelsen "Kurven er tom". Her har vi indstillet tærskelværdien på 5 cm i programkoden. Vi bruger ESP8266 Wi-Fi-modultil tilslutning af Arduino til webserveren. Her har vi brugt lokal webserver til at demonstrere, hvordan dette affaldsovervågningssystem fungerer.
Nødvendige komponenter:
- Arduino Uno (du kan bruge enhver anden)
- ESP8266 Wi-Fi-modul
- HC-SR04 Ultralydssensor
- 1K modstande
- Brødbræt
- Tilslutning af ledninger
HC-SR04 Ultralydssensor:
Ultralydssensoren bruges til at måle afstanden med høj nøjagtighed og stabile aflæsninger. Det kan måle afstand fra 2 cm til 400 cm eller fra 1 tomme til 13 fod. Den udsender en ultralydsbølge med frekvensen 40KHz i luften, og hvis objektet kommer i vejen, vil den hoppe tilbage til sensoren. Ved at bruge den tid, det tager at ramme objektet og komme tilbage, kan du beregne afstanden.
Ultralydssensoren har fire ben. To er VCC og GND, som vil være forbundet til 5V og GND på Arduino, mens de andre to ben er Trig- og Echo-ben, der vil være forbundet til alle digitale ben på Arduino. Trig pin sender signalet, og Echo pin bruges til at modtage signalet. For at generere et ultralydssignal bliver du nødt til at gøre Trig pin højt i cirka 10us, hvilket vil sende en 8 cyklus sonisk burst ved lydens hastighed, og efter at have ramt objektet, modtages den af Echo pin.
Se nedenstående projekter for at forstå, hvordan Ultralydssensoren fungerer, og for at måle afstanden på ethvert objekt, der bruger den:
- Arduino-baseret afstandsmåling ved hjælp af ultralydssensor
- Afstandsmåling ved hjælp af HC-SR04 og AVR Microcontroller
ESP8266 Wi-Fi-modul:
ESP8266 er et Wi-Fi-modul, der giver dine projekter adgang til Wi-Fi eller internet. Det er en meget billig enhed, men det vil gøre dine projekter meget kraftfulde. Det kan kommunikere med enhver mikrokontroller og gøre projekterne trådløse. Det er på listen over de mest førende enheder i IOT-platformen. Det kører på 3.3V, og hvis du giver det 5V, får det skader.
ESP8266 har 8 ben; VCC og CH-PD forbindes til 3.3V for at aktivere wifi. TX- og RX-stifterne er ansvarlige for kommunikationen af ESP8266 med Arduino. RX-stiften fungerer på 3,3 V, så du bliver nødt til at lave en spændingsdeler til den, som vi lavede i vores projekt.
Kredsløbsdiagram og forklaring:
Først og fremmest forbinder vi ESP8266 med Arduino. ESP8266 kører på 3.3V, og hvis du giver den 5V fra Arduino, fungerer den ikke korrekt, og det kan få skade. Tilslut VCC og CH_PD til 3.3V-stiften på Arduino. RX-stiften på ESP8266 fungerer på 3.3V, og den kommunikerer ikke med Arduino, når vi forbinder den direkte til Arduino. Så vi bliver nødt til at lave en spændingsdeler til det. Tre 1k-modstande forbundet i serie vil gøre arbejdet for os. Tilslut RX til stiften 11 på Arduino gennem modstandene som vist i nedenstående figur og også TX af Arduino til stiften 10 på Arduino.
Nu er det tid til at forbinde HC-SR04 ultralydssensoren med Arduino. Forbindelser af ultralydssensoren med Arduino er meget enkle. Forbind VCC og jorden af ultralydssensoren til 5V og jorden af Arduino. Tilslut derefter TRIG og ECHO-stiften på ultralydssensoren til henholdsvis stift 8 og 9 på Arduino.
Kode Forklaring:
Inden du uploader koden, skal du sikre dig, at du har forbindelse til Wi-Fi på din ESP8266-enhed. Du kan kontrollere den fulde kode i Kodeafsnittet nedenfor, koden er blevet forklaret godt af kommentarerne, yderligere har vi også forklaret nogle vigtige funktioner nedenfor.
Arduino læser først Ultralydssensoren. Det sender et ultralydssignal ved lydens hastighed, når vi gør TRIG-stiften høj i 10us. Signalet kommer tilbage, efter at objektet er ramt, og vi gemmer rejsetidens varighed i variablen med navnet varighed . Derefter beregner vi afstanden til objektet (skrald i vores tilfælde) ved at anvende en formel og gemmer den i variablen navngivet afstand .
digitalWrite (trigPin, LOW); forsinkelseMikrosekunder (2); digitalWrite (trigPin, HIGH); forsinkelseMikrosekunder (10); digitalWrite (trigPin, LOW); varighed = pulseIn (echoPin, HIGH); afstand = varighed * 0,034 / 2;
For at udskrive output på websiden i webbrowser skal vi bruge HTML-programmering. Så vi har oprettet en streng med navnet webside og gemt output i den. For at fortælle, om skraldespanden er tom eller ej, har vi anvendt en betingelse der. Hvis afstanden er mindre end 5 cm, vil den vise "Kurv er fuld" på websiden, og hvis afstanden vil være større end 5 cm, vil den vise meddelelsen "Kurv er tom" på websiden.
if (esp8266.available ()) {if (esp8266.find ("+ IPD,")) {delay (1000); int connectionId = esp8266.read () - 48; String webside = "
IOT Garbage Monitoring System
"; webside + =""; if (distance <5) {webpage + =" Papirkurven er fuld ";} ellers {webside + =" Papirkurven er tom ";} webside + ="
";Den følgende kode sender og viser dataene på websiden. Dataene, vi har gemt i en streng med navnet 'webside', gemmes i en streng med navnet 'kommando' . ESP8266 læser derefter tegnet en efter en fra 'kommandoen' og udskriver det på websiden.
String sendData (String command, const int timeout, boolean debug) {String response = ""; esp8266.print (kommando); lang intid = millis (); mens ((time + timeout)> millis ()) {while (esp8266.available ()) {char c = esp8266.read (); svar + = c; }} hvis (fejlretning) {Serial.print (svar); } returnere svar }
Test og output af projektet:
Efter uploaden af koden skal du åbne Serial Monitor og den viser dig en IP-adresse som vist nedenfor.
Indtast denne IP-adresse i din browser, den viser dig output som vist nedenfor. Du bliver nødt til at opdatere siden igen, hvis du igen vil se, at papirkurven er tom eller ikke.
Så dette, hvordan dette affaldsovervågningssystem fungerer, dette projekt kan forbedres yderligere ved at tilføje nogle få flere funktioner i det, som om vi kan indstille en besked mere, når papirkurven er halvt fyldt, eller vi kan udløse en e-mail / sms for at advare brugeren, når papirkurven Kurven er fuld.