- Componenten vereist
- Schakelschema voor op Raspberry Pi en PIR-sensor gebaseerde bewegingsmelder
- Python-code voor Raspberry Pi:
Beveiligingssystemen spelen een belangrijke rol in ons dagelijks leven en daar kunnen we veel verschillende soorten beveiligingssystemen vinden met verschillende soorten technologieën en met verschillende prijsklassen. Als elektronische liefhebber kun je een eenvoudig beveiligingssysteem maken door een paar dollar en wat vrije tijd uit te geven. Hier in dit artikel deel ik een doe-het-zelfgids om een eenvoudig op Raspberry pi en PIR-sensor gebaseerd bewegingsdetectoralarm te maken dat de zoemer zal inschakelen wanneer de PIR-sensor enige menselijke beweging in het gebied detecteert. We hebben ook een eenvoudig op PIR-sensor gebaseerd bewegingsdetectorcircuit behandeld in een van onze vorige artikelen, waar we de werking van de PIR-sensor in detail hebben besproken.
Componenten vereist
- Raspberry Pi 3 (elk model)
- PIR-sensor
- Zoemer
- Breadboard
- Draden aansluiten
Werking van PIR-sensor
Passieve infrarood (PIR) -sensor wordt passief genoemd omdat deze infrarood ontvangt en niet uitzendt. In principe detecteert het elke verandering in warmte en wanneer het een verandering detecteert, wordt zijn output-PIN HOOG. Ze worden ook wel pyro-elektrische of IR-bewegingssensoren genoemd.
Hier moeten we opmerken dat elk object bij verhitting een bepaalde hoeveelheid infrarood uitzendt. De mens zendt ook infrarood uit vanwege lichaamswarmte. PIR-sensoren kunnen een kleine hoeveelheid variatie in infrarood detecteren. Telkens wanneer een object het sensorbereik passeert, produceert het infrarood vanwege de wrijving tussen lucht en object en wordt het door PIR gevangen.
Het belangrijkste onderdeel van de PIR-sensor is de pyro-elektrische sensor zoals weergegeven in de afbeelding (rechthoekig kristal achter de plastic dop). Samen met dit, BISS0001 ("Micro Power PIR Motion Detector IC"), enkele weerstanden, condensatoren en andere componenten die worden gebruikt om PIR-sensor te bouwen. BISS0001 IC neemt de input van de sensor en voert de verwerking uit om de outputpin HIGH of LOW dienovereenkomstig te maken.
Pyro-elektrische sensor splitst zich in twee helften, als er geen beweging is, blijven beide helften in dezelfde toestand, wat betekent dat beide hetzelfde infraroodniveau waarnemen. Zodra iemand de eerste helft binnengaat, wordt het infraroodniveau van de ene helft groter dan die van de andere, en dit zorgt ervoor dat PIR's reageren en de outputpin hoog wordt.
Pyro-elektrische sensor is bedekt met een plastic dop, die een reeks van vele Fresnel-lenzen bevat. Deze lenzen zijn zo gekromd dat de sensor een breed bereik kan bestrijken.
Schakelschema voor op Raspberry Pi en PIR-sensor gebaseerde bewegingsmelder
Zoals getoond in het bovenstaande schematische diagram voor Raspberry Pi en PIR-sensorgebaseerde bewegingsdetector, is de positieve pin van de PIR-sensor verbonden met de pin 4 (5v) en is de aardingspin van de PIR-sensor verbonden met pin 6 (aarde) van de Raspberry Pi (Je vindt hier het Pin Diagram van Raspberry Pi). De outputpin van de PIR-sensor is verbonden met de GPIO 23 van Raspberry Pi die wordt gebruikt om input te geven aan Raspberry Pi. De GPIO-pin 24 die hier voor uitvoer wordt aangegeven, is verbonden met de plus van de zoemer en de massa van de zoemer is verbonden met de aarde (pin 6) van de frambozen pi.
Python-code voor Raspberry Pi:
De Python-code voor deze op Raspberry Pi en PIR-sensor gebaseerde bewegingsdetector is vrij eenvoudig en kan gemakkelijk worden begrepen met de opmerkingen in het codegedeelte hieronder. Ik heb de GPIO-pin 23 en 24 verklaard als invoer- en uitvoerpinnen.
while True: als GPIO.input (23): #Als er beweging is, geeft de PIR-sensor input aan GPIO23 GPIO.output (24, True) #Output gegeven aan zoemer via GPIO24 time.sleep (1) #Buzzer gaat aan voor 1 tweede GPIO.-uitgang (24, False)
Een 'while'- lus wordt gebruikt als' True ', dus de inhoud in de lus wordt altijd uitgevoerd. als GPIO.input (23): instructie detecteert of GPIO-pin 23 hoog is, en als hetzelfde waar is, wordt de output-PIN 24 hoog. De functie time.sleep (sec) wordt gebruikt om het programma in python een bepaalde tijd te pauzeren, waarbij 'secs' de tijd in seconden is. Dus hier pauzeerden we het voor 1 seconde. In de volgende regel hebben we de uitvoer op 24 als onwaar gemaakt, dus de zoemer stopt totdat de lus begint met de volgende iteratie, omdat While- lus altijd waar is zonder enige voorwaarde.