„Pasidaryk pats“ relė judesio jutikliui „pir“. Apie judesio jutiklį ir jo prijungimą prie Arduino

„Pasidaryk pats“ relė judesio jutikliui „pir“. Apie judesio jutiklį ir jo prijungimą prie Arduino

26.06.2023

HC-SR501 erdvės jutiklio apžvalga

HCSR501 judesio (arba buvimo) jutiklio modulis, pagrįstas piroelektriniu efektu, susideda iš 500 BP PIR jutiklio (1 pav.) su papildoma BISS0001 lusto elektrine izoliacija ir Frenelio objektyvo, kuris naudojamas matymo spinduliui padidinti ir infraraudoniesiems spinduliams sustiprinti. signalas (2 pav.). Modulis naudojamas infraraudonąją spinduliuotę skleidžiančių objektų judėjimui aptikti. Modulio jutimo elementas yra 500 BP PIR jutiklis. Jo veikimo principas pagrįstas piroelektra. Tai elektrinio lauko atsiradimo kristaluose reiškinys, kai keičiasi jų temperatūra.

Jutiklio veikimą valdo BISS0001 lustas. Plokštėje yra du potenciometrai, kurių pirmojo pagalba nustatomas objekto aptikimo atstumas (nuo 3 iki 7 m), antrojo pagalba - uždelsimas po pirmojo jutiklio veikimo (5 - 300). sek.). Modulis turi du režimus - L ir H. Darbo režimas nustatomas naudojant trumpiklį. L režimas yra vieno veikimo režimas, kai aptikus judantį objektą, OUT išėjime nustatomas aukštas signalo lygis antrojo potenciometro nustatytam delsos laikui. Per šį laiką jutiklis nereaguoja į judančius objektus. Šis režimas gali būti naudojamas apsaugos sistemose duoti pavojaus signalą sirenai. H režimu jutiklis suveikia kiekvieną kartą, kai aptinkamas judesys. Šis režimas gali būti naudojamas apšvietimui įjungti. Kai modulis įjungtas, jis sukalibruojamas, kalibravimo trukmė yra maždaug viena minutė, po kurios modulis paruoštas darbui. Jutiklį geriausia montuoti toliau nuo atvirų šviesos šaltinių.

1 pav. PIR jutiklis 500BP

2 pav. Frenelio lęšis

Specifikacijos HC-SR501

  • Maitinimo įtampa: 4,5-20V
  • Srovės suvartojimas: 50 mA
  • Išėjimo įtampa OUT: HIGH - 3,3 V, LOW - 0 V
  • Aptikimo intervalas: 3-7m
  • Vėlavimo trukmė po šaudymo: 5 - 300 sek
  • Matymo kampas iki 120
  • Blokavimo laikas iki kito matavimo: 2,5 sek.
  • Darbo režimai: L – vienkartinis veikimas, H – veikimas kiekvieno įvykio metu
  • Darbinė temperatūra -20 iki +80C
  • Matmenys 32x24x18 mm

Infraraudonųjų spindulių judesio jutiklio prijungimas prie Arduino

Modulis turi 3 išėjimus (3 pav.):
  • VCC - maitinimas 5-20 V;
  • GND - žemė;
  • OUT - skaitmeninis išėjimas (0-3,3V).

3 pav. Kaiščio priskyrimas ir HC-SR501 sąranka

Sujungkime HC-SR501 modulį prie Arduino plokštės (Prijungimo schema 4 pav.) ir parašykime paprastą eskizą, kuris signalizuoja garso signalu ir pranešimu į nuoseklųjį prievadą, kai aptinkamas judantis objektas. Norėdami ištaisyti mikrovaldiklio trigerius, 2 įėjime naudosime išorinius pertraukimus. Tai int0 pertraukimas.

4 pav. Sujungimo schema HC-SR501 moduliui prijungti prie Arduino plokštės

Įkelkime eskizą iš 1 sąrašo į Arduino plokštę ir pažiūrėkime, kaip jutiklis reaguoja į kliūtis (žr. 5 pav.). Nustatykite modulį į darbo režimą L. 1 sąrašas // Judesio/buvimo jutiklio HC-SR501 apžvalgos eskizas // vieta // jutiklio išvesties prijungimo kontaktas #define PIN_HCSR501 2 // trigger flag loginis flagHCSR501=false; // garsiakalbio prijungimo kaištis int soundPin=9; // garso signalo dažnis int freq=587; void setup() ( // inicijuoti nuoseklųjį prievadą Serial.begin(9600); // pradėti pertraukų tvarkymą int0 attachInterrupt(0, intHCSR501,RISING); ) void loop() ( if (flagHCSR501 == true) (// Pranešimas į nuoseklųjį prievadą Serial.println("Dėmesio!!!"); // garso signalas 5 sekundžių tonui (soundPin,freq,5000); // iš naujo nustatykite trigerio vėliavėlę flagHCSR501 = false; ) ) // tvarkykite pertraukimo galią intHCSR501() ( // jutiklio paleidimo vėliavėlės nustatymas flagHCSR501 = true; )

