Som Arduino forbinder en infrarød sensor. Arduino: Infrarød bevægelsesføler, fest
PIR (passive infrarøde sensorer) sensorer giver dig mulighed for at fange bevægelsen.
Meget ofte brugt i signalsystemer. Disse sensorer er små i størrelse, billigt, forbruge lidt energi, er nem at betjene, praktisk taget ikke underlagt slid. Ud over PIR kaldes sådanne sensorer pyroelektriske og infrarøde bevægelsessensorer.
Pylowelectric Motion Sensor - Generelle oplysninger
PIR bevægelsessensorer består i det væsentlige af et pyroelektrisk sensingselement (cylindrisk del med en rektangulær krystal i midten), som fanger niveauet af infrarød stråling. Alt omkring udsender et lille strålingsniveau. Jo større temperaturen er, desto højere strålingsniveau. Sensoren er faktisk opdelt i to dele. Dette skyldes, at vi ikke er vigtige for strålingsniveauet, men direkte tilstedeværelsen af \u200b\u200bbevægelse inden for dens følsomhedszone. To dele af sensoren er indstillet på en sådan måde, at hvis en halv fanger et større niveau af stråling end det andet, vil udgangssignalet generere værdien af \u200b\u200bhøj eller lav.
Selve modulet, hvor bevægelsesføleren er installeret, består også af yderligere elektrisk raffing: Sikringer, modstande og kondensatorer. De fleste billige PIR sensorer bruger billige Biss0001 chips ("Micro Power Pir Motion Detector IC"). Denne chip opfatter den ydre strålingskilde og udfører minimal signalbehandling til konvertering af den fra analog i en digital visning.
En af de grundlæggende modeller af pyroelektriske sensorer i denne klasse ser sådan ud:
Nyere PIR sensor modeller har yderligere udgange til yderligere indstillinger og installerede stik til signal, ernæring og jord:
PIR sensorer er gode til projekter, hvor det er nødvendigt at bestemme tilstedeværelsen eller fraværet af en person inden for et bestemt arbejdsområde. Ud over fordelen af \u200b\u200bsådanne sensorer, der er anført ovenfor, har de en stor følsomhedszone. Bemærk dog, at pyroelektriske sensorer ikke vil give dig oplysninger om, hvor mange mennesker omkring og hvor tæt de er til sensoren. Derudover kan de arbejde på kæledyr.
Generelle tekniske oplysninger
Disse specifikationer vedrører PIR sensorer, der sælges i adafruitbutikken. Princippet om drift af lignende sensorer ens, selvom specifikationerne kan afvige. Så før du arbejder med en PIR-Sensor, læs hans DataShet.
- Form: rektangel;
- Pris: Om 10,00 dollars i adafruit butik;
- Output: Digital højimpuls (3 V) med bevægelse og digitalt lavt signal, når der ikke er nogen bevægelser. Pulslængden afhænger af modstandene og kondensatorerne på selve modulet og forskelligt i forskellige sensorer;
- Sensitivitetsområde: op til 6 meter. Synsvinkel 110 ° x 70 °;
- Måltider: 3B - 9V, men den bedste mulighed er 5 volt;
>At bestille med Aliexpress:
Princippet om drift af pyroelektriske (PIR) bevægelsessensorer
PIR sensorer er ikke så enkle, da det kan virke ved første øjekast. Hovedårsagen er et stort antal variabler, der påvirker dets input- og udgangssignaler. For at forklare det grundlæggende i sensorernes arbejdsfest, bruger vi tegningen nedenfor.
Den pyroelektriske bevægelsesføler består af to hoveddele. Hver af delene indeholder et specielt materiale, der er følsomt over for infrarød stråling. I dette tilfælde påvirker linserne ikke særlig sensorens funktion, så vi ser to sektioner af følsomheden af \u200b\u200bhele modulet. Når sensoren er i ro, bestemmer begge sensorer den samme mængde stråling. For eksempel kan det være strålingen i rummet eller miljøet på gaden. Når et varmblodet objekt (person eller et dyr) går forbi, krydser det den første sensors følsomhedszone, som et resultat af hvilket der opstår en to forskellige strålingsværdier på sensormodulet. Når en person forlader den første sensors følsomhedszone, er værdierne justeret. Det er ændringerne i vidnesbyrd om to sensorer registreres og genereres høje eller lave pulser ved udgangen.
PIR Sensor Design.
Sensor SYS-følsomme elementer er installeret i et metal hermetisk tilfælde, som beskytter mod ekstern støj, temperaturdråber og fugtighed. Rektanglet i midten er lavet af materiale, der transmitterer infrarød stråling (normalt dette er et materiale baseret på silikone). To følsomme elementer er installeret bag denne plade.
Tegning fra DataShet Murata:
DataShet Drawing RE200B:
Figur fra DATASHEET RE200B viser to følsomme elementer:
Figuren ovenfor viser det interne forbindelsesdiagram.
Linser
Infrarøde bevægelsessensorer er næsten de samme i deres struktur. De vigtigste forskelle er følsomhed, der afhænger af kvaliteten af \u200b\u200bfølsomme elementer. Samtidig spiller optik en vigtig rolle.
Figur ovenfor viser et eksempel på en plastiklinse. Det betyder, at sensorfølsomhedsområdet er to rektangler. Men som regel skal vi give store synsvinkler. For at gøre dette kan du bruge linser svarende til dem, der bruges i kameraer. I dette tilfælde skal linsen til bevægelsesføleren være lille, tynd og fremstillet af plastik, selv om den tilføjer støj til målinger. Derfor anvendes Fresnel-objektiver i de fleste PIR-sensorer (tegning fra sensors magasin):
Fresnel-linser koncentrerer stråling, der signifikant udvider følsomhedsområdet (figur med bhlens.com)
Figur fra Cypress AppNote 2105:
Nu har vi et meget større følsomhedsområde. På samme tid husker vi, at vi har to følsomme elementer, og vi behøver ikke så meget to store rektangler som et stort antal små følsomhedszoner. Til dette er linsen opdelt i flere sektioner, hvoraf hver er en separat linse af Fresnel.
I billedet nedenfor kan du se individuelle sektioner - Fresnel-objektiver:
På denne makro skal du være opmærksom på, at tekstur af individuelle linser er anderledes:
Resultatet er et helt sæt af følsomme steder, der interagerer med hinanden.
DATASHET TEGNINGER NL11NH:
Nedenfor er en anden tegning. Lysere, men mindre informative. Derudover bemærkes, at de fleste sensorer har et vinkelbillede på 110 grader, og ikke 90.
Figur fra IR-TEC:
Tilslutning af en pir bevægelsessensor
De fleste moduler med infrarøde bevægelsessensorer har tre stik på bagsiden. Pinout kan afvige, så før du tilslutter, tjek det ud! Normalt er der kompatible påskrifter ved siden af \u200b\u200bstikket. Et stik går til jorden, det andet giver os et signal, der interesserer os fra sensorerne, den tredje jord. Forsyningsspændingen er normalt 3-5 volt, permanent strøm. Men nogle gange er der sensorer med en spænding på 12 volt. I nogle store sensorer er der ikke noget særskilt pin signal. I stedet bruges et relæ med jord, strøm og to switche.
For prototypen af \u200b\u200bdin enhed ved hjælp af en infrarød bevægelsesføler, er det hensigtsmæssigt at bruge printkortet, da de fleste af disse moduler har tre konnektor, idet afstanden mellem hvilken beregnes netop under laget huller.
I vores tilfælde svarer det røde kabel til magt, sort jord og et gul-signal. Hvis du forbinder kablerne forkert, mislykkes sensoren ikke, men det virker ikke.
Test Pir Motion Sensor
Saml ordningen i overensstemmelse med mønsteret ovenfor. Som et resultat, når PIR-sensoren registrerer bevægelsen, genereres det høje signal ved udgangen, hvilket svarer til 3,3 V, og LED'en lyser op.
På samme tid bemærke, at den pyroelektriske sensor skal "stabilisere". Installer batterierne og vent 30-60 sekunder. I løbet af denne tid kan LED'en blinke. Vent, indtil blinkningen er forbi, og du kan begynde at bøje dine hænder og gå rundt om sensoren, så de LED-antændes!
Konfiguration af genstart af sensoren
Den pyroelektriske bevægelsesføler har flere tinkturer. Først vil vi se på "genstart".
Efter tilslutning, se på bagsiden af \u200b\u200bmodulet. Tilslutninger skal installeres i øverste venstre hjørne L, som vist i nedenstående figur.
Bemærk venligst, at med en sådan forbindelse indstilles, lyser LED'en ikke konstant, og slukker, når du bevæger dig i nærheden af \u200b\u200bden. Dette er muligheden "uden genstart" (ikke-retriggering).
Installer nu stikket til position H. Efter test viser det sig, at LED'en er konstant, hvis nogen bevæger sig i sensorens følsomhedszone. Dette er en "genstart" -tilstand.
Tegningen er lavere fra databladet på Biss0001-sensoren:
I de fleste tilfælde vises "genstart" -tilstanden (stikket på H CC-positionen i figuren nedenfor) bedre.
Konfigurer følsomhed
På mange infrarøde bevægelsessensorer, herunder adafruit, installeres et lille potentiometer for at konfigurere følsomheden. Rotationen af \u200b\u200bPottencyiometeret med uret tilføjer følsomheden over for sensoren.
Ændring af tidspunktet for puls og tid mellem pulser
Når vi betragter PIR sensorer, er der to intervaller af "forsinkelse" -tiden. Første gangs segment ISTX: hvor længe LED'en er tændt efter bevægelsen detekteres. På mange pyroelektriske moduler reguleres denne gang af det indbyggede potentiometer. Den anden gang er TI: Hvor længe før LED'en ikke garanteres, når bevægelsen ikke var. Skift denne parameter er ikke så simpel, for dette kan du have brug for et loddejern.
Lad os tage et kig på databladet Biss:
På adafruit sensorer har et potentiometer markeret som tiden. Dette er en variabel modstand med resistens over for 1 mega, som tilsættes til modstande på 10 kiloma. C6 kondensator har en kapacitet på 0,01 mikrofat, så:
Tx \u003d 24576 x (10 com + rtime) x 0,01 μf
Når rtime potentiometeret i "nul" - fuldstændig roteret mod uret - position (0 mega):
Tx \u003d 24576 x (10 com) x 0,01 μf \u003d 2,5 sekunder (ca.), når rtime potentiometeret er fuldstændigt drejet med uret (1mog):
Tx \u003d 24576 x (1010 com) x 0,01 μf \u003d 250 sekunder (ca.)
I mellempositionen RTID vil tiden være omkring 120 sekunder (to minutter). Det vil sige, hvis du vil spore bevægelsen af \u200b\u200bet objekt med en frekvens gange pr. Minut, drej potentiometeret med 1/4 omdrejning.
Til ældre / andre PIR sensor modeller
Hvis der ikke er nogen potentiometre på din sensor, kan du konfigurere modstandene.
Vi er interesserede i modstande R10 og R9. Desværre kan kineserne gøre meget. Herunder forvirrede påskrifter. Figur ovenfor viser et eksempel på hvilket det kan ses, at R9 er forvirret med R17. Sporforbindelse af DataShet. R10 er forbundet til 3 stifter, R9 - til 7 stifter.
For eksempel:
TX er \u003d 24576 * R10 * C6 \u003d ~ 1,2 sekunder
R10 \u003d 4,7k og c6 \u003d 10 nanofarad
TI \u003d 24 * R9 * C7 \u003d ~ 1,2 sekunder
R9 \u003d 470k og C7 \u003d 0,1 mikrofrades
Du kan ændre forsinkelsestidspunktet for forskellige modstande og kondensatorer.
Tilslutning af en PIR-bevægelsesføler til Arduino
Vi skriver et program til at læse værdier fra en pyroelektrisk bevægelsesføler. Tilslut PIR-sensoren til mikrocontrolleren er enkel. Sensoren viser et digitalt signal, så alt hvad du behøver, er at læse Arduino High (RBNOV) eller lav (ingen bevægelse).
Glem ikke at installere et stik til position H!
Server 5 volt til sensoren. Earth Sozhineati med jord. Derefter tilsluttes stiften af \u200b\u200bsignalet fra sensoren med en digital pin på Arduino. I dette eksempel anvendes pin 2.
Programmet er enkelt. I det væsentlige sporer det tilstanden af \u200b\u200bPina 2. Nemlig: Hvad er signalet på det: Lav eller højt. Derudover gives meddelelsen, når tilstanden af \u200b\u200bPina ændres: Der er en bevægelse eller ingen bevægelse.
* Verifikation af PIR-bevægelsesføleren
int ledpin \u003d 13; // Initialiser PIN-kode til LED
int inputpin \u003d 2; // Initialiser PIN-kode for at opnå et signal fra en pyroelektrisk bevægelsesføler
int pirstate \u003d lav; // Begynd arbejdet i programmet, forudsat at der ikke er nogen bevægelse
int val \u003d 0; // Variabel til læsning af staten Pina
pinmode (ledpin, udgang); // erklære LED som output
pINMODE (INPUTPIN, INPUT); // erklærer sensoren som en input
Serial.begin (9600);
val \u003d DigitalRead (INPUTPIN); // Læs værdien fra sensoren
hvis (val \u003d\u003d høj) (// kontrollerer om læsværdien af \u200b\u200bhøj
dIGITALWRITE (LEDPIN, HIGH); // Tænd for LED
hvis (pirstate \u003d\u003d lav) (
// vi er lige tændt
Serial.println ("bevægelses opdaget!");
pirstate \u003d høj;
dIGITALWRITE (LEDPIN, LOW); // Sluk for LED'en
hvis (pirstate \u003d\u003d høj) (
// Vi har lige slukket det
Serial.println ("bevægelse sluttede!");
// Vi vises på Serial Monitor Change, ikke staten
Glem ikke, at en mikrocontroller ikke altid er nødvendig for at arbejde med pyroelektrisk sensor. Nogle gange kan du gøre med et simpelt relæ.
PIR (passive infrarøde sensorer) sensorer giver dig mulighed for at fange bevægelsen. Meget ofte brugt i signalsystemer. Disse sensorer er små i størrelse, billigt, forbruge lidt energi, er nem at betjene, praktisk taget ikke underlagt slid. Ud over PIR kaldes sådanne sensorer pyroelektriske og infrarøde bevægelsessensorer.
Der var behov for at købe et par sensorer til husholdningsbrug i deres håndværk baseret på LED-baggrundsbelysning.
Da jeg har et relativt stort forbrugstrøm, og forsyningsspændingen er 12 V, blev kompakte pyroelektriske infrarøde bevægelsesfølere i huset købt.
Pakke:
Jeg bestilte to sensorer med evnen til at justere lysfølsomheden:
Sensorer understøtter strøm fra 12 til 24 volt. De har allerede sprinklet ledige ledninger med en længde på ca. 30 cm med stikkontakter til input og output, med central kontakt 2.1 mm, og dette er et stort plus. Du behøver ikke at få nok, bare tilslut strømforsyningen og brug:
Sensorerne selv er ret kompakte. Udseende:
Dimensioner:
For at komme til bestyrelsen og justeringer skal du betjene sagen. Bagdækslet på låsene er fastgjort til skruetrækkeren:
Bestyrelsen ser sådan ud:
Jeg fandt ordningen af \u200b\u200bdenne enhed, nævningerne kan variere, men generelt for at forstå essensen af \u200b\u200barbejdet, er det sandt:
Her ser vi spændingsstabilisatoren ved indløbet for ernæring af chippen:
Forresten, her er databladet af dette element, det kan ses, at forskellig mærkning indebærer en anden stabil spænding ved udgangen. Men hovedpunktet er, at det understøtter indgangsspændingen til 24 volt, hvorfor det ikke bør overskrides.
Endvidere er der ifølge ordningen en felttransistor ved udgangen, hvilket er nøglen i strømforsyningskæden:
I datassen er den maksimale lange strøm angivet ved normal stuetemperatur 15 A, men da vi ikke har nogen afkøling af transistoren, er vi begrænset af udgangseffekt.
Hjertet af enheden er Biss0001 chip. Denne chip opfatter den ydre strømkilde for stråling og udfører minimal signalbehandling for at konvertere den fra analog i digital visning:
PIR Motion Sensor består faktisk af et pyroelektrisk sensingselement (cylindrisk del med en rektangulær krystal i centrum), som fanger niveauet af infrarød stråling. Sensoren er faktisk opdelt i to dele. Dette skyldes, at vi ikke er vigtige for strålingsniveauet, men direkte tilstedeværelsen af \u200b\u200bbevægelse inden for dens følsomhedszone. To dele af sensoren er indstillet på en sådan måde, at hvis en halv fanger et større niveau af stråling end det andet, vil udgangssignalet generere værdien af \u200b\u200bhøj eller lav.
Nu direkte til justeringer. Tilpasset enheden, kastede, hvad og hvor de skal drejes:
Tiden justeres fra 1 sekund til 500 sekunder. Med en helt snoet skyder blinker lyset bare.
Med hensyn til sensor inklusionstærsklen viste den eksperimentelle måde, at denne spænding fra 11,5 volt, hvis nedenfor, sensoren simpelthen ikke tænder:
Ifølge ordningen er det klart, at udgangsspændingen fra sensoren er mindre end eller lig med indgangen. Jeg sætter 12v. Der er en fejl i form af en unøjagtig indikation af strømforsyningen, så sensorforbruget er selvfølgelig nedenfor:
I inaktiv tilstand forbruger sensoren 84mA, og udgangsspændingen er 170 mV.
Ærligt, jeg vil sige, at for at tilpasse sensoren er meget ubehagelig med et fjernt bord, så jeg lavede huller på bagsiden, og så meget bedre:
Samlet en ordning, alt oprettet:
Kontrolleret:
Sensoren har arbejdet i to dage, den anden jeg lægger på baggrundslyset på hovedtelefonen står, og jeg kan godt lide, i modsætning til den forrige, der arbejdede fra 220 V, var mere og klikket på relæet, denne mere kompakt og, Selvfølgelig beshume.
Det maksimale interval måler ikke, men i lejligheden med 3 meter udløses det præcist
Jeg er tilfreds med købet - ja. Fuld, høj kvalitet færdig enhed.
Hvad kunne du lide:
+ Fuldt tilpasset tilstand
+ Minimalt selvforbrug
+ Kvalitet af fremstilling og kompaktitet
+ Ryd Trigger uden at springe
+. Fordeling af ledninger med reden
Hvad kunne ikke lide:
- Manglende direkte adgang til indstillinger uden fortovet (løst)
- Fastgørelserne er meget små (men det er bedre at rette på en tovejs tape type 3m)
Den hvide cap cap er slået ud af det sorte tilfælde, men i indstillingen uden lys sensor er den sort.
Det er alt.
Princippet om drift af PIR sensorer og typisk elektrisk diagram af enheden. Enhver bliver en kilde til termisk stråling. Bølgelængden af \u200b\u200bdenne stråling afhænger af temperaturen og er i den infrarøde del af spektret. Denne stråling spores af specielle sensorer, der kalder PIR sensorer.
PIR er de forkortede "passive infrarøde-passive infrarøde" sensorer. Passiv - fordi sensorerne selv ikke udsendes, men kun opfatter stråling med en bølgelængde fra 7 til 14 mikron. PIR-sensoren indeholder et følsomt element, der reagerer på en ændring i termisk stråling. Hvis det forbliver konstant - det elektriske signal genereres ikke. For at sensoren skal reagere på bevægelse, anvendes Fresnel-objektiver med flere fokuseringswebsteder, som opdeler det samlede varmebillede i aktive og passive zoner, der er placeret i en checkerordre. En person, der er på området for sensoren, tager flere aktive zoner helt eller delvist. Derfor, selv med minimal bevægelse, bevæger sig fra nogle aktive zoner til andre, hvilket forårsager sensoren, der udløser. Men baggrunden termisk billedet ændrer sig meget langsomt og jævnt, så sensoren reagerer ikke på det. Den høje tæthed af aktive og passive zoner tillader sensoren pålideligt at bestemme tilstedeværelsen af \u200b\u200ben person ved den mindste bevægelse.
Denne ordning er baseret på HT7610A-chipet, som kun er beregnet til brug i automatiske PIR-lamper eller alarmer. Det kan fungere i en 3 kablet konfiguration for signaloverførsel. Dette projekt bruger et relæ i stedet for en tyristor, som det ofte er gjort, for at forbinde enhver form for belastning. Inde i chippen er der en operationsforstærker, en komparator, en timer, en overgangsdetektor gennem nul, styrekredsløb, spændingskontrol, generator og generatorsynkroniseringsudgang.
PIR Sensor registrerer et infrarødt ændret signal forårsaget af bevægelsen af \u200b\u200bmenneskekroppen og konverterer det til spændingsudsving. Ordningen kræver ikke en sænkningstransformator, og det kan fungere direkte fra 220V. Ballast kondensator C7 skal være 0,33uF / 275V, og bedre ved 400V.
Funktioner Sensor Scheme.
- Ordning Driftsspænding: 5V-12V.
- Indlæs nuværende 80 mA, når relæet er inkluderet.
- I inaktiv tilstand: 100 μA
- ON / AUTO / OFF OPERATUR.
- AutoSbross, hvis signalet forsvinder om 3 sekunder.
- Relæ udgang for at forbinde belastningen.
- LDR fotoresistor til at registrere dag / nat tilstand.
- J1 Jumper til indstilling af tilstand.
- PR1-modstanden angiver sensorens følsomhed.
- PR2-modstanden indstiller udgangsvarigheden af \u200b\u200budgangsstatussignalet.
Sensor PIR-ordningen tilbyder tre driftsformer (ON, Auto, Off), som kan installeres manuelt Jumper J1. CDS Systemet er en Schmitt CMOS trigger, som bruges til at skelne mellem dag og nat.
Principarbejde PIR (passiv infrarød) -sensor.
Ethvert objekt med en form for temperatur bliver kilden til elektromagnetisk (termisk) stråling, herunder menneskekroppen. Bølgelængden af \u200b\u200bdenne stråling afhænger af temperaturen og er i den infrarøde del af spektret. Denne stråling er usynlig for øjet og fanger kun sensorerne. De kaldes også PIR sensorer.
Dette er en forkortelse fra ordene "passive infrarøde" eller "passive infrarøde" sensorer. Passiv - fordi sensorerne selv ikke udsendes, men kun opfatter stråling med en bølgelængde på 7 til 14 μm.
En mand udstråler varm. Dens termiske billede i infrarøde stråler viser temperaturfordelingen over kropsoverfladen. Mere opvarmede genstande ser lettere, sejeste - mørkere, fordi Udstråle mindre varme.
PIR-sensoren indeholder et følsomt element, der reagerer på en ændring i termisk stråling. Hvis det forbliver konstant - det elektriske signal genereres ikke.
For at sensoren skal reagere på bevægelse, anvendes specielle linser (Fresnel-objektiver) med flere fokuseringswebsteder, der opdeler et totalt varmebillede i aktive og passive zoner, der er placeret i en checkerordre. En person, der er på området for sensoren, tager flere aktive zoner helt eller delvist.
Derfor, selv med minimal bevægelse, bevæger sig fra nogle aktive zoner til andre, hvilket forårsager sensoren, der udløser. Baggrunds termisk billede ændrer sig sædvanligvis meget langsomt og jævnt. Sensoren reagerer ikke på den. Den høje tæthed af aktive og passive zoner tillader sensoren pålideligt at bestemme tilstedeværelsen af \u200b\u200ben person, selv ved den mindste bevægelse.
I dag vil vi analysere projektet, der forbinder en PIR-sensor (bevægelse) til Arduino og organiserer automatisk afsendelse af e-mail, når sensoren udløses. Arduino er hjertet af dette projekt - læser aftagelsen af \u200b\u200bIR-sensoren, og når der opdages bevægelse, giver computeren via USB-porten til at sende et bogstav. Signalbehandlingen, der kommer ind på computeren, implementeres ved hjælp af Python-programmet.
Liste over dele til montering model
For samlingen af \u200b\u200bprojektet beskrevet i denne lektion vil følgende oplysninger være nødvendige:
- Arduino uno eller analog (mere om, hvordan man vælger Arduino);
- PIR sensor (egnet til $ 2);
- bradaarda (du kan købe til $ 2,4);
- ledninger DAD-DAD (du kan købe et sådant bundt med en stor margin).
Du vil også have en computer med en internetforbindelse, vi sender e-mail gennem det! Computerens rolle i denne lektion kan udføre.
PIR Sensor Connection Scheme til Arduino
Arduino kræver kun en PIR-sensor i dette projekt, så ledningerne fra sensoren kan tilsluttes direkte til Arduino. Men fordi I dette tilfælde holder ledningerne lidt mere bekvemt at bruge en ordning med en bedbode:
Arduino skamme
Arduino sender en besked om USB-seriel kommunikation, når bevægelse detekteres. Men hvis du sender en e-mail hver gang sensoren udløses, kan du få et stort antal bogstaver. Derfor, hvis det passerede for lidt tid fra det tidligere signal - vil vi sende en anden besked.
int pirpin \u003d 7;
int minsecsbetweenemails \u003d 60; // 1 min.
Long Lastsend \u003d -MinSecSBetweenens * 1000;
void setup ()
{
Pinmode (pirpin, input);
Serial.begin (9600);
}
void loop ()
{
Længe nu \u003d millis ();
Hvis (DigitalRead (Pirpin) \u003d\u003d Høj)
{
Hvis (nu\u003e lasterend + minsecsbetweempails * 1000))
{
Serial.println ("bevægelse"); Lastsend \u003d nu;
}
ANDET.
{
Serial.println ("for tidligt"); )
}
Forsinkelse (500);
}
Variablen "Minsecsbetweenemails" kan ændres til en anden rimelig værdi. I eksemplet er det installeret i 60 sekunder, og bogstaverne vil ikke blive sendt oftere end et minut. For at spore, da sidste gang blev givet til SATI-e-mail-kommandoen, bruges "LastSend" -variablen. Det initialiserer et negativt antal svarende til antallet af millisekunder, der er specificeret i variablen "MinsecsbetweenEmpls". Dette garanterer os forarbejdning af PIR sensor-responsen, så snart Arduino-skitsen kører. Cyklussen bruger Millis () funktionen for at få antallet af millisekunder med Arduino og sammenligne med tiden fra sensorens sidste svar og den tilsvarende sendebesked "bevægelse". Hvis sammenligningen viser, at for lidt tid gik fra den tidligere udløsning af sensoren, på trods af at bevægelsen blev detekteret, send meddelelsen "for tid" (for tidligt). Før du skriver et program på Python for at behandle et signal, der kommer fra Arduino til en computer eller Raspberry PI via USB, kan du kontrollere driften af \u200b\u200bprogrammet på Arduino, blot åbne Serial Monitor på Arduino IDE.
Installation af Python og Pyserial
Hvis projektet bruger computeren med Linux-operativsystemet, som f.eks. Raspberry PI, er Python allerede installeret. Hvis Windows-operativsystemet bruges, skal Python installeres. Under alle omstændigheder skal du installere Pyseerialbiblioteket for at sikre kommunikation med Arduino.
Installation af Python på Windows
For at installere Python på Windows, download installationsprogrammet med https://www.python.org/downloads/. Der var meddelelser om problemerne med pyseeri på Windows, når du bruger Python 3, så vi bruger Python 2. Efter installation af Python vises den tilsvarende gruppe i menuen Start. Men for pyseriinstallationen skal du bruge Python fra kommandolinjen, så tilføj den relevante mappe til sti-variablen.
For at gøre dette skal du gå til Windows Kontrolpanel, finde systemegenskaber (systemegenskaber). Klik derefter på MILJØ VARIABES indskrift ("Miljøvariabler") og vælg "Sti" i nederste vindue nederst på systemvariablerne (systemvariabler). Tryk på knappen Rediger, og derefter i slutningen af \u200b\u200b"Variable Value" uden at slette den tilgængelige tekst, tilføje "; C: \\ Python27. " Glem ikke ";" Efter hver bestemt mappe. For at kontrollere, at sti-variablen er ændret korrekt, vil du indtaste kommandoen "Python" på kommandoprompten. Et lignende billede skal vises:
Installation af pyseeri
Uanset det anvendte operativsystem, download .tar.gz installationspakke til pyseerial 2.6 fra https://pypi.python.org/pypi/pyserial Vi får filen ved navn Pyseerial-2.6.tar.gz, når du bruger Windows, du skal pakke ud filen til mappen. Desværre er dette ikke en almindelig zip-fil, så det kan være nødvendigt at downloade, for eksempel 7-ZIP (http://www.7-zip.org/). Når du bruger en computer med Linux-operativsystemet, skal du f.eks. Når du bruger Raspberry PI, skal du åbne terminalsessionen, udføre "CD" -kommandoen med den mappe, hvor pyseerial-2.6.tar.gz downloades, og derefter Udfør følgende kommando for at pakke installatøren:
$ tar -xzf pyseerial-2.6.tar.gz
Næste, uanset operativsystemet, der bruges på kommandolinjen, udfører kommandoen "CD" med pyseerial-2.6-mappen og udfør kommandoen:
Sudo python setup.py installeret
Kode på Python.
Opret nu et program på Python. For at gøre dette skal du kopiere denne kode til filen med navnet "MOVE.PY". På Linux kan du bruge "nano" editoren på Windows, sandsynligvis den nemmeste måde at lave en fil ved hjælp af Python 'Idle Editor' (tilgængelig fra Python Program Group i Start-menuen).
Import tid.
Import Serial.
Import SMTPlib.
Til \u003d " [E-mail beskyttet]"
Gmail_user \u003d " [E-mail beskyttet]"
Gmail_pass \u003d "putyourpasswordhere"
Emne \u003d "Intrusion !!"
Tekst \u003d "Din PIR sensor registreret bevægelse"
SER \u003d Serial.Serial ("COM4", 9600)
Def Send_Email ():
Udskriv ("Sende email")
Smtpserver \u003d smtplib.smtp ("smtp.gmail.com", 587)
Smtpsver.ehlo () smtpserver.Starttls ()
Smtpserver.ehlo smtpsver.login (gmail_user, gmail_pass)
Header \u003d "til:" + til + "\\ n" + "fra:" + gmail_user
Header \u003d header + "\\ n" + "emne:" + emne + "\\ n"
Print header.
Msg \u003d header + "\\ n" + tekst + "\\ n \\ n"
Smtpsver.sendmail (gmail_user, til msg)
Smtpserver.close ()
Mens sandt:
Meddelelse \u003d Ser.Readline ()
Udskriv (besked)
Hvis besked \u003d\u003d "M":
Send e-mail ()
Time.Sleep (0,5)
Før du kører Python-programmet, introducerer vi nogle ændringer (alle på toppen af \u200b\u200bprogrammet). Programmet forudsætter, at e-mails er oprettet fra Gmail-kontoen. Hvis det ikke er registreret (selvom det kun er for dette projekt). Ændre værdien af \u200b\u200b"til" variabel til e-mail-adressen, hvor meddelelser vil blive sendt. Skift værdien "Gmail_User" til adressen på Gmail-e-mailen, og følgelig adgangskoden i den næste linje (Gmail_Pass). Du kan også ændre emne- og sms-beskeden for at sende ("emne" og "tekst"). Du skal installere den serielle port, som Arduino er forbundet i Ser \u003d Serial.Serial String ("COM4", 9600) til Windows, det vil være noget som "COM4" for Linux - noget nasty "/dev/tty.usbmodem621" . Hvilken port på computeren er forbundet til bordet, ser vi på Arduino IDE i nederste højre hjørne.
Efter disse ændringer kører du programmet fra kommandolinjen / terminal: Python Movement.py er klar! Når PIR-sensoren udløser en besked til den angivne e-mail.
Hvad mere kan gøres ved hjælp af en PIR sensor
Nu har du mesteret e-mailen til at sende e-mails med Arduino, kan du begynde at udvide projektkapaciteterne. Du kan tilføje andre sensorer, og for eksempel at sende time-time-rapporteringsrapporter via e-mail. Selvfølgelig bruges PIR-sensoren direkte med Arduino uden at forbinde til computeren. I dette tilfælde, når sensoren udløses, kan du aktivere et advarselsbip, blinke LED'en eller inkludere belysning indendørs (gennem et højspændingsrelæ).