Microcontrollers worden vaak gebruikt in commerciële beveiligingsproducten zoals inbraakalarmsystemen. Dit laatste kan echter behoorlijk duur zijn. Dus waarom zou u geen zelfgemaakt alarm maken met een Raspberry Pi Pico-microcontroller van $ 4?
Deze gebruikt een PIR-sensor (passief infrarood) - zoals gebruikt door veel commerciële alarmsystemen - om de aanwezigheid van een indringer te detecteren. Het is ideaal om iemand te betrappen die uw kamer binnensluipt of rond uw bureau snuffelt, of om uw voorraad koekjes te beschermen. Met MicroPython kunt u uw alarm programmeren om te reageren met een hoorbare waarschuwing en knipperend licht.
1. Het alarm opbouwen
Om het alarm te bouwen, heb je een aantal standaard elektronische componenten nodig.
Wat je nodig hebt:
- Raspberry Pi Pico met gesoldeerde mannelijke pin headers
- Breadboard
- LED (elke kleur)
- 330 ohm weerstand
- Actieve piëzo-elektrische zoemer
- HC-SR501 PIR-sensor
- 4x Male-to-male (M2M) jumperdraden
- 3x Male-to-female (M2F) jumperdraden
Opmerking: als je geen zin hebt om mannelijke pin-headers aan je Raspberry Pi Pico te solderen, is het mogelijk om een Pico te kopen met al bevestigde headers.
Verwant: Een kijkje in de Pico, Raspberry Pi's nieuwste kleine krachtpatser
Bekijk voordat u alles aansluit aan de onderkant van de Pico om de pin-labels te zien.
Aan de bovenkant van de Pico kun je ook zien hoe de fysieke pincode werkt, van 1 tot 40, linksom vanaf de micro-USB-poort.
Steek op het breadboard de mannelijke pin-headers van de Pico in de gaten aan het ene uiteinde. Duw hem stevig naar beneden om voor goede verbindingen te zorgen - hij moet goed passen. Gebruik vervolgens vrouw-naar-mannetje jumperdraden om de PIR-sensor erop aan te sluiten: de VCC-pin moet worden aangesloten op Pico's 5V VBUS, digitale OUT naar GP28 en GND naar een GND-pin (bijvoorbeeld pin 3), zoals weergegeven in het bedradingsschema hieronder.
Verbind een van de grondrails van het breadboard (gemarkeerd door een blauwe lijn) met een andere GND-pin op Pico (bijvoorbeeld fysieke pin 23, zoals hier). Steek voor een knipperlicht een LED in het breadboard, met de poten aan weerszijden van de centrale scheiding.
Het kortere been (kathode) moet dan op dezelfde grondrail worden aangesloten. De langere poot (anode) van de LED moet via een weerstand op de GP15-pin worden aangesloten om de hoeveelheid elektrische stroom die erdoorheen gaat te beperken, wat anders de LED of de Pico zou kunnen beschadigen.
Voeg ten slotte een zoemer toe om een piepgeluid te maken wanneer het alarm afgaat. Plaats de poten aan weerszijden van de centrale scheiding van het breadboard en verbind de kortere poot of zwarte draad naar de grondrail en het langere been (soms gemarkeerd bovenop de zoemer met ‘+’) of rode draad naar GP14.
2. Het alarm programmeren
U moet MicroPython op de Pico installeren. Dit proces omvat vier eenvoudige stappen:
- Download MicroPython voor Raspberry Pi Pico van het Raspberry Pi-website
- Verbind de Pico met uw computer via de micro-USB-aansluiting terwijl u de BOOTSEL-knop ingedrukt houdt
- Wacht tot de Pico verschijnt als een externe schijf
- Versleep het .uf2 MicroPython-bestand om het naar de Pi Pico te kopiëren; het zal automatisch opnieuw opstarten
Hoewel er talloze programmeer-IDE's (geïntegreerde ontwikkelomgevingen) beschikbaar zijn voor MicroPython, gebruiken we hier Thonny. Het is al voorgeïnstalleerd in Raspberry Pi OS (als je een Raspberry Pi-computer gebruikt die op de Pico is aangesloten), of kan voor elk computersysteem worden gedownload vanaf de officiële website door op de link rechtsboven te klikken hoek.
Downloaden: Thonny (gratis)
Open Thonny terwijl je Pico op de computer is aangesloten. In de rechterbenedenhoek van het Thonny-venster ziet u de versie van Python die u momenteel gebruikt. Klik erop en selecteer MicroPython (Raspberry Pi Pico).
U bent nu klaar om uw inbraakalarm op de Pico te programmeren. Voeg de volgende regels code toe aan het hoofdvenster van Thonny.
importeer machine
import utime
pir = machine. Pin (28, machine. Pin. IN, machine. Pin. OMLAAG TREKKEN)
led = machine. Pin (15, machine. Pin. UIT)
zoemer = machine. Pin (14, machine. Pin. UIT)
def pir_handler (pin):
utime.sleep_ms (100)
als pin.value ():
print ("Beweging gedetecteerd. Inbraakalarm! ")
voor i in bereik (50):
led.toggle ()
buzzer.toggle ()
utime.sleep_ms (100)
pir.irq (trigger = machine. Pin. IRQ_RISING, handler = pir_handler)
Importeer hier de machine- en utime-bibliotheken bovenaan. Stel vervolgens objecten in voor de PIR, LED en zoemer - respectievelijk verbonden met GP28-, GP15- en GP14-pinnen.
Merk op dat de PIR is ingesteld als een ingang met machine. Pin. IN, met een machine. Pin. OMLAAG TREKKEN parameter om de weerstand van de Pico-pin in de pull-downmodus te zetten; dit betekent dat het als nul wordt gelezen totdat er een elektrische stroom naar wordt gestuurd vanaf de PIR die wordt geactiveerd.
Verwant: Aan de slag met MicroPython op de Raspberry Pi Pico
Onderaan de code wordt een IRQ (interruptverzoek) ingesteld om het pir_handler functioneren zodra er een signaal wordt gedetecteerd op de ingangspen (GP28) van de PIR-sensor.
Om in de functie zelf herhaalde triggering binnen een korte tijd te voorkomen, voegt u een vertraging van 100 ms toe voordat u de pinwaarde opnieuw controleert en, als deze niet nul is, het alarm activeert. Vervolgens worden de LED en de zoemer in- en uitgeschakeld om het licht te laten knipperen en een piepgeluid te maken.
Sla het programma op uw Pico op met een relevante naam, zoals alarm.py. Start het programma en als u met uw hand over de PIR-sensor zwaait, moet de zoemer piepen en de LED snel knipperen.
3. Sensorgevoeligheid aanpassen
Als het alarm te gemakkelijk of helemaal niet afgaat, moet u mogelijk de gevoeligheid van de PIR-sensor aanpassen. De HC-SR501 heeft twee plastic schroeven - meestal aangeduid met Sx en Tx - die zijn bevestigd aan twee kleine potentiometers om de instellingen aan te passen.
Met een kleine schroevendraaier kunt u de Sx-schroef tegen de klok in draaien om de gevoeligheid te vergroten (of omgekeerd). Door aan de Tx-schroef te draaien, verandert de tijdsduur dat het getriggerde signaal wordt verzonden na detectie van indringers - we vonden het het beste om het volledig tegen de klok in te draaien, voor de kortste vertraging van 1 seconde.
Standaard zal de PIR elke beweging in de 360 ° eromheen waarnemen. Als je het detectiebereik wilt beperken, plaats hem dan op de bodem van de kartonnen binnenband van een toiletrol en kantel hem in de richting die je wilt bedekken.
Maak uw eigen mobiele inbraakalarm
Als uw inbraakalarm eenmaal naar tevredenheid werkt, wilt u het wellicht bij uw computer vandaan halen. Door het programma op te slaan als main.py, kunt u deze vervolgens loskoppelen van de computer en een standaard mobiele powerbank aansluiten op de micro-USB-poort.
De Pico zal dan automatisch het main.py programma zodra het is opgestart. Gefeliciteerd: je hebt nu een mobiel inbraakalarm om overal neer te zetten.
Er komen gerandomiseerde alfanumerieke serienummers om uw privacy te beschermen. Dit is wat er aan de hand is ...
Lees Volgende
- DIY
- Raspberry Pi
- Python
Abonneer op onze nieuwsbrief
Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!
Nog een stap…!
Bevestig uw e-mailadres in de e-mail die we u zojuist hebben gestuurd.