Mikrokontroller används ofta i kommersiella säkerhetsprodukter som inbrottslarm. Det senare kan dock vara ganska dyrt. Så varför inte skapa ett hemmagjort larm med hjälp av en Raspberry Pi Pico-mikrokontroller för $4?
Den här använder en PIR-sensor (passiv infraröd) – som används av många kommersiella larmsystem – för att upptäcka närvaron av en inkräktare. Den är idealisk för att fånga någon som smyger in i ditt rum eller snokar runt ditt skrivbord, eller för att skydda dina kakor. Med MicroPython kan du programmera ditt larm att reagera med en ljudsignal och blinkande ljus.
1. Bygga larmet
För att bygga larmet behöver du ett urval av vanliga elektroniska komponenter.
Vad du behöver:
Raspberry Pi Pico med lödda hanstiftshuvuden Breadboard LED (valfri färg) 330-ohm motstånd Aktiv piezoelektrisk summer HC-SR501 PIR-sensor 4x hane-till-hane (M2M) bygeltrådar 3x hane-till-hona (M2F) bygeltrådar
Obs: Om du inte vill löda hanstiftshuvuden till din Raspberry Pi Pico, är det möjligt att köpa en Pico med sidhuvuden redan fästa.
Innan du kopplar ihop allt, ta en titt på undersidan av Pico för att se stiftetiketterna.
På toppen av Pico kan du också se hur den fysiska pinnumreringen fungerar, från 1 till 40, moturs från vänster om mikro-USB-porten.
På brödbrädan, sätt in Picos hanstiftshuvuden i hålen i ena änden. Tryck ned den ordentligt för att säkerställa bra anslutningar – den ska sitta tätt. Använd sedan hona-till-hane-byglingskablar för att ansluta PIR-sensorn till den: VCC-stiftet ska kopplas till Picos 5V VBUS, digital OUT till GP28 och GND till ett GND-stift (t.ex. stift 3), som visas i kopplingsschema nedan.
Anslut en av breadboardens jordskenor (markerad med en blå linje) till ett annat GND-stift på Pico (t.ex. fysiskt stift 23, som här). För ett blinkande ljus, sätt in en lysdiod i brödbrädan, med dess ben på vardera sidan av den centrala klyftan.
Det kortare benet (katoden) ska då kopplas till samma jordskena. Lysdiodens längre ben (anod) måste anslutas till GP15-stiftet via ett motstånd för att begränsa mängden elektrisk ström som passerar genom den, vilket annars kan skada lysdioden eller Pico.
Lägg slutligen till en summer för att göra ett pipljud när larmet går. Placera dess ben på vardera sidan av brödbrädans centrala klyfta och anslut det kortare benet eller den svarta ledningen till jordskenan och det längre benet (ibland märkt ovanpå summern med ‘+’) eller röda ledningen till GP14.
2. Programmering av larmet
Du måste installera MicroPython på Pico. Denna process innefattar fyra enkla steg:
- Ladda ner MicroPython för Raspberry Pi Pico från Raspberry Pi-webbplatsen Anslut Pico till din dator via dess mikro-USB-uttag medan du håller ned BOOTSEL-knappen. Vänta tills Pico visas som en extern enhet Dra och släpp .uf2 MicroPython-filen för att kopiera den till Pi Pico; den kommer att starta om automatiskt
Medan många programmerings-IDE:er (integrerade utvecklingsmiljöer) är tillgängliga för MicroPython, kommer vi att använda Thonny här. Det är redan förinstallerat i Raspberry Pi OS (om du använder en Raspberry Pi-dator ansluten till Pico), eller kan laddas ner för alla datorsystem från den officiella webbplatsen genom att klicka på länken i det övre högra hörnet.
Ladda ner: Thonny (Free)
Öppna Thonny med din Pico ansluten till datorn. I det nedre högra hörnet av Thonny-fönstret ser du den version av Python du använder för närvarande. Klicka på den och välj MicroPython (Raspberry Pi Pico).
Du är nu redo att programmera ditt inbrottslarm på Pico. Lägg till följande kodrader i huvudfönstret i Thonny.
import machine
import utime
pir = machine.Pin(28, machine.Pin.IN, machine.Pin.PULL_DOWN)
led = machine.Pin(15, machine.Pin.OUT)
buzzer = machine.Pin(14, machine.Pin.OUT)
def pir_handler(pin):
utime.sleep_ms(100)
if pin.value():
print("Motion detected. Intruder alert!")
for i in range(50):
led.toggle()
buzzer.toggle()
utime.sleep_ms(100)
pir.irq(trigger=machine.Pin.IRQ_RISING, handler=pir_handler)
Här importerar du maskin- och utime-biblioteken överst. Ställ sedan in objekt för PIR, LED och summer – anslutna till GP28-, GP15- respektive GP14-stiften.
Observera att PIR är inställd som en ingång med maskin.Pin.IN, med en maskin.Pin.PULL-DOWN parameter för att ställa in dess Pico-stifts motstånd till neddragningsläge; detta betyder att den kommer att läsas som noll tills en elektrisk ström skickas till den från PIR som utlöses.
Längst ner i koden ställs en IRQ (avbrottsbegäran) in för att trigga pir_handlare fungerar så snart en signal detekteras på ingångsstiftet (GP28) från PIR-sensorn.
I själva funktionen, för att undvika upprepad triggning inom en kort tid, lägg till en 100ms fördröjning innan du kontrollerar stiftvärdet igen och, om det inte är noll, utlöser larmet. Den slår sedan på och av lysdioden och summern för att blinka ljuset och avge ett pipljud.
Spara programmet till din Pico med ett relevant namn, som t.ex alarm.py. Kör programmet och när du viftar med handen över PIR-sensorn ska summern pipe och lysdioden blinka snabbt.
3. Justering av sensorns känslighet
Om larmet går för lätt, eller inte alls, kan du behöva justera känsligheten för PIR-sensorn. HC-SR501 har två plastskruvar – vanligtvis märkta Sx och Tx – fästa på två små potentiometrar för att justera dess inställningar.
Med en liten skruvmejsel kan du vrida Sx-skruven moturs för att öka dess känslighet (eller vice versa). Att vrida Tx-skruven ändrar hur lång tid den utlösta signalen skickas efter upptäckt av inkräktare – vi fann det bäst att vrida den helt moturs, för den kortaste fördröjningen på 1 sekund.
Som standard kommer PIR:n att känna av alla rörelser i 360° runt den. Om du vill begränsa dess detekteringsomfång, försök att placera den längst ner på kartongröret från en toalettrulle och vinkla den i den riktning du vill täcka.
Gör ditt eget mobila inbrottslarm
När ditt inbrottslarm fungerar tillfredsställande kan du mycket väl vilja flytta bort det från din dator. Genom att spara programmet som main.py, kan du sedan koppla bort den från datorn och ansluta en vanlig mobil powerbank till dess mikro-USB-port.
Pico kör då automatiskt main.py program så snart den startas. Grattis: du har nu ett mobilt inbrottslarm att placera var du vill.
Om författaren
Phil King (27 publicerade artiklar)
Phil är juniorredaktör för gör-det-själv-projekt på MUO och en frilansskribent och redaktör med 20+ års erfarenhet. Han har redigerat många officiella Raspberry Pi-böcker och är en regelbunden bidragsgivare till The MagPi magazine.
Mer från Phil King
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