5 pav. Serijinio monitoriaus išvestis

Naudodami potenciometrus eksperimentuojame su signalo trukme OUT išėjime ir jutiklio jautrumu (objekto fiksavimo atstumu).

Naudojimo pavyzdys

Sukurkime sms siuntimo pavyzdį, kai saugomame objekte suveikia judesio/buvimo jutiklis. Norėdami tai padaryti, naudosime GPS / GPRS skydą. Mums reikės šios informacijos:
  • arduino uno lenta
  • GSM/GPRS ekranas
  • npn tranzistorius, pavyzdžiui, C945
  • rezistorius 470 omų
  • garsiakalbis 8 omų 1W
  • laidai
Surinkime jungimo schemą pagal pav. 6.

6 pav. Sujungimo schema

Suveikus jutikliui, iškviečiame sms siuntimo su trumpąja žinute procedūrą Atkreipkite dėmesįveiksmas!!!į TELEFONO numerį. Eskizo turinys parodytas 2 sąraše. GSM/GPRS ekranas sunaudoja iki 2 A sms siuntimo režimu, todėl naudojame išorinį 12V 2A maitinimo šaltinį. 2 sąrašas // 2 eskizas judesio/buvimo jutiklio HC-SR501 apžvalgai // SMS siuntimas, kai jutiklis suveikia // svetainė // kontaktas jutiklio išvesties prijungimui #define PIN_HCSR501 2 // trigger flag loginė vėliavėlėHCSR501 false; // garsiakalbio prijungimo kaištis int soundPin=9; // garso signalo dažnis int freq=587; // Programinės įrangos serijinė biblioteka #include // telefono numeris, kuriuo norite siųsti sms #define PHONE "+79034461752" // Pins for SoftwareSerial (galite turėti 2,3) SoftwareSerial GPRS(7, 8); void setup() ( // nuosekliojo prievado inicijavimas Serial.begin(9600); // pertraukimo apdorojimo pradžia int0 attachInterrupt(0, intHCSR501,RISING); // susisiekti su GPG/GPRS skydu GPRS.begin(19200) ); ) void loop() ( if (flagHCSR501 == true) (// Pranešimas į nuoseklųjį prievadą Serial. println("Dėmesio!!!"); // garso signalas 5 sekundžių tonas (soundPin, freq, 5000); // siųsti SMS SendSMS(); // iš naujo nustatyti trigerio vėliavėlę flagHCSR501 = false; ) ) // nutraukti apdorojimą negalioja intHCSR501() ( // jutiklio paleidimo vėliavėlės nustatymas flagHCSR501 = true; ) // SMS siuntimo paprogramė void SendSMS() ( // AT komandos teksto režimo nustatymai GPRS.print("AT+CMGF=1\r"); delay(100); // telefono numeris GPRS.print("AT + CMGS = \""); GPRS.print(PHONE); GPRS. println("\""); delay(200); // GPRS pranešimas. println("Dėmesio!!!"); delay(200); // ASCII kodas ctrl+z – GPRS perdavimo pabaiga. println((char) 26); delay (200); GPRS.println(); )

Dažnai užduodami klausimai DUK

1. Modulis neveikia, kai objektas juda
  • Patikrinkite, ar modulis tinkamai prijungtas.
  • Potenciometru nustatykite jutimo atstumą.
2. Jutiklis suveikia per dažnai
  • Sureguliuokite signalo trukmės delsą potenciometru.
  • Perjunkite trumpiklį į vieno veikimo režimą L.

Šios dienos pamokos tema – judesio jutiklis, pagrįstas piroelektriniu efektu (PIR, pasyvus infraraudonųjų spindulių judesio jutiklis). Tokie jutikliai dažnai naudojami apsaugos sistemose ir kasdieniame gyvenime judėjimui patalpoje aptikti. Pavyzdžiui, judesio aptikimo principas pagrįstas automatiniu šviesos įjungimu įėjime arba vonios kambaryje. Piroelektriniai jutikliai yra gana paprasti, nebrangūs ir nepretenzingi montuojant bei prižiūrint. Beje, yra ir kitų būdų aptikti judesį. Šiandien kompiuterinės regos sistemos vis dažniau naudojamos objektams ir jų judėjimo trajektorijai atpažinti. Tose pačiose apsaugos sistemose naudojami lazeriniai detektoriai, kurie, kertant spindulį, duoda pavojaus signalą. Taip pat naudojami šiluminio vaizdo jutikliai, galintys aptikti tik gyvų būtybių judėjimą.

