Ha fel szeretné szerelni a DIY Arduino projektjeit a közelség vagy a mozgás észlelésének képességével, és ennek alapján valamilyen műveletet végez, például regisztrálnia kell egy eseményt, bekapcsolja a lámpát, riasztást indít, aktiválja az egyenáramú motortstb., akkor kellene ismerje meg a HC-SR501 érzékelőt.
ezt érzékelő IR-t használ, mint a hasonló típusú érzékelők más típusai, és ebben az útmutatóban megpróbálok elmagyarázni mindent, amit tudnod kell, hogy a semmiből kezdd el használni. Tulajdonságaitól kezdve a HC-SR501 és a a jelvényed Arduino UNO. Mindent praktikusabb módon, hogy a lehető legegyszerűbb legyen.
Mi a HC-SR501 és működési elve
El A HC-SR501 egyfajta mozgásérzékelő, két külön elemből álló PIR érzékelő. Egyrészt van egy olyan eszköze, amely a differenciál jelet bocsátja ki közte és más érzékelők között, amely ténylegesen aktiválja a riasztási jelet.
Ezt a integrált áramkör BISS0001, amely operációs erősítőket és további elektronikus interfészeket tartalmaz. Ezenkívül a modul funkcióinak két beállítását teszi lehetővé, az egyik a PIR érzékelési távolság érzékenységét szolgálja egyes potenciométerekkel. A másik jellemző az automatikus fényérzékelési képesség, bár gyárilag nincs engedélyezve.
Ezt az utolsó funkciót gyakran használják egyes rendszerek hogy mozgás észlelésekor bekapcsolják egy rendszer fényét, de a környezeti megvilágítás nem magas, vagyis amikor éjszaka van.
A HC-SR501 esetében mozgásérzékelési tartománya van 3-7 méterreés PIR nyílások 90 és 110º-ig. Ez jó választás, lehetővé teszi, hogy ott telepítse, ahol szüksége van rá, például falra, mennyezetre, padlóra stb.
Mint látható, a PIR érzékelőt egyfajta fehér kupola borítja, ez az úgynevezett Fresnel lencse. Augustin-Jean Fresnel francia feltaláló és fizikus nevéhez fűződik. Ennek köszönhetően nagy rekesznyílású és rövid gyújtótávolságú lencsék készíthetők anélkül, hogy a hagyományos lencséknél felhasznált anyag súlya és tömege lenne.
És ez ennek köszönhető lencsét 1822-ben találták ki, és ez egy olyan felületi mintázat, amelyet a képen láthat, hasonló a golflabdához. Ennek a kialakításnak köszönhetően számos eszköz került bevezetésre, köztük a HC-SR501.
HC-SR501 Jellemzők
El A HC-SR501 IR modul olcsó érzékelő, kicsi és az egyik legfejlettebb technológiával az összes aktuális mozgásérzékelő közül. Két potenciométerével és az integrált jumperrel a paraméterei könnyen módosíthatók, adaptálva azokat minden érzékenységhez és távolságigényhez, sőt aktiválási és válaszidőkhöz is.
az Műszaki adatok ennek a HC-SR501-nek a következők:
- A PIR LH1778 és a BISS0001 vezérlőből áll
- Tápfeszültség: 5 - 12 V
- Teljesítményfelvétel: <1 mA
- Távolságtartomány: 3-7 m állítható
- Detektálási szög: 110º
- Beállítások: 2 potenciométer segítségével az érzékelési tartomány és az aktív riasztási idő számára. Az áthidaló lehetővé teszi a riasztás kimenetének konfigurálását egylövéses, ismétlődő vagy újratölthető trigger módban. A riasztás kimenete 3 másodperc és 5 perc közötti időre konfigurálható.
- 1 (a képen): forduljon jobbra, ahogy a képen van, hogy 3 másodpercről 5 percre állítsa be.
- 2 (a képen): forduljon balra, ahogy a képen van, a 3 méter és a maximum 7 méter közötti távolság beállításához.
- 3 (a képen): jumper a ravasz konfigurálásához. Ha az áthidaló be van helyezve a képen látható két legtávolabbi csapba, akkor 1 egy lövésként lesz konfigurálva. És ha ez a két legbelső, akkor az ismétlődő mód aktiválódik. Vagyis 3 csap van, ha kívül van, és a középső a mono funkció, és ha a központi csapon van, és a NYÁK belső oldalán, akkor az ismétlődik.
- Inicializálási idő: a HC-SR501 modul áramellátásának megkezdése után legalább 1 percnek el kell telnie, mielőtt működésbe lépne.
- Üzemi üzemi hőmérséklet: -15ºC és + 70ºC
- További információ: lásd a kivonatot és az adatlapot
Ne feledje, hogy ezek passzív érzékelők Ideálisak a projektjeihez, csak akkor indulnak el, ha közelséget észlelnek, miközben passzív fülben maradnak. És nagyon egyszerűen megszerezheti, mivel a HC-SR501 rendelkezik egy egyszerű pinout:
- Vcc hatalmat adni.
- GND csatlakozni a földhöz.
- Kimenet az érzékelő kimenetéhez.
Ami két trimmer amit már korábban is idéztem, ezek igazíthatók, ahogy mondtam. Amit nem magyaráztam el, az az ugró lövési módjai:
- H (újraaktiválás)- A kimenet magas marad, ha az érzékelő beindul, vagyis magas feszültséget tart fenn, ha mozgást vagy közelséget észlel, és ezt ismételten megteszi. Megy, ha az érzékelő inaktív.
- L (normál): a kimenet aktiválva nő az alacsony-magas értékről. A folyamatos mozgás ismételt magas-alacsony impulzust eredményez.
alkalmazások
A PIR infravörös típusú alacsony szintű sugárzáson alapul. Minél forróbb egy tárgy, annál több IR-t bocsát ki. Az ilyen típusú érzékelők ezen alapulnak, mivel az emberek, tárgyak és állatok hőt adnak le, és ezzel meg lehet mérni, hogy tudjuk-e, hogy közel vannak-e vagy sem.
Ezzel az egyszerű rendszerrel megvalósítható az automatikusan kinyíló ajtóktól, a közelség észlelésekor elinduló mozgólépcsőktől, a riasztásoktól, amelyek a jelenlét észlelésekor aktiválódnak, a lámpáktól, amelyek kigyulladnak, amikor észlelik a jelenlétét, stb. Az alkalmazások száma nagyon magas ...
Ez az Arduinóval és sok más eszközzel, például a csatlakozási modullal együtt szállítható Internetes figyelmeztetések, és tovább bővíti a képességeket azáltal, hogy a jelenlétérzékelőt távolról aktiválja. Arra hivatkozom ESP8266-01 modul vagy hasonló ...
Másik ajánlás es relét használjon nagyobb feszültségű elemek, például ajtómotor, villanykörte stb.
A HC-SR501 integrálása az Arduinóval
hogy integrálja az Arduino IDE táblával, További információt a programozási tanfolyamunkon talál. Mutatok azonban egy egyszerű vázlatkódot, amellyel megismerheti annak alapvető használatát, és apránként módosíthatja a kezdeti kódot, és elemeket adhat hozzá a projektjéhez, hogy teljesen működjön.
El példa forráskód ilyen lenne:
//Ejemplo básico con el HC-SR501 byte sensorpir 8; //Pin del salida del sensor que está como salida. byte led=13; //Puedes conectar un LED en el 13 para ver el efecto visual cuando se activa al detectar presencia void setup() { pinMode(sensorpir, INPUT); //Declaramos pines E/S pinMode(led, OUTPUT); Serial.begin(9600); //Configuramos la velocidad del monitor serial } void loop) { if(digitalRead(sensorpir)== HIGH) { Serial.println("Movimiento detectado"); digitalWrite(led, HIGH); delay(1000); digitalWrite(led , LOW); } }