Mikrokontroller används ofta i kommersiella säkerhetsprodukter såsom inbrottslarm. Det senare kan dock vara ganska dyrt. Så varför inte skapa ett hemlagat larm med en $ 4 Raspberry Pi Pico mikrokontroller?

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. Det är perfekt för att fånga någon som smyger sig in i ditt rum, snöar runt ditt skrivbord eller för att skydda din kakor. Med MicroPython kan du programmera ditt larm så att det reagerar med en ljudsignal och ett blinkande ljus.

1. Bygga alarmet

För att skapa alarmet behöver du ett urval av elektroniska standardkomponenter.

Vad du behöver:

  • Hallon Pi Pico med lödda manliga stifthuvuden
  • Bakbord
  • LED (valfri färg)
  • 330 ohm motstånd
  • Aktiv piezoelektrisk summer
  • HC-SR501 PIR-sensor
  • 4x bygeltrådar från man till man (M2M)
  • 3x bygeltrådar från man till kvinna (M2F)

Obs! Om du inte har lust att lösa manliga stifthuvuden till din Raspberry Pi Pico är det möjligt att köpa en Pico med headers redan monterade.

instagram viewer

Relaterad: En titt på Pico, Raspberry Pi: s nyaste Petite Powerhouse

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 pin-numreringen fungerar, från 1 till 40, moturs från vänster om mikro-USB-porten.

Sätt in Picos manliga tapphuvuden på brädbrädan i hålen i ena änden. Tryck ner det ordentligt för att säkerställa bra anslutningar - det ska passa ordentligt. Använd sedan bygeln från hon-till-man för att ansluta PIR-sensorn till den: VCC-stiftet ska anslutas till Picos 5V VBUS, digital OUT till GP28 och GND till en GND-stift (t.ex. stift 3), som visas i kopplingsschemat Nedan.

Anslut en av brädbrädans markskenor (markerad med en blå linje) till en annan GND-stift på Pico (t.ex. fysisk stift 23, som här). För en blinkande lampa, sätt in en lysdiod i brödbrädan, med benen på båda sidor om den centrala delningen.

Det kortare benet (katoden) ska sedan anslutas till samma järnväg. Det längre benet (anoden) på lysdioden 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.

Slutligen lägg till en summer för att avge ett pip när larmet går. Placera benen på vardera sidan om brödbrädans mittdel och anslut den kortare benen eller den svarta ledningen till markskenan och det längre benet (ibland markerat ovanpå summern med '+') eller röd tråd till GP14.

2. Programmering av larmet

Du måste installera MicroPython på Pico. Denna process innefattar fyra enkla steg:

  1. Ladda ner MicroPython för Raspberry Pi Pico från Raspberry Pi-webbplats
  2. Anslut Pico till din dator via dess mikro-USB-uttag medan du håller ned BOOTSEL-knappen
  3. Vänta tills Pico visas som en extern enhet
  4. Dra och släpp .uf2 MicroPython-filen för att kopiera den till Pi Pico; den startas om automatiskt

Medan många programmerings-IDE: er (integrerade utvecklingsmiljöer) är tillgängliga för MicroPython, här använder vi Thonny. 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 valfritt datorsystem från den officiella webbplatsen genom att klicka på länken uppe till höger hörn.

Ladda ner: Thonny (gratis)

Ö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 inkräktarlarm på Pico. Lägg till följande kodrader i huvudfönstret i Thonny.

importera maskinen
importera tid
pir = maskin. Stift (28, maskin. Stift. IN, maskin. Stift. DRA NER)
led = maskin. Stift (15, maskin. Stift. UT)
summer = maskin. Stift (14, maskin. Stift. UT)
def pir_handler (pin):
utime.sleep_ms (100)
if pin.value ():
tryck ("Rörelse upptäckt. Inbrottsvarning! ")
för jag inom intervallet (50):
led.toggle ()
summer.toggle ()
utime.sleep_ms (100)
pir.irq (trigger = maskin. Stift. IRQ_RISING, handler = pir_handler)

Här importerar du maskin- och tidsbiblioteken högst upp. Ställ sedan upp objekt för PIR, LED och summer - anslutna till GP28-, GP15- och GP14-stift.

Observera att PIR är inställt som ingång med maskin. Stift. I, med en maskin. Stift. DRA NER parameter för att ställa in Pico-stiftets motstånd till nedrullningsläge; det betyder att den kommer att läsas som noll tills en elektrisk ström skickas till den från PIR som utlöses.

Relaterad: Komma igång med MicroPython på Raspberry Pi Pico

Längst ner i koden är en IRQ (interruptbegäran) inställd för att utlösa pir_handler fungerar så snart en signal detekteras på ingångsstiftet (GP28) från PIR-sensorn.

För att undvika upprepad utlösning inom kort tid i själva funktionen, lägg till en 100ms fördröjning innan du kontrollerar stiftvärdet igen och, om det inte är noll, utlöser larmet. Därefter växlar lysdioden och summern till och från för att blinka ljuset och avge ett pipande ljud.

Spara programmet till din Pico med ett relevant namn, t.ex. alarm.py. Kör programmet och när du vinkar handen över PIR-sensorn ska summern piper och lysdioden blinkar snabbt.

3. Justera sensorkä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 inkräktardetektering - vi fann det bäst att vrida den helt moturs, för den kortaste fördröjningen på 1 sekund.

Som standard känner PIR av alla rörelser i 360 ° runt den. Om du vill begränsa detekteringsområdet kan du försöka placera det längst ner på kartongens inre rör från en toalettrulle och vinkla det i den riktning du vill täcka.

Gör ditt eget mobila inkräktarlarm

När ditt inkräktarlarm fungerar till din tillfredsställelse kanske du vill flytta bort det från din dator. Genom att spara programmet som main.py, kan du koppla bort den från datorn och ansluta en vanlig mobil kraftbank till dess mikro-USB-port.

Pico kör sedan automatiskt main.py programmet så snart det är igång. Grattis: du har nu ett mobilt inkräktarlarm att placera var du vill.

E-post
Apple byter till slumpmässiga serienummer. Här är varför ...

Slumpmässiga alfanumeriska serienummer kommer för att skydda din integritet. Här är vad som händer ...

Läs Nästa

Relaterade ämnen
  • DIY
  • Raspberry Pi
  • Pytonorm
Om författaren
Phil King (1 artiklar publicerade)Mer från Phil King

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Ett steg till…!

Bekräfta din e-postadress i e-postmeddelandet som vi just skickade till dig.

.