1. Piroelektrinių judesio jutiklių veikimo principas

Piroelektrikai yra dielektrikai, kurie sukuria elektrinį lauką, kai keičiasi jų temperatūra. Remiantis piroelektrika, gaminami temperatūros jutikliai, pavyzdžiui, LHI778 arba IRA-E700. Kiekvienas toks jutiklis turi du jautrius 1 × 2 mm dydžio elementus, sujungtus priešingu poliškumu. Ir kaip matysime vėliau, tiksliai dviejų elementų buvimas padės mums aptikti judesį. Taip atrodo Murata IRA-E700 jutiklis. Šioje pamokoje dirbsime su judesio jutikliu HC-SR501, kuris turi vieną tokį piroelektrinį jutiklį. Iš viršaus piroelektrą supa pusrutulis, padalintas į keletą segmentų. Kiekvienas šios sferos segmentas yra objektyvas, kuris fokusuoja šiluminę spinduliuotę į skirtingas PIR jutiklio sritis. Frenelio objektyvas dažnai naudojamas kaip objektyvas.
Judesio jutiklio veikimo principas yra toks. Tarkime, kad jutiklis sumontuotas tuščioje patalpoje. Kiekvienas jautrus elementas gauna pastovią spinduliuotės dozę, o tai reiškia, kad jų įtampa turi pastovią vertę (paveikslas kairėje).
Kai tik žmogus įeina į kambarį, jis pirmiausia patenka į pirmojo elemento matymo lauką, dėl kurio atsiranda teigiamas elektrinis impulsas (centrinė figūra). Žmogus juda, o jo šiluminė spinduliuotė per lęšius patenka į antrąjį PIR elementą, kuris generuoja neigiamą impulsą. Judesio jutiklio elektroninė grandinė registruoja šiuos daugiakrypčius impulsus ir daro išvadas, kad žmogus pateko į jutiklio regėjimo lauką. Jutiklio išvestyje generuojamas teigiamas impulsas (dešinysis paveikslas).

2. HC-SR501 nustatymas

Šioje pamokoje naudosime HC-SR501 modulį. Šis modulis yra labai paplitęs ir naudojamas daugelyje „pasidaryk pats“ projektų dėl mažos kainos. Jutiklis turi du kintamus rezistorius ir trumpiklį režimui nustatyti. Vienas iš potenciometrų valdo prietaiso jautrumą. Kuo jis didesnis, tuo toliau jutiklis „mato“. Jautrumas taip pat turi įtakos aptikto objekto dydžiui. Pvz., galite neįtraukti šuns ar katės.
Antrasis potenciometras reguliuoja reakcijos laiką T . Jei jutiklis aptinka judėjimą, jis generuoja teigiamą ilgio impulsą T . Galiausiai, trečiasis valdiklis yra trumpiklis, perjungiantis jutiklio režimą. nėščia L jutiklis skaičiuoja T nuo pat pirmos operacijos. Tarkime, kad norime valdyti šviesą vonios kambaryje. Įėjęs į patalpą žmogus suveiks jutiklį, o šviesa užsidegs tiksliai kuriam laikui T . Pasibaigus laikotarpiui, išvesties signalas grįš į pradinę būseną, o jutiklis duos kitą paleidiklį. nėščia H jutiklis pradeda skaičiuoti laiką T kiekvieną kartą po judesio aptikimo. Kitaip tariant, bet koks žmogaus judesys iš naujo nustatys atgalinės atskaitos laikmatį. T . Pagal numatytuosius nustatymus trumpiklis yra būsenoje H .

3. HC-SR501 prijungimas prie Arduino Uno

