Kui soovite oma DIY Arduino projektidele varustada läheduse või liikumise tuvastamise võimalust ja teha selle põhjal mingisuguseid toiminguid, näiteks registreerige sündmus, lülitage tuli sisse, lülitage alarm sisse, alalisvoolumootori aktiveeriminejne, siis peaksite tundma õppima HC-SR501 andurit.
see andur kasutab IR-d, nagu muud tüüpi sarnased andurid, ja proovin selles juhendis selgitada kõike, mida peate teadma, et seda nullist kasutada. Alates selle funktsioonidest kuni HC-SR501 integreerimiseni oma märk Arduino UNO. Kõik praktilisemal viisil, et see oleks võimalikult lihtne.
Mis on HC-SR501 ja tööpõhimõte
El HC-SR501 on omamoodi liikumisandur, PIR-andur, mis koosneb kahest eraldi elemendist. Ühelt poolt on sellel seade, mis kiirgab selle ja teiste andurite vahel diferentsiaalsignaali, mis aktiveerib häiresignaali.
See saavutatakse a integraallülitus BISS0001, mis sisaldab operatiivvõimendeid ja täiendavaid elektroonilisi liideseid. Lisaks võimaldab moodul oma funktsioone kahel viisil reguleerida, üks neist on PIR-tuvastuskauguse tundlikkus mõne potentsiomeetriga. Teine funktsioon on automaatne valguse tuvastamise võimalus, kuigi see pole tehases lubatud.
Seda viimast funktsiooni kasutatakse sageli mõned süsteemid nii et nad lülitavad liikumise tuvastamisel süsteemi valguse sisse, kuid ümbritsev valgustus pole kõrge, st kui on öö.
HC-SR501 puhul on selle liikumise tuvastamise vahemik vahemikus 3–7 meetri kauguselja PIR-avad kuni 90 ja 110º. See on hea valik, võimaldades seda paigaldada sinna, kuhu vaja, näiteks sein, lagi, põrand jne.
Nagu näete, katab PIR-andurit mingi valge kuppel, see on nn Fresneli lääts. Selle nimi on prantsuse leiutaja ja füüsik Augustin-Jean Fresnel. Tänu sellele on võimalik ehitada suure ava ja lühikese fookuskaugusega läätsed ilma materjali kaalu ja mahuta, mida tuleks tavapärase läätsega kasutada.
Ja see on tänu selle kujundusele objektiiv leiutas 1822. aastalja järgnev on golfipalliga sarnane pinnamuster, mida näete pildil. Ja tänu sellele disainile on rakendatud arvukalt seadmeid, sealhulgas HC-SR501.
HC-SR501 funktsioonid
El IR-moodul HC-SR501 on odav andur, väike ja ühe kõige arenenuma tehnoloogiaga kõigist praegustest liikumisanduritest. Selle kahe potentsiomeetri ja integreeritud hüppaja abil saab selle parameetreid hõlpsasti muuta, kohandades neid kõigi tundlikkus- ja kaugusvajaduste ning isegi aktiveerimise ja reageerimisaja jaoks.
The Tehnilised kirjeldused HC-SR501 on järgmised:
- See koosneb PIR LH1778-st ja kontrollerist BISS0001
- Toitepinge: 5 kuni 12v
- Energiatarve: <1 mA
- Vahemaa: 3 kuni 7 m reguleeritav
- Tuvastusnurk: 110º
- Seaded: 2 potentsiomeetri abil tuvastamisala ja aktiivse häireaja jaoks. Hüppaja lisab võimaluse konfigureerida alarmi väljund ühe võtte või korduva või uuesti käivitatava päästiku režiimis. Alarmi väljundit saab seadistada ajavahemikuks 3 sekundit kuni 5 minutit.
- 1 (pildil): pöörake paremale, nagu see on pildil, seadistamiseks 3 sekundist 5 minutini.
- 2 (pildil): pöörake vasakule nagu pildil, et seadistada kaugus 3 meetrist kuni maksimaalselt 7 meetrini.
- 3 (pildil): hüppaja päästiku konfigureerimiseks. Kui hüppaja on sisestatud kahte sellel pildil nähtavale äärmisele tihvtile, konfigureeritakse see ühe üksikvõttena. Ja kui see asub kahes sisimas, siis aktiveeritakse korduvrežiim. See tähendab, et on 1 tihvti, kui see on välisküljel ja keskmine on monofunktsioon ning kui see on keskmisel tihvtil ja trükkplaadi siseküljel, on see korduv.
- Initsialiseerimise aeg: pärast mooduli HC-SR501 toiteallika käivitamist peab enne selle toimimist mööduma vähemalt 1 minut.
- Töötemperatuur: -15 ºC ja + 70 ºC
- Rohkem infot: vt Pinout ja andmeleht
Pidage meeles, et need passiivsed andurid Need sobivad ideaalselt teie projektide jaoks, käivituvad ainult siis, kui tuvastavad läheduse, samal ajal jäävad nad passiivsesse kõrva. Ja saate selle väga lihtsalt, kuna HC-SR501-l on lihtne kinnitus:
- Vcc andma võimu.
- GND maaga ühendamiseks.
- Anduri väljundi väljund.
Nagu kaks trimmerit mida olen varem tsiteerinud, saab neid kohandada, nagu ma juba ütlesin. Mida ma pole selgitanud, on hüppaja laskerežiimid:
- H (uuesti aktiveerimine): Väljund jääb anduri käivitamisel kõrgeks, see tähendab, et see hoiab liikumise või läheduse tuvastamisel pinget kõrgel ja teeb seda korduvalt. See väheneb, kui andur on passiivne.
- L (tavaline): aktiveerimisel suureneb väljund madalalt kõrgele. Pideva liikumise tulemuseks on korduv kõrge-madala pulss.
rakendused
PIR põhineb madalal infrapunakiirgusel. Mida kuumem on objekt, seda rohkem IR kiirgab. See põhineb seda tüüpi anduritel, kuna inimesed, esemed ja loomad annavad soojust välja ja koos sellega saab mõõta, kas nad on lähedal või mitte.
Selle lihtsa süsteemiga saab rakendada automaatselt avanevatest ustest, eskalaatoritest, mis käivituvad läheduse tuvastamisel, häiretest, mis aktiveeruvad kohaloleku tuvastamisel, tuledest, mis põlevad teie kohaloleku tuvastamisel jne. Taotluste arv on väga suur ...
Seda saab tarnida koos Arduino ja paljude teiste seadmetega, näiteks ühenduvusmooduliga Interneti-hoiatusedja laiendage veelgi võimalusi, muutes kohaloleku tuvastamise kaugtegevuseks. Pean silmas ESP8266-01 moodul vms.
Teine soovitus es kasutage relee kõrgema pingega elementide, näiteks uksemootori, elektripirni jne aktiveerimiseks.
HC-SR501 integreerimine Arduinoga
et integreerige see oma Arduino IDE tahvliga, Lisateavet leiate meie programmeerimiskursusest. Kuid ma näitan teile lihtsat visandikoodi, mille abil saate näha, kuidas seda põhilisel viisil kasutatakse, ja saate järk-järgult muuta algset koodi ja lisada oma projekti elemente, et see täielikult toimiks.
El lähtekoodi näide see oleks selline:
//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); } }