- Vaaditut komponentit:
- HC-SR04-ultraäänianturi:
- ESP8266 Wi-Fi -moduuli:
- Piirikaavio ja selitys:
- Koodin selitys:
- "; if (etäisyys <5) {webpage + =" Roskakori on täynnä ";} else {webpage + =" Roskakori on tyhjä ";} webpage + ="
- Projektin testaus ja tulos:
Tässä DIY: ssä aiomme tehdä IOT-pohjaisen jäteastian / roskatarkkailujärjestelmän, joka kertoo meille, onko roskakori tyhjä vai täynnä verkkopalvelimen kautta, ja voit tietää roskakorisi tai kaatopaikkasi tilan kaikkialla maailmassa Internetin kautta. Se on erittäin hyödyllinen ja voidaan asentaa roskakoriin julkisilla paikoilla sekä kotona.
Tässä IOT-projektissa ultraäänianturia käytetään havaitsemaan, onko roskakori täynnä roskia vai ei. Tässä ultraäänianturi on asennettu roskakorin yläosaan ja mittaa roskien etäisyyden roskakorin yläosasta ja voimme asettaa kynnysarvon roskakorin koon mukaan. Jos etäisyys on pienempi kuin tämä kynnysarvo, tarkoittaa, että roskakori on täynnä roskia ja tulostamme verkkosivulle viestin "Kori on täynnä" ja jos etäisyys ylittää tämän kynnysarvon, tulostamme viesti "Kori on tyhjä". Tässä olemme asettaneet kynnysarvoksi 5 cm ohjelmakoodissa. Käytämme ESP8266 Wi-Fi -moduuliaArduinon liittämiseksi verkkopalvelimeen. Tässä olemme käyttäneet paikallista verkkopalvelinta osoittamaan tämän roskatarkkailujärjestelmän toiminnan.
Vaaditut komponentit:
- Arduino Uno (voit käyttää mitä tahansa muuta)
- ESP8266 Wi-Fi-moduuli
- HC-SR04 Ultraäänianturi
- 1K vastukset
- Leipälauta
- Johtojen liittäminen
HC-SR04-ultraäänianturi:
Ultraäänianturia käytetään mittaamaan etäisyys suurella tarkkuudella ja vakailla lukemilla. Se voi mitata etäisyyden 2 cm - 400 cm tai 1 tuumasta 13 jalkaan. Se lähettää ultraääniaallon taajuudella 40KHz ilmassa ja jos esine tulee tielle, se palautuu takaisin anturiin. Käyttämällä aikaa, joka kuluu kohteen lyömiseen ja paluuseen, voit laskea etäisyyden.
Ultraäänianturissa on neljä nastaa. Kaksi ovat VCC ja GND, jotka kytketään Arduinon 5V: iin ja GND: hen, kun taas kaksi muuta nastaa ovat Trig- ja Echo-nastat, jotka liitetään mihin tahansa Arduinon digitaaliseen nastaan. Trig-nasta lähettää signaalin ja Echo-nastaa käytetään signaalin vastaanottamiseen. Ultraäänisignaalin muodostamiseksi joudut asettamaan Trig-nastan korkeaksi noin 10 us: n kohdalle, mikä lähettää 8-syklisen äänipurskeen äänen nopeudella ja kun esine on osunut, Echo-nasta vastaanottaa sen.
Tarkista tarkemmin alla olevat projektit, jotta voit ymmärtää ultraäänianturin toiminnan ja mitata minkä tahansa esineen etäisyyden sitä käyttämällä:
- Arduino-pohjainen etäisyyden mittaus ultraäänianturilla
- Etäisyyden mittaus HC-SR04: llä ja AVR-mikrokontrollerilla
ESP8266 Wi-Fi -moduuli:
ESP8266 on Wi-Fi-moduuli, joka antaa projektiisi pääsyn Wi-Fi- tai Internet-yhteyteen. Se on erittäin halpa laite, mutta se tekee projekteistasi erittäin tehokkaita. Se voi kommunikoida minkä tahansa mikro-ohjaimen kanssa ja tehdä projekteista langattomia. Se on IOT-alustan johtavien laitteiden luettelossa. Se toimii 3.3V: llä ja jos annat sille 5V, se saa vahinkoa.
ESP8266: ssa on 8 nastaa; VCC ja CH-PD kytketään 3.3V: hen wifi-yhteyden mahdollistamiseksi. TX- ja RX-nastat vastaavat ESP8266: n viestinnästä Arduinon kanssa. RX-nasta toimii 3,3 V: n jännitteellä, joten sinun on tehtävä sille jännitejakaja, kuten teimme projektissamme.
Piirikaavio ja selitys:
Ensinnäkin yhdistämme ESP8266: n Arduinoon. ESP8266 toimii 3.3V: llä ja jos annat sille 5V Arduinosta, se ei toimi kunnolla ja se voi vahingoittua. Liitä VCC ja CH_PD Arduinon 3,3 V: n nastaan. ESP8266: n RX-nasta toimii 3.3V: llä, eikä se ole yhteydessä Arduinoon, kun liitämme sen suoraan Arduinoon. Joten meidän on tehtävä sille jännitteenjakaja. Kolme sarjaan kytkettyä 1k-vastusta tekevät työn puolestamme. Liitä RX Arduinon tapiin 11 vastusten kautta alla olevan kuvan mukaisesti ja myös Arduinon TX Arduinon tapiin 10.
Nyt on aika liittää ultraääni-anturi HC-SR04 Arduinoon. Ultraäänianturin liitännät Arduinoon ovat hyvin yksinkertaisia. Liitä VCC ja ultraäänianturin maa 5 V: n ja Arduinon maahan. Liitä sitten ultraäänianturin TRIG- ja ECHO-nasta Arduinon vastaaviin nastoihin 8 ja 9.
Koodin selitys:
Varmista ennen koodin lataamista, että olet yhteydessä ESP8266-laitteen Wi-Fi-verkkoon. Voit tarkistaa koko koodin alla olevasta Koodi-osiosta, koodi on selitetty hyvin kommenteilla, lisäksi olemme selittäneet joitain tärkeitä toimintoja alla.
Arduino lukee ensin ultraäänianturin. Se lähettää ultraäänisignaalin äänen nopeudella, kun teemme TRIG-nastan korkeaksi 10us. Signaali comebackin jälkeen silmiinpistävää objektin ja me tallentaa matka-aika kesto mainitun muuttujan kestoa . Sitten laskemme kohteen etäisyyden (tapauksessamme roskat) soveltamalla kaavaa ja tallennamme sen muuttujaan nimeltä etäisyys .
digitalWrite (trigPin, LOW); viive mikrosekuntia (2); digitalWrite (trigPin, HIGH); viive mikrosekuntia (10); digitalWrite (trigPin, LOW); kesto = pulssi (echoPin, HIGH); etäisyys = kesto * 0,034 / 2;
Tulostettaessa tulos verkkosivulle verkkoselaimessa meidän on käytettävä HTML-ohjelmointia. Joten olemme luoneet merkkijonon nimeltä verkkosivu ja tallentaneet tuotoksen siihen. Olemme ilmoittaneet, että roskakori on tyhjä vai ei. Jos etäisyys on alle 5 cm, verkkosivulla näkyy "Korin on täynnä" ja jos etäisyys on yli 5 cm, verkkosivulla näkyy viesti "Kori on tyhjä".
if (esp8266.available ()) {if (esp8266.find ("+ IPD,")) {viive (1000); int yhteysId = esp8266.luku () - 48; Merkkijono verkkosivu = "
IOT-jätteiden seurantajärjestelmä
"; verkkosivu + =""; if (etäisyys <5) {webpage + =" Roskakori on täynnä ";} else {webpage + =" Roskakori on tyhjä ";} webpage + ="
";Seuraava koodi lähettää ja näyttää tiedot verkkosivulla. Tiedot, jotka olemme tallentaneet merkkijonoon nimeltä "webpage", tallennetaan merkkijonoon nimeltä "command" . ESP8266 lukee sitten merkin yksitellen komentosta ja tulostaa sen verkkosivulle.
Merkkijono sendData (Merkkijono-komento, const int-aikakatkaisu, looginen virheenkorjaus) {String response = ""; esp8266.print (komento); pitkä int-aika = millis (); while ((aika + aikakatkaisu)> millis ()) {while (esp8266.available ()) {char c = esp8266.read (); vaste + = c; }} if (debug) {Serial.print (vastaus); } palautusvastaus; }
Projektin testaus ja tulos:
Kun olet ladannut koodin, avaa Serial Monitor ja se näyttää IP-osoitteen alla olevan kuvan mukaisesti.
Kirjoita tämä IP-osoite selaimeesi, se näyttää tuloksen alla olevan kuvan mukaisesti. Sinun on päivitettävä sivu uudelleen, jos haluat jälleen nähdä, että roskakori on tyhjä.
Joten näin tämä roskienvalvontajärjestelmä toimii, tätä projektia voidaan parantaa edelleen lisäämällä siihen muutama lisäominaisuus, kuten voimme asettaa yhden viestin, kun roskakori on puoliksi täynnä, tai voimme käynnistää sähköpostin / tekstiviestin hälyttämään käyttäjää roskakorista Kori on täynnä.