Norint prijungti prie mikrovaldiklio arba tiesiogiai prie relės, HC-SR501 turi tris kontaktus. Mes prijungiame juos prie „Arduino“ taip:
HC-SR501 GND VCC OUT
Arduino Uno GND +5V 2
grandinės schema
Išdėstymo išvaizda
Programa Kaip jau minėta, HC-SR501 jutiklio skaitmeninė išvestis generuoja aukštą signalo lygį, kai suveikia. Parašykime paprastą programą, kuri siųs „1“ į nuoseklųjį prievadą, jei jutiklis matė judėjimą, o „0“ kitu atveju. const int movPin = 2 void setup() ( Serial.begin(9600); pinMode(movPin, INPUT); ) void loop()( int val = digitalRead(movPin); Serial.println(val); delay(100); ) Įkeliame programą į Arduino ir patikriname jutiklio veikimą. Galite pakoreguoti jutiklio nustatymus ir pamatyti, kaip tai paveiks jo veikimą.

4. Šviesos valdymas judesio jutikliu

Kitas žingsnis – automatinė apšvietimo sistema. Norėdami valdyti kambario apšvietimą, prie grandinės turime pridėti relę. Naudosime relės modulį su apsauga, paremta optronu, apie kurį jau rašėme vienoje iš pamokų (pamoka apie reles). Dėmesio!Ši grandinė apšviečia lempą iš 220 voltų tinklo. Prieš prijungiant grandinę prie buitinio maitinimo šaltinio, rekomenduojama septynis kartus patikrinti visas jungtis. grandinės schema
Išdėstymo išvaizda
Programa Dabar parašykime programą, kuri suveikus davikliui įjungs relę, taigi ir apšvietimą kambaryje. 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) ; kitur digitalWrite(relPin, LOW); ) Įkeliame programą į Arduino, atsargiai prijungiame grandinę prie buitinio tinklo ir patikriname jutiklio veikimą. Išvada Judesio jutikliai yra visur aplink mus. Apsaugos sistemų dėka jas galima rasti beveik kiekviename kambaryje. Kaip išsiaiškinome, jais labai paprasta naudotis ir juos galima lengvai integruoti į bet kurį Arduino ar Raspberry Pi projektą. Štai keletas situacijų ir vietų, kur judesio jutiklis gali praversti:
  • automatinis šviesos įjungimas namo įėjime, vonioje ir tualete, prieš įėjimo į kambarį duris;
  • signalizacija patalpose ir lauke;
  • automatinis durų atidarymas;
  • automatinis apsaugos kameros įjungimas.
Kaip minėta pačioje pradžioje, yra ir kitų būdų aptikti judesį. Apie juos kalbėsime kitoje pamokoje!

Mūsų netobulame pasaulyje labai paklausūs įvairūs techniniai dalykai, skirti saugoti piliečių turtą ir ramybę. Todėl, manau, sunku rasti žmogų, kuris niekada nematytų įsilaužimo signalizacijos su judesio jutikliais. Fiziniai jų veikimo principai, kaip ir įgyvendinimas gali būti skirtingi, tačiau bene labiausiai paplitę yra piroelektriniai pasyvūs infraraudonųjų spindulių jutikliai (PIR).

Maždaug taip:


Jie reaguoja į spinduliuotės pokyčius infraraudonųjų spindulių diapazone, būtent jo vidurinėje dalyje - 5-15 mikronų (vidutinio sveiko žmogaus kūnas skleidžia apie 9 mikronų diapazoną). Galutinio vartotojo požiūriu, viskas labai paprasta - maitinimo įvestis (dažniausiai 12 voltų) ir relinis išėjimas (dažniausiai kietojo kūno ir su normaliai uždarytais kontaktais). Praslinko kažkas šilto – estafetė suveikė. Nuobodulys. Tačiau viduje viskas nėra taip paprasta.
Šiandien skirsime šiek tiek laiko teorijai, o tada išdarinėsime vieną tokį įrenginį ir padarysime jį ne tik jutikliu, kuris reaguoja į judėjimo faktą, bet registruoja judėjimo kryptį.

Pereikime prie praktikos

Apsiginklavę teorine informacija gauname lituoklį. Nuotraukoje matosi išardytas jutiklis (nuimtas priekinis dangtelis su Fresnel objektyvais ir metalinis ekranas).


