Hvordan grensesnitt PIR -bevegelsesdeteksjonssensor med Arduino Uno

Hvordan grensesnitt PIR -bevegelsesdeteksjonssensor med Arduino Uno
Arduino -plattformen letter brukerne sine med maskinvare- og programvarehjelp for å lage enten nybegynnere eller forhåndsnivåprosjekter. Tilsvarende ved hjelp av Arduino -tavler har grensesnittet til flere enheter med mikrokontrolleren blitt gjort enkelt. Disse enhetene inkluderer også de forskjellige sensorene og en som vi skal grensesnitt mot Arduino Uno i denne diskursen. Sensoren vi snakker om er bevegelsesdeteksjonssensoren som oppdager bevegelsen av objektene i nærheten. Denne sensoren brukes stort sett i applikasjonene der bevegelse av ethvert objekt skal overvåkes.

Hva er en PIR -sensor eller bevegelsesdeteksjonssensor

For å oppdage tilstedeværelsen av enhver bevegelig kropp bruker vi PIR -sensoren, og denne sensoren kan også navngis som bevegelsesdeteksjonssensoren. Denne sensoren avgir ingen infrarød stråling, men den oppdager den infrarøde strålingen i form av varme og genererer det elektriske signalet. Som vi vet at hver bevegelige kropp avgir infrarød stråling i form av varme, og når slik varmesignatur kommer i området for denne sensoren, gir den høy. Nedenfor har vi gitt figur som viser bevegelsesdeteksjonssensoren:

Denne sensoren kommer med tre pinner totalt: en for VCC, en for bakken (GND) og den midterste for produksjon av sensoren. Tilsvarende kommer denne sensoren med to potensiometre en for å justere forsinkelse og en for justering følsomhet av sensoren.

Fra bildet over kan vi se at det er to potensiometre med gule knotter: den til høyre er for følsomhetsjustering av sensoren og den venstre brukes til å justere forsinkelsestiden til sensoren.

Det maksimale området for sensoren for å oppdage bevegelsen er seks meter, og ved å rotere potensiometeret med klokken med klokken kan vi øke følsomheten til sensoren. Nå kommer det til forsinkelsestiden det er tiden hvoretter utgangen til sensoren vil endres til null når ethvert bevegelig kropp har krysset deteksjonsområdet til sensoren:

Pin Navn Beskrivelse
1 VCC PIN-kode som brukes til å koble bevegelsessensoren med 5-volts forsyning
2 UTE PIN -kode som brukes til å sjekke utgangen fra bevegelsessensoren
3 GND Pin brukt til jording av bevegelsessensoren

Grenser for bevegelsesdeteksjonssensoren ved bruk av Arduino UNO

For å grensesnitt mot bevegelsesdeteksjonssensoren med Arduino Uno har vi laget en krets hvis skjema er gitt nedenfor:

Maskinvareenhet av grensesnitt på bevegelsesdeteksjonssensor med Arduino Uno

Vi har gitt listen over nødvendige komponenter som er nødvendige for å sette sammen maskinvaren for å grensesnitt mot bevegelsesdeteksjonssensor

  • Arduino Uno
  • Koble til ledninger
  • Brødbrett
  • RGB LED
  • 1 bevegelsesdeteksjonssensor (HC-SR501)

Kretsen designet for å grensesnitt til bevegelsesdeteksjonssensoren med Arduino UNO implementeres på maskinvaren, og for det har vi gitt maskinvarenheten i figuren nedenfor:

For å koble utgangen fra bevegelsesdeteksjonssensoren har vi brukt den brune ledningen og koblet den til pin 6 på Arduino. Mens vi har koblet til RGB -LED for indikasjon på bevegelsen, eller vi kan si at for å indikere den høye og lave utgangen til sensoren har vi brukt RGB LED. Så ved å bruke pinnen 4 av Arduino ved hjelp av den grønne ledningen har vi koblet den grønne LED. Mens vi har brukt den røde ledningen til å koble den røde LED på Arduino på pinnen 5. Imidlertid har vi brukt 5 volt og jordpinnene til Arduino for å levere spenningen til kretsen.

Arduino -kode for å grensesnitt mot bevegelsesdeteksjonssensoren (PIR) med Arduino Uno

Vi har gitt koden samlet for å grensesnitt mot bevegelsesdeteksjonssensoren med Arduino UNO nedenfor:

int redpin = 5;/* tilordne Arduino -pinnen for rød LED*/
int greenpin = 4;/* tilordne Arduino -pinnen for grønn LED*/
int sensorpin = 6; /* tilordne Arduino -pinnen for bevegelsesdeteksjonssensor*/
int val = 0; / *tilordne variablene for streng Utgangen til sensoren */
void setup ()
/ * tilordne PIN -modus for lysdiodene og sensoren */
pinmode (redpin, output);
pinmode (greenpin, utgang);
pinmode (sensorpin, input);
Serie.Begynn (9600); / * initialisere seriell kommunikasjon */
DigitalWrite (Greenpin, High); / * gi LED en høy tilstand */

void loop ()
val = digitalread (sensorpin); /* Lese utgangen fra bevegelsessensoren*/
if (val == høy) / * Hvis verdien er høy, så * /

DigitalWrite (Redpin, High); / * slå på den røde LED */
digitalwrite (greenpin, lav);/ * slå av den grønne LED */

if (val == lav)/ * Hvis utgangen til sensoren er lav, så *//

DigitalWrite (Redpin, Low); / * Slå den røde LED av */
DigitalWrite (Greenpin, High);/* Slå på den grønne LED*/

Koden for å grensesnitting av bevegelsesdeteksjonssensoren er ganske enkel. Vi må bare lese utgangen fra sensoren ved hjelp av DigitalRead () funksjon. Vi har koblet sammen en RGB -LED som vil indikere når utgangen fra sensoren er høy eller lav.

Den grønne LED viser at utgangen til sensoren er lav, noe som betyr at det ikke er noen bevegelig kropp til stede i nærheten. Så snart det er et bevegelig objekt som føles av sensoren, vil utgangen være høy og den røde LED vil slå på.

For å kontrollere lysdiodene for indikasjon vi har brukt hvis forhold som er basert på utgangen fra sensoren.

Maskinvareimplementering for å grensesnitt mot bevegelsessensoren med Arduino Uno

Vi har gitt figuren nedenfor som viser implementeringen av maskinvarenheten vi beskrev ovenfor:

For å demonstrere arbeidet med bevegelsesdeteksjonssensoren har vi gitt en animasjon nedenfor. Når den grønne LED er på, betyr det at det ikke er noe bevegelig objekt, mens når den røde LED er på, betyr det at det er et bevegelig objekt i området:

Konklusjoner

Bevegelsesdeteksjonssensoren også kjent som PIR -sensor brukes først og fremst i prosjektene der deteksjon av ethvert bevegelig objekt er nødvendig. For å bruke bevegelsesdeteksjonssensoren, må vi grensesnitt den til mikrokontrolleren, og for dette formålet brukte vi Arduino -plattformen. For å demonstrere hvordan vi kan grensesnitt mot bevegelsesdeteksjonssensoren med Arduino Uno, har vi designet en krets og implementert den på maskinvaren i denne guiden.