Shema ožičenja nano senzorja gibanja Arduino. Senzor gibanja z Arduino, HC-SR04 in LED. Spreminjanje časa impulza in časa med impulzi
Pregled prostorskega senzorja HC-SR501
Modul senzorja gibanja (ali prisotnosti) HCSR501, ki temelji na piroelektričnem učinku, je sestavljen iz senzorja 500BP PIR (slika 1) z dodatno električno izolacijo na čipu BISS0001 in Fresnelove leče, ki se uporablja za povečanje radija gledanja in ojačanje infrardečega sevanja. signal (slika 2). Modul se uporablja za zaznavanje gibanja predmetov, ki oddajajo infrardeče sevanje. Senzorski element modula je 500BP PIR senzor. Načelo njegovega delovanja temelji na piroelektriki. To je pojav pojava električnega polja v kristalih, ko se njihova temperatura spremeni.Delovanje senzorja nadzira čip BISS0001. Na plošči sta dva potenciometra, s pomočjo prvega se nastavi razdalja zaznavanja predmeta (od 3 do 7 m), s pomočjo drugega - zakasnitev po prvem delovanju senzorja (5 - 300 s). Modul ima dva načina - L in H. Način delovanja se nastavi z mostičkom. Način L je enojni način delovanja, ko je zaznan premikajoči se predmet, se na izhodu OUT nastavi visok nivo signala za čas zakasnitve, nastavljen z drugim potenciometrom. V tem času se senzor ne odziva na premikajoče se predmete. Ta način se lahko uporablja v varnostnih sistemih za dajanje alarmnega signala sireni. V načinu H se senzor sproži vsakič, ko je zaznano gibanje. Ta način lahko uporabite za vklop osvetlitve. Ob vklopu se modul kalibrira, trajanje kalibracije je približno ena minuta, po tem pa je modul pripravljen za delovanje. Namestite senzor po možnosti stran od odprtih virov svetlobe.
Slika 1. Senzor PIR 500BP
Slika 2. Fresnelova leča
Specifikacije HC-SR501
- Napajalna napetost: 4,5-20 V
- Poraba toka: 50mA
- Izhodna napetost OUT: VISOKA - 3,3 V, NIZKA - 0 V
- Interval zaznave: 3-7m
- Trajanje zakasnitve po sprožitvi: 5 - 300 sek
- Vidni kot do 120
- Čas blokade do naslednje meritve: 2,5 sekunde.
- Načini delovanja: L - posamezno delovanje, H - delovanje na vsak dogodek
- Delovna temperatura -20 do +80C
- Dimenzije 32x24x18 mm
Priključitev infrardečega senzorja gibanja na Arduino
Modul ima 3 izhode (slika 3):- VCC - napajanje 5-20 V;
- GND - ozemljitev;
- OUT - digitalni izhod (0-3,3 V).
Slika 3. Dodelitev pinov in nastavitev HC-SR501
Priključimo modul HC-SR501 na ploščo Arduino (Shema povezave na sliki 4) in napišemo preprosto skico, ki signalizira z zvočnim signalom in sporočilom serijskim vratom, ko zazna premikajoči se predmet. Za popravljanje sprožilcev s strani mikrokontrolerja bomo uporabili zunanje prekinitve na vhodu 2. To je prekinitev int0.
Slika 4. Priključni diagram za priključitev modula HC-SR501 na ploščo Arduino
Naložimo skico iz seznama 1 na ploščo Arduino in poglejmo, kako se senzor odziva na ovire (glej sliko 5). Nastavite modul na delovni način L. Listing 1 // Skica za pregled senzorja gibanja/prisotnosti HC-SR501 // mesto // kontakt za povezavo izhoda senzorja #define PIN_HCSR501 2 // zastavica sprožitve boolean flagHCSR501=false; // priključek zvočnika int soundPin=9; // frekvenca zvočnega signala int freq=587; void setup() ( // inicializacija serijskih vrat Serial.begin(9600); // začetek obdelave prekinitev int0 attachInterrupt(0, intHCSR501,RISING); ) void loop() ( if (flagHCSR501 == true) ( // Sporočilo serijskim vratom Serial.println("Pozor!!!"); // zvočni signal za 5-sekundni ton (soundPin,freq,5000); // zastavica za ponastavitev flagHCSR501 = false; ) ) // obravnava prekinitev void intHCSR501() ( // nastavitev zastavice sprožilca senzorja flagHCSR501 = true; )
Slika 5 Izhod serijskega monitorja
S potenciometri eksperimentiramo s trajanjem signala na izhodu OUT in občutljivostjo senzorja (razdalja fiksiranja predmeta).
Primer uporabe
Ustvarimo primer pošiljanja sms-a, ko se na varovanem objektu sproži senzor gibanja/prisotnosti. Za to bomo uporabili ščit GPS / GPRS. Potrebovali bomo naslednje podatke:- plošča arduino uno
- GSM/GPRS ščit
- npn tranzistor, na primer C945
- upor 470 ohm
- zvočnik 8 ohm 1W
- žice
Slika 6. Diagram povezave
Ko se senzor sproži, pokličemo postopek pošiljanja sms s sms sporočilom Pozorakcija!!! na TELEFONSKO številko. Vsebina skice je prikazana na seznamu 2. GSM/GPRS ščit porabi do 2 A v načinu pošiljanja sms, zato uporabljamo zunanji napajalnik 12V 2A. Seznam 2 // Skica 2 za pregled senzorja gibanja/prisotnosti HC-SR501 // pošiljanje SMS-a ob sprožitvi senzorja // mesto // kontakt za povezavo izhoda senzorja #define PIN_HCSR501 2 // zastavica sprožitve boolean flagHCSR501 false; // priključek zvočnika int soundPin=9; // frekvenca zvočnega signala int freq=587; // Knjižnica SoftwareSerial #include
Pogosto zastavljena vprašanja FAQ
1. Modul ne deluje, ko se predmet premika- Preverite, ali je modul pravilno priključen.
- S potenciometrom nastavite razdaljo zaznavanja.
- S potenciometrom nastavite zakasnitev trajanja signala.
- Nastavite mostiček na način enojnega delovanja L.
Senzorji PIR (pasivni infrardeči senzorji) omogočajo zajem gibanja.
Zelo pogosto se uporablja v alarmnih sistemih. Ti senzorji so majhni, poceni, porabijo malo energije, so enostavni za uporabo in se praktično ne obrabijo. Takšne senzorje poleg PIR imenujemo še piroelektrični in infrardeči senzorji gibanja.
Pirloelektrični senzor gibanja - splošne informacije
Senzorji gibanja PIR so v bistvu sestavljeni iz piroelektričnega zaznavalnega elementa (valjasti del s pravokotnim kristalom v sredini), ki zaznava nivo infrardečega sevanja. Vse okoli oddaja majhno stopnjo sevanja. Višja kot je temperatura, višja je raven sevanja. Senzor je pravzaprav razdeljen na dva dela. To je posledica dejstva, da za nas ni pomembna stopnja sevanja, temveč neposredno prisotnost gibanja v območju njegove občutljivosti. Dva dela senzorja sta nastavljena tako, da če ena polovica zajame več sevanja kot druga, bo izhodni signal ustvaril visoko ali nizko vrednost.
Sam modul, na katerega je nameščen senzor gibanja, je sestavljen tudi iz dodatne električne napeljave: varovalke, upori in kondenzatorji. Večina poceni senzorjev PIR uporablja poceni čipe BISS0001 ("Micro Power PIR Motion Detector IC"). Ta čip zaznava zunanji vir sevanja in izvaja minimalno obdelavo signala, da ga pretvori iz analogne v digitalno obliko.
Eden od osnovnih modelov piroelektričnih senzorjev tega razreda izgleda takole:
Novejši modeli PIR senzorjev imajo dodatne izhode za dodatno konfiguracijo in prednameščene konektorje za signal, napajanje in maso:
Senzorji PIR so odlični za projekte, ki morajo zaznati prisotnost ali odsotnost osebe v določenem delovnem prostoru. Poleg zgoraj navedenih prednosti takih senzorjev imajo veliko območje občutljivosti. Vendar upoštevajte, da vam piroelektrični senzorji ne bodo dali informacij o tem, koliko ljudi je v bližini in kako blizu so senzorju. Poleg tega lahko delajo na hišnih ljubljenčkih.
Splošne tehnične informacije
Te specifikacije veljajo za senzorje PIR, ki se prodajajo v trgovini Adafruit. Načelo delovanja podobnih senzorjev je podobno, čeprav se tehnične specifikacije lahko razlikujejo. Torej, preden začnete s senzorjem PIR, preverite njegov podatkovni list.
- Oblika: pravokotnik;
- Cena: okoli 10,00 $ v trgovini Adafruit;
- Izhodni signal: digitalni impulz visok (3V), ko je gibanje in digitalni signal nizek, ko ni gibanja. Dolžina impulza je odvisna od uporov in kondenzatorjev na samem modulu in je pri različnih senzorjih različna;
- Območje občutljivosti: do 6 metrov. Vidni kot 110° x 70°;
- Napajanje: 3V - 9V, vendar je najboljša možnost 5 voltov;
>Za naročilo pri Aliexpressu:
Princip delovanja piroelektričnih (PIR) senzorjev gibanja
PIR senzorji niso tako enostavni, kot se morda zdi na prvi pogled. Glavni razlog je veliko število spremenljivk, ki vplivajo na njegove vhodne in izhodne signale. Za razlago osnov delovanja senzorjev PIR uporabljamo spodnjo sliko.
Piroelektrični senzor gibanja je sestavljen iz dveh glavnih delov. Vsak del vključuje poseben material, ki je občutljiv na infrardeče sevanje. V tem primeru leče ne vplivajo posebej na delovanje tipala, zato vidimo dve področji občutljivosti celotnega modula. Ko senzor miruje, oba senzorja zaznata enako količino sevanja. Lahko je na primer sevanje prostora ali zunanjega okolja. Ko toplokrvni objekt (človek ali žival) gre mimo, prečka območje občutljivosti prvega senzorja, zaradi česar se na senzorskem modulu PIR ustvarita dve različni vrednosti sevanja. Ko oseba zapusti območje občutljivosti prvega senzorja, se vrednosti poravnajo. Spremembe v odčitkih obeh senzorjev so tiste, ki se zabeležijo in ustvarijo VISOKE ali NIZKE impulze na izhodu.
Zasnova senzorja PIR
Občutljivi elementi senzorja PIR so nameščeni v kovinskem hermetičnem ohišju, ki ščiti pred zunanjim hrupom, temperaturnimi spremembami in vlago. Pravokotnik v sredini je narejen iz materiala, ki prepušča infrardeče sevanje (običajno material na osnovi silikona). Za to ploščo sta dva občutljiva elementa.
Slika iz podatkovnega lista Murata:
Slika iz podatkovnega lista RE200B:
Slika iz podatkovnega lista RE200B prikazuje dva občutljiva elementa:
Zgornja slika prikazuje diagram notranje povezave.
leče
Infrardeči senzorji gibanja so po svoji zgradbi skoraj enaki. Glavne razlike so v občutljivosti, ki je odvisna od kakovosti občutljivih elementov. V tem primeru ima optika pomembno vlogo.
Zgornja slika prikazuje primer plastične leče. To pomeni, da je območje občutljivosti senzorja sestavljeno iz dveh pravokotnikov. Toda praviloma moramo zagotoviti velike kote gledanja. Če želite to narediti, lahko uporabite leče, podobne tistim v fotoaparatih. V tem primeru mora biti leča za senzor gibanja majhna, tanka in izdelana iz plastike, čeprav dodaja šum meritvam. Zato večina senzorjev PIR uporablja Fresnelove leče (slika iz revije Sensors Magazine):
Fresnelove leče koncentrirajo sevanje in znatno razširijo obseg občutljivosti piro senzorjev (slika iz BHlens.com)
Slika iz Cypress appnote 2105:
Zdaj imamo veliko večji razpon občutljivosti. Hkrati se spomnimo, da imamo dva občutljiva elementa in ne potrebujemo toliko dveh velikih pravokotnikov kot veliko število majhnih občutljivih območij. Da bi to naredili, je leča razdeljena na več delov, od katerih je vsaka ločena Fresnelova leča.
Na spodnji sliki si lahko ogledate posamezne razdelke – Fresnelove leče:
Na tem makro posnetku opazite, da je tekstura posameznih leč drugačna:
Posledično se oblikuje cel niz občutljivih območij, ki medsebojno delujejo.
Slike iz podatkovnega lista NL11NH:
Spodaj je še ena risba. Svetlejši, a manj informativen. Upoštevajte tudi, da ima večina senzorjev vidno polje 110 stopinj, ne 90.
Slika iz IR-TEC:
Priključek senzorja gibanja PIR
Večina modulov infrardečih senzorjev gibanja ima na zadnji strani tri priključke. Pinout se lahko razlikuje, zato ga preverite pred povezavo! Običajno so poleg priključkov narejeni ustrezni napisi. En konektor gre na tla, drugi daje signal, ki nas zanima od senzorjev, tretji - tla. Napajalna napetost je običajno 3-5 voltov DC. Vendar pa včasih obstajajo senzorji z napajalno napetostjo 12 voltov. Nekateri veliki senzorji nimajo ločenega signalnega zatiča. Namesto tega se uporablja rele z maso, močjo in dvema stikaloma.
Za prototip vaše naprave z infrardečim senzorjem gibanja je priročno uporabiti vezje, saj ima večina teh modulov tri konektorje, razdalja med katerimi je izračunana točno za luknje na mizi.
V našem primeru rdeči kabel ustreza napajanju, črni ozemljitvi, rumeni pa signalu. Če kable priključite nepravilno, senzor ne bo odpovedal, vendar ne bo deloval.
Testiranje senzorja gibanja PIR
Sestavite vezje v skladu z zgornjo sliko. Posledično, ko senzor PIR zazna gibanje, se na izhodu ustvari signal VISOK, ki ustreza 3,3 V, LED pa zasveti.
Upoštevajte, da se mora piroelektrični senzor "stabilizirati". Namestite baterije in počakajte 30-60 sekund. V tem času lahko LED utripa. Počakajte, da utripanje preneha in lahko začnete mahati z rokami in hoditi okoli senzorja ter opazovati, kako sveti LED!
Nastavitev ponovnega zagona senzorja
Piroelektrični senzor gibanja ima več tinktur. Najprej si bomo ogledali "ponovni zagon".
Po priključitvi si oglejte zadnjo stran modula. Konektorji morajo biti nameščeni v zgornjem levem kotu L, kot je prikazano na spodnji sliki.
Upoštevajte, da s to možnostjo povezave LED ne gori nenehno, ampak se vklopi in izklopi, ko se približate. To je možnost "brez ponovnega sprožitve".
Sedaj nastavite konektor v položaj H. Po testiranju se bo izkazalo, da LED lučka stalno sveti, če se nekdo premakne znotraj območja občutljivosti senzorja. To je način ponovnega zagona.
Spodnja slika je iz podatkovnega lista senzorja BISS0001:
V večini primerov je način "ponovnega zagona" (konektor v položaju H, kot je prikazano na spodnji sliki) boljši.
Nastavitev občutljivosti
Veliko infrardečih senzorjev gibanja, vključno s tistimi iz Adafruita, ima majhen potenciometer za prilagajanje občutljivosti. Obrt potenciometra v smeri urinega kazalca poveča občutljivost senzorja.
Spreminjanje časa impulza in časa med impulzi
Pri PIR senzorjih sta pomembna dva "zakasnitvena" časa. Prvič -Tx: kako dolgo lučka LED ostane prižgana po zaznavi gibanja. Na številnih piroelektričnih modulih ta čas nadzira vgrajeni potenciometer. Drugi časovni interval je Ti: koliko časa je zagotovljeno, da LED ne sveti, ko ni bilo gibanja. Spreminjanje tega parametra ni tako enostavno, za to boste morda potrebovali spajkalnik.
Oglejmo si podatkovni list BISS:
Senzorji Adafruit imajo potenciometer z oznako TIME. To je spremenljivi upor z uporom 1 megaohm, ki je dodan 10 kilohmskim uporom. Kondenzator C6 ima kapaciteto 0,01 mikrofarada, torej:
Tx = 24576 x (10 kOhm + Rtime) x 0,01 uF
Ko je potenciometer Rtime v položaju "nič" - do konca v nasprotni smeri urnega kazalca (0 megohmov):
Tx = 24576 x (10 kΩ) x 0,01 uF = 2,5 sekunde (približno) Ko je lonček Rtime obrnjen do konca v smeri urinega kazalca (1 megaohm):
Tx = 24576 x (1010 kΩ) x 0,01 uF = 250 sekund (približno)
V srednjem položaju RTime bo čas približno 120 sekund (dve minuti). To pomeni, da če želite slediti gibanju predmeta s hitrostjo enkrat na minuto, zavrtite potenciometer za 1/4 obrata.
Za starejše/druge modele PIR senzorjev
Če vaš senzor nima potenciometrov, lahko prilagodite z uporabo uporov.
Zanimajo nas upori R10 in R9. Kitajci žal znajo marsikaj narediti. Vključno z zmedenimi napisi. Zgornja slika prikazuje primer, ki kaže, da je R9 zamenjan z R17. Sledite povezavi na podatkovnem listu. R10 je priključen na pin 3, R9 je povezan na pin 7.
Na primer:
Tx je = 24576 * R10 * C6 = ~1,2 sekunde
R10 = 4,7 K in C6 = 10 nanofaradov
Ti = 24 * R9 * C7 = ~1,2 sekunde
R9 = 470K in C7 = 0,1 mikrofarada
Čas zakasnitve lahko spremenite z namestitvijo različnih uporov in kondenzatorjev.
Priključitev PIR senzorja gibanja na Arduino
Napišimo program za branje vrednosti iz piroelektričnega senzorja gibanja. Priključitev PIR senzorja na mikrokontroler je preprosta. Senzor oddaja digitalni signal, tako da je vse, kar morate storiti, prebrati signal HIGH (zaznano gibanje) ali LOW (ni gibanja) iz zatiča Arduino.
Pri tem ne pozabite konektorja nastaviti v položaj H!
Priključite 5 voltov na senzor. Zemlja je povezana z zemljo. Nato priključite signalni zatič senzorja na digitalni zatič na Arduinu. V tem primeru je uporabljen pin 2.
Program je preprost. Pravzaprav spremlja stanje pina 2. In sicer: kakšen signal je na njem: LOW ali HIGH. Poleg tega se vnese sporočilo, ko se stanje zatiča spremeni: premikanje je ali ni premikanja.
* preverite senzor gibanja PIR
int ledPin = 13; // inicializiraj pin za LED
int inputPin = 2; // inicializirajte zatič za sprejem signala iz piroelektričnega senzorja gibanja
int pirState = LOW; // zagon programa ob predpostavki, da ni premika
intval = 0; // spremenljivka za branje stanja zatiča
pinMode(ledPin, IZHOD); // deklariraj LED kot IZHOD
pinMode(inputPin, INPUT); // deklariraj senzor kot INPUT
Serial.begin(9600);
val = digitalRead(inputPin); // preberite vrednost s senzorja
if (val == HIGH) ( // preveri, ali je prebrana vrednost VISOKA
digitalWrite(ledPin, HIGH); // vklopi LED
if (pirState == LOW) (
// pravkar smo vključili
Serial.println("Zaznano gibanje!");
pirState=VISOKO;
digitalWrite(ledPin, LOW); // izklopi LED
if (pirState == HIGH)(
// pravkar smo ga izklopili
Serial.println("Gibanje končano!");
// na serijskem monitorju prikazujemo spremembo, ne stanja
Ne pozabite, da mikrokrmilnik ni vedno potreben za delo s piroelektričnim senzorjem. Včasih se lahko rešite s preprostim relejem.
Senzorji PIR (pasivni infrardeči senzorji) omogočajo zajem gibanja. Zelo pogosto se uporablja v alarmnih sistemih. Ti senzorji so majhni, poceni, porabijo malo energije, so enostavni za uporabo in se praktično ne obrabijo. Takšne senzorje poleg PIR imenujemo še piroelektrični in infrardeči senzorji gibanja.
Pojavila se je potreba po nakupu par senzorjev za domačo rabo v obrti na osnovi LED osvetlitve ozadja.
Ker so moji tokovi porabe relativno majhni, napajalna napetost pa 12 V, so bili nabavljeni kompaktni piroelektrični infrardeči senzorji gibanja v ohišju.
Paket:
Naročil sem dva senzorja z možnostjo nastavitve fotoobčutljivosti:
Senzorji podpirajo moč od 12 do 24 voltov. Imajo že spajkane standardne žice dolžine cca 30 cm z vtičnicami za vhod in izhod, z 2,1 mm sredinskim zatičem in to je velik plus. Ničesar vam ni treba spajkati, samo priključite napajalnik in uporabite:
Sami senzorji so precej kompaktni. Videz:
Dimenzije:
Če želite priti do plošče in nastavitev, morate odpreti ohišje. Zadnji pokrov na zapahih, odstranite z izvijačem:
Plača izgleda takole:
Našel sem diagram te naprave, ocene se lahko razlikujejo, a na splošno je za razumevanje bistva dela pravilno:
Tukaj vidimo regulator napetosti na vhodu za napajanje mikrovezja:
Mimogrede, tukaj je podatkovni list tega elementa, je razvidno, da različne oznake pomenijo različne stabilizirane izhodne napetosti. Glavna stvar pa je, da podpira vhodno napetost do 24 voltov, zato je ne smete preseči.
Nadalje je v skladu s shemo na izhodu tranzistor z učinkom polja, ki je ključ v tokokrogu moči:
Podatkovni list navaja največji neprekinjeni tok pri normalni sobni temperaturi 15 A, a ker nimamo tranzistorskega hlajenja, smo omejeni pri izhodni moči.
Srce naprave je čip Biss0001, ki zaznava zunanji vir sevanja in izvaja minimalno obdelavo signala, da ga pretvori iz analogne v digitalno obliko:
Senzor gibanja PIR je v bistvu sestavljen iz piroelektričnega zaznavalnega elementa (valjastega kosa s pravokotnim kristalom v sredini), ki zaznava raven infrardečega sevanja. Senzor je pravzaprav razdeljen na dva dela. To je posledica dejstva, da za nas ni pomembna stopnja sevanja, temveč neposredno prisotnost gibanja v območju njegove občutljivosti. Dva dela senzorja sta nastavljena tako, da če ena polovica zajame več sevanja kot druga, bo izhodni signal ustvaril visoko ali nizko vrednost.
Zdaj pa neposredno k prilagoditvam. Napravo sem nastavil, v skladu s tem vrgel, kaj in kam obrniti:
Čas je nastavljiv od 1 sekunde do 500 sekund. Ko je drsnik popolnoma odvit, lučka samo utripa.
Glede praga za vklop senzorja sem eksperimentalno ugotovil, da je ta napetost od 11,5 voltov, če je nižja, se senzor preprosto ne vklopi:
Glede na diagram je razvidno, da je izhodna napetost senzorja manjša ali enaka vhodni. Nastavil sem na 12v. pride do napake v obliki netočnega prikaza napajanja, zato je poraba samega senzorja seveda manjša:
V stanju pripravljenosti senzor porabi 84 μA, izhodna napetost pa je 170 mV.
Če sem iskren, je nastavitev senzorja zelo neprijetna z odstranjeno ploščo, zato sem naredil luknje na zadnjem pokrovu in je veliko bolje takole:
Zbral sem shemo, nastavil vse:
Preverjeno:
Senzor dela že dva dni, drugega sem dal na osvetlitev stojala za slušalke in to mi je všeč, za razliko od prejšnjega, ki je delal iz 220 V, je bil večji in je klikal rele, je ta bolj kompakten in seveda tih.
Nisem izmeril največjega dosega, vendar v stanovanju od 3 metrov zagotovo deluje
Sem zadovoljen z nakupom? Popolna, kakovostno izdelana naprava.
Kaj nam je bilo všeč:
+ Popolnoma prilagodljiv način delovanja
+ Minimalna lastna poraba
+ Kvalitetna izdelava in kompaktnost
+ Jasnost delovanja brez vrzeli
+ Prisotnost žic z vtičnicami
Kaj ni bilo všeč:
- Pomanjkanje neposrednega dostopa do nastavitev brez razčlenjevanja primera (trdno)
- Montažna ušesa so zelo majhna (vendar je bolje namestiti na dvostranski trak kot 3M)
Bela kapica senzorja štrli iz črnega ohišja, vendar je pri možnosti brez svetlobnega senzorja črna.
To je vse.
V tej vadnici vam bomo pokazali, kako narediti senzor gibanja z ultrazvočnim senzorjem (HC-SR04), ki bo vsakič vklopil LED. Komponente za to lekcijo lahko naročite v kateri koli priročni trgovini in na koncu na naši spletni strani.
Lekcija je primerna za začetnike, zanimiva pa bo tudi za bolj izkušene inženirje.
Spodaj je celoten seznam komponent, ki nam bodo koristile za našo lekcijo.
1 x plošča Arduino (uporabili smo Arduino Uno)
1 x LED (LED, barva ni pomembna)
1 x upor/upor 220 ohm
1 x razvojna plošča
1 x Arduino USB kabel
1 x 9V baterija s sponko (izbirno)
6 x vodi
2. korak: Namestitev delov
Najprej povežite ultrazvočni senzor in LED na mizi. Priključite kratek kabel LED (katoda) na zatič GND (ozemljitev) senzorja. Nato namestite upor v isto vrsto kot daljša žica LED (anoda), tako da sta povezana.
3. korak: Povezovanje delov
Zdaj morate povezati nekaj žic na zadnji strani senzorja. Obstajajo štirje nožice - VCC, TRIG, ECHO in GND. Po vstavitvi žic morate izvesti naslednje povezave:
Konec upora na digitalnem zatiču po vaši izbiri, le ne pozabite ga spremeniti pozneje v kodi.
Senzor -> Arduino
VCC -> 5V (moč)
TRIG -> 5*
ECHO -> 4*
GND -> GND (zemlja)
* - lahko se poveže s katerima koli dvema digitalnima zatičema Arduino, le poskrbi, da ju pozneje spremeniš v kodi.
Zdaj lahko Arduino povežete z računalnikom s kablom USB. Odprite programsko opremo Arduino in prenesite kodo, ki jo najdete spodaj. Konstante so komentirane, tako da natančno veste, kaj počnejo, in jih lahko spremenite.
Const int ledPin = 6; // LED digitalni izhod const int trigPin = 5; // Digitalni izhod za povezavo TRIG const int echoPin = 4; // Digitalni izhod za povezavo ECHO const int ledOnTime = 1000; // Čas, ko LED sveti po zaznavi gibanja (v milisekundah, 1000ms = 1s) const int trigDistance = 20; // Razdalja (in manjša vrednost), pri kateri se senzor sproži (v centimetrih) int duration; int razdalja; void setup() ( pinMode(ledPin, OUTPUT); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); ) void loop() ( digitalWrite(trigPin, LOW); digitalWrite(trigPin, HIGH); delay(1) ; digitalWrite(trigPin, LOW); trajanje = pulseIn(echoPin, HIGH); razdalja = trajanje * 0,034 / 2; če (razdalja<= trigDistance) { digitalWrite(ledPin, HIGH); delay(ledOnTime); digitalWrite(ledPin, LOW); } delay(100); }
5. korak: končni rezultat (video)
Končni rezultat senzorja gibanja in njegovo delovanje si lahko ogledate v spodnjem videu.
Vse dobre projekte!
Tema današnje lekcije je senzor gibanja na osnovi piroelektričnega učinka (PIR, pasivni infrardeči senzor gibanja). Takšni senzorji se pogosto uporabljajo v varnostnih sistemih in v vsakdanjem življenju za zaznavanje gibanja v prostoru. Na primer, princip zaznavanja gibanja temelji na samodejnem vklopu luči na vhodu ali v kopalnici. Piroelektrični senzorji so precej preprosti, poceni in nezahtevni pri namestitvi in vzdrževanju. Mimogrede, obstajajo tudi drugi načini zaznavanja gibanja. Danes se sistemi računalniškega vida vse bolj uporabljajo za prepoznavanje predmetov in poti njihovega gibanja. V istih varnostnih sistemih se uporabljajo laserski detektorji, ki dajo alarmni signal ob prečkanju žarka. Uporabljajo se tudi termovizijski senzorji, ki so sposobni zaznati gibanje samo živih bitij.
1. Načelo delovanja piroelektričnih senzorjev gibanja
Piroelektriki so dielektriki, ki ob spremembi svoje temperature ustvarijo električno polje. Na osnovi piroelektrike so izdelani temperaturni senzorji, na primer LHI778 ali IRA-E700. Vsak tak senzor vsebuje dva občutljiva elementa velikosti 1×2 mm, povezana z nasprotno polariteto. In kot bomo videli kasneje, nam bo prisotnost točno dveh elementov pomagala zaznati gibanje. Takole izgleda Muratin senzor IRA-E700. V tej lekciji bomo delali s senzorjem gibanja HC-SR501, ki ima en tak piroelektrični senzor. Od zgoraj je piroelektrik obdan s polkroglo, razdeljeno na več segmentov. Vsak segment te krogle je leča, ki fokusira toplotno sevanje na različna področja senzorja PIR. Fresnelova leča se pogosto uporablja kot leča.Načelo delovanja senzorja gibanja je naslednje. Predpostavimo, da je senzor nameščen v praznem prostoru. Vsak občutljiv element prejme konstantno dozo sevanja, kar pomeni, da ima napetost na njih konstantno vrednost (leva slika).
Takoj, ko oseba vstopi v prostor, najprej vstopi v vidno polje prvega elementa, kar vodi do pojava pozitivnega električnega impulza na njem (osrednji lik). Človek se premika in njegovo toplotno sevanje skozi leče zadene drugi element PIR, ki ustvari negativen impulz. Elektronsko vezje senzorja gibanja registrira te večsmerne impulze in sklepa, da je oseba padla v vidno polje senzorja. Na izhodu senzorja se ustvari pozitiven impulz (desna slika).
2. Nastavitev HC-SR501
V tej lekciji bomo uporabili modul HC-SR501. Ta modul je zelo pogost in se zaradi nizkih stroškov uporablja v številnih projektih DIY. Senzor ima dva spremenljiva upora in mostiček za nastavitev načina. Eden od potenciometrov nadzoruje občutljivost naprave. Večji kot je, dlje "vidi" senzor. Občutljivost vpliva tudi na velikost zaznanega predmeta. Na primer, psa ali mačko lahko izključite iz sprožitve.Drugi potenciometer prilagodi odzivni čas T . Če senzor zazna gibanje, ustvari pozitiven impulz dolžine T . Končno, tretji nadzor je mostiček, ki preklopi način senzorja. Noseča L senzor šteje T že od prve operacije. Recimo, da želimo nadzorovati svetlobo v kopalnici. Ko vstopi v sobo, bo oseba sprožila senzor in luč se bo vklopila točno za nekaj časa T . Ob koncu obdobja se bo izhodni signal vrnil v prvotno stanje in senzor bo dal naslednji sprožilec. Noseča H senzor začne meriti čas T vsakič po zaznavi gibanja. Z drugimi besedami, vsako človeško gibanje bo ponastavilo odštevalnik časa. T . Privzeto je mostiček v stanju H .
3. Povezovanje HC-SR501 z Arduino Uno
Za povezavo z mikrokontrolerjem ali neposredno z relejem ima HC-SR501 tri pine. Na Arduino jih povežemo na naslednji način:HC-SR501 | GND | VCC | VEN |
Arduino Uno | GND | +5V | 2 |
Videz postavitve
Program Kot že omenjeno, digitalni izhod senzorja HC-SR501 ob sprožitvi ustvari visoko raven signala. Napišimo preprost program, ki bo v serijska vrata poslal "1", če bo senzor zaznal gibanje, in "0" v nasprotnem primeru. const int movPin = 2 void setup() ( Serial.begin(9600); pinMode(movPin, INPUT); ) void loop()( int val = digitalRead(movPin); Serial.println(val); delay(100); ) Program naložimo na Arduino in preverimo delovanje senzorja. Nastavitve senzorja lahko prilagodite in vidite, kako to vpliva na njegovo delovanje.
4. Nadzor svetlobe na podlagi senzorja gibanja
Naslednji korak je avtomatski sistem osvetlitve. Za nadzor razsvetljave v prostoru moramo v vezje dodati rele. Uporabili bomo relejni modul z zaščito na osnovi optocouplerja, o katerem smo že pisali v eni od lekcij (lekcija o relejih). Pozor! To vezje prižge svetilko iz omrežja 220 voltov. Priporočljivo je, da sedemkrat preverite vse povezave, preden vezje priključite na gospodinjsko napajanje. shema vezjaVidez postavitve
Program Zdaj pa napišimo program, ki bo ob sprožitvi senzorja vklopil rele in s tem osvetlitev v prostoru. const int movPin = 2; const int relPin = 3; void setup() ( Serial.begin(9600); pinMode(movPin, INPUT); pinMode(relPin, OUTPUT); ) void loop()( int val = digitalRead(movPin); if (val) digitalWrite(relPin, HIGH) ; else digitalWrite(relPin, LOW); ) Program naložimo na Arduino, vezje previdno priključimo na gospodinjsko omrežje in preverimo delovanje senzorja. Zaključek Senzorji gibanja so povsod okoli nas. Zahvaljujoč varnostnim sistemom jih je mogoče najti v skoraj vsaki sobi. Kot smo ugotovili, so zelo enostavni za uporabo in jih je mogoče enostavno vključiti v kateri koli projekt Arduino ali Raspberry Pi. Tukaj je nekaj situacij in krajev, kjer lahko senzor gibanja pride prav:
- samodejni vklop luči v vhodu v hišo, v kopalnici in stranišču, pred vhodnimi vrati v sobo;
- alarm v zaprtih prostorih in na prostem;
- samodejno odpiranje vrat;
- samodejni vklop varnostne kamere.