Mes žiūrime į mikroschemos, esančios arčiausiai piroelektrinio jutiklio, žymėjimą (apvalus metalas su langu - štai jis) ir (o, sėkmės!) Pasirodo, tai yra LM324 - keturių operacijų stiprintuvas. Ištyrę aplinkinius elementus, randame operacinės sistemos stiprintuvo išvestį, kuri greičiausiai tinka mūsų tikslams (mano atveju tai pasirodė mikroschemos 1 kaištis). Dabar būtų malonu patikrinti, ar radome. Paprastai tam naudojamas osciloskopas. Neturėjau jo po ranka. Bet pasirodė, kad tai arduino. Kadangi signalo lygis po stiprinimo yra apie kelis voltus, o ypatingo matavimo tikslumo mums nereikia (pakanka kokybinio įvertinimo), Arduino ADC įėjimai yra gana tinkami. Prilituojame laidus prie rastos op-amp išvesties ir maitinimo šaltinio minuso ir išvedame į duonos plokštę. Laidai neturėtų būti ilgi. Priešingu atveju yra galimybė išmatuoti ne jutiklio signalą, o kažką visiškai kitokio.
Dabar pagalvokime, kaip greitai reikia nuskaityti signalą, kad gautumėte ką nors protingo. Aukščiau buvo pasakyta, kad naudingo signalo dažnių diapazonas yra apribotas iki maždaug 10 Hz. Prisimindami Kotelnikovo teoremą (arba Nyquist - kas jums labiau patinka), galime daryti išvadą, kad nėra prasmės matuoti signalą, kurio dažnis didesnis nei 20 Hz. Tie. 50 ms atrankos laikotarpis yra tinkamas. Rašome paprastą eskizą, kuris nuskaito prievadą A1 kas 50 ms ir išmeta jo reikšmę į nuoseklųjį (griežtai kalbant, signalo matavimai vyksta rečiau nei po 50 ms, nes rašymas į prievadą taip pat užtrunka, bet tai nėra svarbu mūsų tikslai).

nepasirašytas ilgą laiką; void setup() ( Serial.begin(9600); pinMode(A1, INPUT); time=millis(); ) void loop() ( if ((millis()-time) >= 50) ( Serial.println(analogRead) (A1)); ) laikas = mililiai (); )

Įsijungiame ir mosuojame rankomis prieš jutiklį (galima lakstyti, dar naudingiau). Kompiuterio pusėje duomenis iš prievado iškeliame į failą.
stty -F /dev/ttyUSB0 raw ispeed 9600 ospeed 9600 -ignpar cs8 -cstopb -echo cat /dev/ttyUSB0 > output.txt
Sudarome grafiką (į failą pridėtas stulpelis su rodmenų numeracija):
gnuplot> nubraižykite „output.txt“ santykiu 1:2 su linijomis


Ir mes matome, ko iš tikrųjų norėjome - bipolinius įtampos šuolių. Ura, teorija veikia ir viela prilituota į reikiamą vietą. Paprasta grafiko analizė (kitaip tariant, peržiūra) leidžia daryti išvadą, kad daugiau ar mažiau patikimas judesio buvimo fakto fiksavimas gali būti laikomas signalo nukrypimu nuo vidutinės vertės 150 vienetų.
Laikas pagaliau pagaminti judesio krypties jutiklį.
Pakeiskime schemą. Be analoginio jutiklio signalo, prie arduino prijungsime porą šviesos diodų (2 ir 3 prievadai, nepamirškite srovę ribojančių rezistorių) ir parašysime šiek tiek sudėtingesnį eskizą.

Išskleisti

