Turvallisuus on aina ollut meille kaikille tärkeä huolenaihe, ja markkinoilla on monia Hi-tech- ja IoT-pohjaisia turvallisuus- ja valvontajärjestelmiä. Tunkeilija tai murtohälytin on yksi klassisista ja suosituista projekteista elektroniikan opiskelijoiden ja harrastajien keskuudessa. Olemme myös rakentaneet monia murtohälytyksiä, jotka perustuvat erilaisiin tekniikoihin:
- Laser-hälytyspiiri
- IR-pohjainen turvahälytys
- Murtohälytys PIR: n avulla
- GSM-pohjainen turvajärjestelmä
Tänään lisäämme luetteloon vielä yhden turvahälytyksen, joka perustuu ultraäänianturiin. Tämä Arduino-ohjattu oven hälytys voidaan asentaa oven lähelle havaitsemaan kenenkään läsnäolo ovella. Aina kun joku tulee ultraäänianturin alueelle, summeri alkaa piipata. Voit säätää anturin tunnistusaluetta oven mukaan. Tämä järjestelmä voi palvella myös liiketunnistinta.
Vaaditut komponentit:
- Leipälauta
- Ultraäänianturi
- Summeri
- Arduino Mega (mikä tahansa malli)
- Neulalangat
- USB-kaapeli Arduinolle tai 12v, 1A -sovittimelle.
Ultraäänianturimoduuli:
Ultraäänianturia HC-SR04 käytetään tässä havaitsemaan kenenkään oven läsnäolo. Anturimoduuli koostuu ultraäänilähettimestä, vastaanottimesta ja ohjauspiiristä. Ultraäänianturi koostuu kahdesta pyöreästä silmästä, joista toista käytetään ultraäänen lähettämiseen ja toista sen vastaanottamiseen.
Voimme laskea kohteen etäisyyden sen ajan perusteella, jonka ultraääniaalto palaa takaisin anturiin. Koska äänen aika ja nopeus tunnetaan, voimme laskea etäisyyden seuraavilla kaavoilla.
- Etäisyys = (aika x äänen nopeus) / 2
Arvo jaetaan kahdella, koska aalto kulkee eteenpäin ja taaksepäin samalla etäisyydellä. Mutta tässä projektissa olemme käyttäneet NewPing.h- kirjastoa, ja tämä kirjasto huolehtii tästä laskelmasta, ja meidän on vain käytettävä joitain avainsanoja, selitys annetaan alla olevassa ohjelmointiosassa.
Tarkista alla oleva projekti mitataksesi minkä tahansa kohteen etäisyyden ja ymmärtääksesi ultraäänianturin toiminnan:
- Arduino-pohjainen etäisyyden mittaus ultraäänianturilla
- Etäisyyden mittaus HC-SR04: llä ja AVR-mikrokontrollerilla
Piirikaavio ja selitys:
Tämän ultraäänihälytyksen piiriliitännät ovat hyvin yksinkertaisia. Ultraäänianturin liipaisintappi on kytketty tapiin nro. 12 Arduinon ja Echo-anturin nasta on kytketty Arduinon nastaan 11. Anturin Vcc on kytketty Arduinon 5 V: n napaan ja anturin GND on kytketty Arduinon GND: hen. Yksi tappi summeri on kytketty GND Arduino ja toinen tappi on liitetty 8 th pin Arduino.
Työselitys:
Tämän Arduino-ovihälytyksen käyttäminen on erittäin helppoa. Aina kun joku saapuu ultraäänianturin polulle / alueelle, mikrokontrolleri havaitsee kohteen etäisyyden anturista ja jos esine on määritetyllä alueella, se lähettää korkean signaalin summerille ja summeri alkaa piipata.
Voit testata virtapiirin asettamalla minkä tahansa anturin eteen olevalle alueelle. Tarkista video esittelystä. Tätä ultraäänianturin toimintoa voidaan käyttää myös esteen välttämisen robotin rakentamiseen.
Ohjelmoinnin selitys:
Tässä projektissa olemme käyttäneet Tim Eckelin kehittämää NewPing.h- kirjastoa ultraäänitunnistimelle. Vaikka voimme käyttää ultraäänianturia ilman tätä kirjastoa, kuten teimme edellisessä projektissamme, mutta tämä kirjasto tarjoaa monia hyviä ominaisuuksia ultraäänianturille ja on helppo koodata ultraäänianturia tämän kirjaston avulla. Voimme käyttää ultraäänianturin toimintoja helposti käyttämällä tätä kirjastoa kirjoittamatta liikaa koodirivejä; se on kuin muut kirjastot, joita käytetään käsittelemään monimutkaisuutta alemmalla tasolla.
#sisältää
Voit tarkistaa tämän kirjaston kaikki ominaisuudet, käyttötavat ja näytekoodit seuraamalla tätä linkkiä. Tarkista myös tämän kirjaston virallinen Arduino-sivu.
Kirjaston uusin julkaisu voidaan ladata yllä olevasta linkistä. Lisäksi olemme ladanneet kirjaston alla olevasta linkistä, joka on muokattu Teensylle:
github.com/PaulStoffregen/NewPing
Testaa ensin anturi polttamalla sen sivulla annettuja esimerkkikoodeja. Olemme käyttäneet projektissamme myös esimerkkikoodeja ja muokkaaneet niitä oven hälytysprojektimme mukaan.
Liipaisinpistoke on kytketty Arduinon tapaan 12 ja Echo-nasta Arduinon tapaan 11. MAX_DISTANCE tarkoittaa, että etäisyys, johon anturi pystyy havaitsemaan esteen, on 500 cm tai 5 m.
#define TRIGGER_PIN 12 #define ECHO_PIN 11 #define MAX_DISTANCE 500
Viivan alapuolella on tiedonsiirtonopeus, jolla tiedot lähetetään Arduino-sarjaporttiin ultraäänianturista.
Sarjan alku (115200);
Tappi nro 10 on määritetty lähtönastaksi ja kytketty summeriin. Toinen summerin tappi on kytketty Arduinon GND: hen.
pinMode (10, OUTPUT);
In void echoCheck () funktio, sonar.ping_result / US_ROUNDTRIP_CM käytetään laskea etäisyys esteen anturin. lippua käytetään äänimerkin suorittamiseen, kun este on 50 cm: n päässä ultraäänianturista. Voit muuttaa tätä etäisyyttä vaatimuksesi tai oven koon mukaan.
jos ((kaikuluotaimen_tulos / US_ROUNDTRIP_CM) <50) lippu = 1; else if ((kaikuluotaimen_tulos / US_ROUNDTRIP_CM)> 50) lippu = 0;
NewPing.h- kirjaston kirjoittaja kommentoi koodia erittäin hyvin ja se on helposti ymmärrettävä. Lisäksi voit tarkistaa itse kirjastosivun saadaksesi paremman käsityksen siitä ja voit käyttää tätä kirjastoa monimutkaisten projektien tekemiseen ultraäänianturin avulla. Tämän ovihälytysprojektin täydellinen koodi on annettu alla.
Ensisijaisesti ultraäänianturia käytetään etäisyyden mittaamiseen mistä tahansa esineestä, mutta tässä voimme nähdä, että sitä voidaan käyttää turva- tai ovihälytys Arduinon kanssa. Samoin voimme luoda monia hyödyllisiä projekteja käyttämällä tätä: Automaattinen veden tason ilmaisin ja ohjain Arduinoa käyttämällä