int a1; int state2=0; ilgas vidurkis=0; intn=0; nepasirašytas ilgą laiką; void setup () ( pinMode (2, OUTPUT); pinMode (3, OUTPUT); pinMode (A1, INPUT); digitalWrite (2, LOW); digitalWrite (3, LOW); delay (30000); //mano jutiklis po įjungimas //iki darbo pradžios užtrunka 30 sekundžių time=millis(); //signalą matuojame tūkstantį kartų, kad //apskaičiuotume jo vidutinę reikšmę //kad būtų nuo ko skaičiuoti nukrypimus nuo while (n<= 1000) { ++n; a1=analogRead(A1); average=average+a1; delay(50); } average=average/1000; //одновременным включением светодиодов //сигнализируем, что система готова digitalWrite(2, HIGH); digitalWrite(3, HIGH); delay(1000); digitalWrite(2, LOW); digitalWrite(3, LOW); time=millis(); } void loop() { //опрашиваем датчик каждые 50 мс if ((millis()-time) >= 50) ( //naudojant šią paprastą išraišką, analoginis signalas //virsta diskrečiu, kurio reikšmės -1/0/1 a1=(analogRead(A1)-average)/150; //jei buvo signalo poliškumo pakeitimas, tada //įjunkite norimą LED jungiklį (a1) ( 1 atvejis: if (state2=-1) (digitalWrite(2, HIGH); digitalWrite(3, LOW);) state2=a1; pertrauka; atvejis -1: if (state2=1) (digitalWrite (2, LOW);digitalWrite(3, HIGH);) state2=a1; break; ) //pakartokite pirmą kartą=millis(); ) )


Kad liktų tik viena pora iš viso jutiklio spinduliavimo modelio pluoštų rinkinio, visus Frenelio lęšius, išskyrus vieną, uždarome popieriniu ekranu.


Džiaugiamės rezultatu.

Arduino judesio jutiklis leidžia sekti šilumą skleidžiančių objektų (žmonių, gyvūnų) judėjimą uždaroje erdvėje. Tokios sistemos dažnai naudojamos buitinėmis sąlygomis, pavyzdžiui, norint įjungti apšvietimą įėjime. Šiame straipsnyje mes apsvarstysime galimybę prijungti PIR jutiklius Arduino projektuose: pasyviuosius infraraudonųjų spindulių jutiklius arba piroelektrinius jutiklius, kurie reaguoja į judėjimą. Maži matmenys, maža kaina, paprastas valdymas ir be prijungimo sunkumų leidžia tokius jutiklius naudoti įvairių tipų signalizacijos sistemose.

PIR judesio jutiklio konstrukcija nėra labai sudėtinga - jį sudaro piroelektrinis elementas, kuris yra labai jautrus (cilindrinė dalis su kristalu centre) tam tikro lygio infraraudonosios spinduliuotės aprėpties zonoje. Kuo aukštesnė objekto temperatūra, tuo didesnė spinduliuotė. PIR jutiklio viršuje sumontuotas pusrutulis, padalintas į kelias dalis (lęšius), kurių kiekvienas suteikia šiluminės energijos spinduliuotės fokusavimą į skirtingus judesio jutiklio segmentus. Dažniausiai kaip objektyvas naudojamas Frenelio objektyvas, kuris dėl šiluminės spinduliuotės koncentracijos leidžia išplėsti Arduino infraraudonųjų spindulių judesio jutiklio jautrumo diapazoną.

PIR jutiklis yra struktūriškai padalintas į dvi dalis. Taip yra dėl to, kad signalizacijos įtaisui svarbus judėjimas jautrumo zonoje, o ne pats radiacijos lygis. Todėl dalys sumontuotos taip, kad užfiksavus dar vieną spinduliuotės lygį, išvestis būtų didelės arba mažos vertės signalas.

Pagrindinės Arduino judesio jutiklio techninės charakteristikos yra šios:

  • Judančių objektų aptikimo zona yra nuo 0 iki 7 metrų;
  • Stebėjimo kampo diapazonas – 110°;
  • Maitinimo įtampa - 4,5-6 V;
  • Darbinė srovė - iki 0,05 mA;
  • Temperatūros režimas – nuo ​​-20° iki +50°С;
  • Reguliuojamas delsos laikas nuo 0,3 iki 18 s.

Modulis, kuriame sumontuotas infraraudonųjų spindulių judesio jutiklis, apima papildomus elektros laidus su saugikliais, rezistoriais ir kondensatoriais.

Arduino judesio jutiklio veikimo principas yra toks:

  • Kai prietaisas įrengiamas tuščioje patalpoje, kiekvieno elemento gaunama spinduliuotės dozė yra pastovi, kaip ir įtampa;
  • Kai žmogus pasirodo kambaryje, jis pirmiausia patenka į pirmojo elemento, ant kurio atsiranda teigiamas elektrinis impulsas, žiūrėjimo zoną;
  • Kai žmogus juda po kambarį, kartu su juo juda ir šiluminė spinduliuotė, kuri atsitrenkia į antrąjį jutiklį. Šis PIR elementas jau generuoja neigiamą impulsą;
  • Daugiakrypčius impulsus registruoja elektroninė jutiklio grandinė, kuri daro išvadą, kad Pir-sensoriaus Arduino matymo lauke yra žmogus.

Siekiant patikimos apsaugos nuo išorinio triukšmo, temperatūros pokyčių ir drėgmės, Pir jutiklio elementai Arduino yra sumontuoti sandariame metaliniame korpuse. Korpuso viršuje centre yra stačiakampis, pagamintas iš infraraudonąją spinduliuotę perduodančios medžiagos (dažniausiai silikono pagrindu). Jutimo elementai sumontuoti už plokštės.

Judesio jutiklio sujungimo schema su Arduino

Pir jutiklį prijungti prie Arduino nėra sunku. Dažniausiai moduliai su judesio jutikliais yra su trimis jungtimis gale. Kiekvieno įrenginio kontaktas priklauso nuo gamintojo, tačiau dažniausiai šalia išėjimų yra atitinkami užrašai. Todėl prieš prijungdami jutiklį prie Arduino, turite susipažinti su užrašu. Vienas išėjimas eina į žemę (GND), antrasis suteikia reikiamą signalą iš jutiklių (+5V), o trečiasis yra skaitmeninis išėjimas, iš kurio imami duomenys.

Pir jutiklio jungtis:

  • "Žemė" - ant bet kurios Arduino GND jungties;
  • Skaitmeninis išėjimas - į bet kurį skaitmeninį Arduino įvestį ar išvestį;
  • Maitinimas - + 5V ant Arduino.

Infraraudonųjų spindulių jutiklio prijungimo prie Arduino schema parodyta paveikslėlyje.

Programos pavyzdys

Eskizas yra programos kodas, padedantis patikrinti judesio jutiklio veikimą jį įjungus. Paprasčiausiame pavyzdyje yra daug trūkumų:

  • Klaidingų teigiamų rezultatų tikimybė dėl to, kad jutikliui reikia vienos minutės savaiminio inicijavimo;
  • Trūksta vykdomojo tipo išvesties įrenginių - relių, sirenų, šviesos indikacijų;
  • Trumpas signalo laiko intervalas jutiklio išvestyje, kuris turi būti atidėtas programinės įrangos lygiu judėjimo atveju.

Šie trūkumai pašalinami išplečiant jutiklio funkcionalumą.

Paprasčiausias eskizo tipas, kuris gali būti naudojamas kaip darbo su Arduino judesio jutikliu pavyzdys, atrodo taip:

#define PIN_PIR 2 #define PIN_LED 13 void setup() ( Serial.begin(9600); pinMode (PIN_PIR, INPUT); pinMode (PIN_LED, OUTPUT); ) void loop() ( int pirVal = digitalRead(PIN_PIR); Serial. println(digitalRead(PIN_PIR)); //Jei aptiktas judesys if (pirVal) ( digitalWrite(PIN_LED, HIGH); Serial.println("Judesys aptiktas"); delay(2000); ) else ( //Serial.print(") Nėra judėjimo"); digitalWrite (PIN_LED, LOW); ) )

Galimi projektų, kuriuose naudojamas jutiklis, parinktys

PIR jutikliai yra būtini tuose projektuose, kur pagrindinė signalizacijos funkcija yra nustatyti asmens buvimą ar nebuvimą tam tikroje darbo vietoje. Pavyzdžiui, tokiose vietose ar situacijose, kaip:

  • Automatinis šviesos įjungimas įėjime arba priešais lauko duris, kai jose pasirodo žmogus;
  • Apšvietimo įjungimas vonioje, tualete, koridoriuje;
  • Pavojaus signalas suveikia žmogui pasirodžius tiek patalpoje, tiek vietovėje;
  • Automatinis apsaugos kamerų, kuriose dažnai yra įrengtos apsaugos sistemos, prijungimas.

Pir-sensoriai yra lengvai valdomi ir nesukelia sunkumų jungiantis, turi didelę jautrumo zoną, taip pat gali būti sėkmingai integruoti į bet kurį Arduino programinės įrangos projektą. Tačiau reikia nepamiršti, kad jie neturi techninių galimybių pateikti informacijos apie tai, kiek objektų yra aprėpties zonoje ir kaip arti jie yra nuo jutiklio, be to, jie gali dirbti su naminiais gyvūnais.

PIR (pasyvūs infraraudonųjų spindulių jutikliai) jutikliai leidžia fiksuoti judėjimą. Labai dažnai naudojamas signalizacijos sistemose. Šie jutikliai yra mažo dydžio, nebrangūs, sunaudoja mažai energijos, yra lengvai valdomi ir praktiškai nesidėvi. Be PIR, tokie jutikliai vadinami piroelektriniais ir infraraudonųjų spindulių judesio jutikliais.

Reikėjo įsigyti porą jutiklių, skirtų buitiniam naudojimui jų amatams, pagrįstiems LED foniniu apšvietimu.
Kadangi mano suvartojamos srovės palyginti nedidelės, o maitinimo įtampa – 12 V, buvo įsigyti kompaktiški piroelektriniai infraraudonųjų spindulių judesio jutikliai korpuse.

Paketas:

Užsisakiau du jutiklius su galimybe reguliuoti jautrumą šviesai:

Jutikliai palaiko maitinimą nuo 12 iki 24 voltų. Jie jau turi lituotus standartinius maždaug 30 cm ilgio laidus su įvesties ir išvesties lizdais, su 2,1 mm centriniu kaiščiu, ir tai yra didelis pliusas. Nereikia nieko lituoti, tiesiog prijunkite maitinimo šaltinį ir naudokite:



Patys jutikliai yra gana kompaktiški. Išvaizda:





Matmenys:







Norėdami patekti į lentą ir sureguliuoti, turite atidaryti dėklą. Galinis dangtelis ant skląsčių, nuimkite atsuktuvu:





Atlyginimas atrodo taip:

Radau šio įrenginio schemą, įvertinimai gali skirtis, bet apskritai norint suprasti darbo esmę, teisinga:

Čia matome įtampos reguliatorių prie įėjimo, kad maitintų mikroschemą:


Beje, čia yra šio elemento duomenų lapas, matyti, kad skirtingi žymėjimai reiškia skirtingą stabilizuotą išėjimo įtampą. Tačiau pagrindinis dalykas yra tai, kad jis palaiko iki 24 voltų įėjimo įtampą, todėl jos nereikėtų viršyti.

Be to, pagal schemą išvestyje yra lauko efekto tranzistorius, kuris yra maitinimo apkrovos grandinės raktas:

Duomenų lape nurodyta maksimali nuolatinė srovė esant normaliai 15A kambario temperatūrai, tačiau kadangi neturime tranzistorinio aušinimo, mūsų išėjimo galia yra ribota.

Įrenginio širdis yra Biss0001 lustas. Šis lustas suvokia išorinį spinduliuotės šaltinį ir atlieka minimalų signalo apdorojimą, kad konvertuotų jį iš analoginio į skaitmeninį:



PIR judesio jutiklis iš esmės susideda iš piroelektrinio jutimo elemento (cilindro formos su stačiakampiu kristalu centre), kuris nustato infraraudonosios spinduliuotės lygį. Tiesą sakant, jutiklis yra padalintas į dvi dalis. Taip yra dėl to, kad mums svarbu ne radiacijos lygis, o tiesiogiai judėjimo buvimas jo jautrumo zonoje. Dvi jutiklio dalys sukonfigūruotos taip, kad jei viena pusė sugeria daugiau spinduliuotės nei kita, išvesties signalas generuos didelę arba mažą vertę.

Dabar tiesiai į koregavimus. Aš sukūriau įrenginį, atitinkamai išmečiau, ką ir kur kreiptis:



Laikas reguliuojamas nuo 1 sekundės iki 500 sekundžių. Kai slankiklis visiškai atsuktas, lemputė tik mirksi.

Kalbant apie jutiklio įjungimo slenkstį, eksperimentiškai sužinojau, kad ši įtampa yra nuo 11,5 volto, jei ji mažesnė, jutiklis tiesiog neįsijungia:

Pagal diagramą aišku, kad jutiklio išėjimo įtampa yra mažesnė arba lygi įvesties įtampai. Nustačiau į 12v. yra klaida dėl netikslaus maitinimo šaltinio nurodymo, todėl paties jutiklio suvartojimas, žinoma, yra mažesnis:

Budėjimo režimu jutiklis sunaudoja 84 μA, o išėjimo įtampa yra 170 mV.

Tiesą sakant, jutiklio nustatymas yra labai nepatogus nuėmus plokštę, todėl galiniame dangtelyje padariau skyles, o tai daug geriau:

Surinkome schemą, viską sutvarkome:

Patikrinta:

Daviklis veikia jau dvi dienas, antras dedu ant ausinių stovo apšvietimo ir man patinka, kad skirtingai nei ankstesnis, kuris veikė nuo 220 V, buvo didesnis ir spustelėjo relę, šis labiau kompaktiškas ir, žinoma, tylus.
Maksimalaus diapazono nematau, bet bute nuo 3 metrų tai tikrai veikia

Ar esu patenkintas pirkiniu? Pilnas, kokybiškas užbaigtas prietaisas.

Kas mums patiko:
+ Visiškai pritaikomas darbo režimas
+ Minimalus nuosavas suvartojimas
+ Kokybiškas apdirbimas ir kompaktiškumas
+ Veikimo aiškumas be spragų
+ Laidų su lizdais buvimas

Kas nepatiko:
- Tiesioginės prieigos prie nustatymų nebuvimas neanalizuojant korpuso (tvirta)
- Tvirtinimo ausys labai mažos (bet geriau tvirtinti ant dvipusės juostos, pvz., 3M)

Baltas jutiklio dangtelis išsikiša iš juodo korpuso, bet yra juodas ne šviesos jutiklio pasirinkime.

Tai viskas.

Planuoju pirkti +43 Įtraukti į adresyną Patiko apžvalga +40 +75

© 2023 globusks.ru - Automobilių remontas ir priežiūra pradedantiesiems