Mikrokontrollere brukes ofte i kommersielle sikkerhetsprodukter som innbruddsalarmer. Sistnevnte kan imidlertid være ganske dyrt. Så hvorfor ikke lage en hjemmelaget alarm ved hjelp av en $ 4 Raspberry Pi Pico mikrokontroller?
Denne bruker en PIR (passiv infrarød) sensor - som den brukes av mange kommersielle alarmsystemer - for å oppdage tilstedeværelsen av en inntrenger. Det er ideelt for å fange alle som sniker seg inn på rommet ditt eller sniker seg rundt pulten din, eller for å beskytte kakene dine. Ved å bruke MicroPython kan du programmere alarmen din slik at den reagerer med et hørbart varsel og blinkende lys.
1. Å bygge alarmen
For å lage alarmen trenger du et utvalg av elektroniske standardkomponenter.
Det du trenger:
- Bringebær Pi Pico med loddede hannstift
- Brettbrett
- LED (hvilken som helst farge)
- 330 ohm motstand
- Aktiv piezoelektrisk summer
- HC-SR501 PIR-sensor
- 4x mann-til-mann (M2M) jumper ledninger
- 3x genser til hann-til-kvinne (M2F)
Merk: Hvis du ikke har lyst på lodding av mannlige pin-headere til Raspberry Pi Pico, er det mulig å kjøpe en Pico med topptekster som allerede er festet.
I slekt: En titt på Pico, Raspberry Pi's Nyeste Petite Powerhouse
Før du kobler til alt, kan du ta en titt på undersiden av Pico for å se pin-etikettene.
På toppen av Pico kan du også se hvordan den fysiske pin-nummereringen fungerer, fra 1 til 40, mot klokken fra venstre for mikro-USB-porten.
På brødbrettet setter du Pico's mannlige pinneoverskrifter i hullene i den ene enden. Skyv den godt ned for å sikre gode forbindelser - den skal sitte tett. Bruk deretter kvinne-til-mann-jumperledninger for å koble PIR-sensoren til den: VCC-pinnen skal kobles til Picos 5V VBUS, digital OUT til GP28 og GND til en GND-pin (f.eks. Pin 3), som vist i koblingsskjemaet under.
Koble en av brødbrettets bakkeskinner (markert med en blå linje) til en annen GND-pin på Pico (f.eks. Fysisk pin 23, som her). For et blinkende lys, sett inn en LED i brødplaten, bena på hver side av sentralskillet.
Det kortere benet (katoden) skal da kobles til samme bakken. Det lengre benet (anoden) på LED-en må kobles til GP15-pinnen via en motstand for å begrense mengden elektrisk strøm som går gjennom den, noe som ellers kan skade LED-en eller Pico.
Til slutt, legg til en summer for å lage en pipelyd når alarmen går. Plasser bena på hver side av brødbrettets sentrale skille og koble kortere ben eller svart ledning til bakken og lengre bein (noen ganger merket på toppen av summeren med ‘+’) eller rød ledning til GP14.
2. Programmering av alarmen
Du må installere MicroPython på Pico. Denne prosessen innebærer fire enkle trinn:
- Last ned MicroPython for Raspberry Pi Pico fra Raspberry Pi nettsted
- Koble Pico til datamaskinen via mikro-USB-kontakten mens du holder BOOTSEL-knappen
- Vent til Pico vises som en ekstern stasjon
- Dra og slipp .uf2 MicroPython-filen for å kopiere den til Pi Pico; den starter automatisk på nytt
Mens mange programmerings-IDEer (integrerte utviklingsmiljøer) er tilgjengelige for MicroPython, bruker vi Thonny her. Den er allerede forhåndsinstallert i Raspberry Pi OS (hvis du bruker en Raspberry Pi-datamaskin som er koblet til Pico), eller kan lastes ned for ethvert datasystem fra det offisielle nettstedet ved å klikke på lenken øverst til høyre hjørne.
Nedlasting: Thonny (gratis)
Når Pico er koblet til datamaskinen, åpner du Thonny. Nederst til høyre i Thonny-vinduet ser du versjonen av Python du bruker for øyeblikket. Klikk på den og velg MicroPython (Raspberry Pi Pico).
Du er nå klar til å programmere innbruddsalarmen på Pico. Legg til følgende kodelinjer i hovedruten til Thonny.
importere maskinen
importere utime
pir = maskin. Pin (28, maskin. Pin. IN, maskin. Pin. TREKKE NED)
ledet = maskin. Pin (15, maskin. Pin. UTE)
summer = maskin. Pin (14, maskin. Pin. UTE)
def pir_handler (pin):
utime.sleep_ms (100)
hvis pin.value ():
utskrift ("Bevegelse oppdaget. Innbruddsalarm! ")
for jeg innen rekkevidde (50):
ledet.toggle ()
buzzer.toggle ()
utime.sleep_ms (100)
pir.irq (utløser = maskin. Pin. IRQ_RISING, handler = pir_handler)
Her importerer du maskin- og tidsbibliotekene øverst. Deretter setter du opp objekter for PIR, LED og summer - koblet til henholdsvis GP28, GP15 og GP14-pinner.
Merk at PIR er satt som inngang med maskin. Pin. I, med en maskin. Pin. TREKKE NED parameter for å sette Pico-pins motstand til nedtrekksmodus; Dette betyr at den vil lese som null til en elektrisk strøm sendes til den fra PIR som utløses.
I slekt: Komme i gang med MicroPython på Raspberry Pi Pico
Nederst i koden er en IRQ (avbruddsforespørsel) satt opp for å utløse pir_handler funksjon så snart et signal blir oppdaget på inngangspinnen (GP28) fra PIR-sensoren.
For å unngå gjentatt utløsing i løpet av kort tid i selve funksjonen, legg til en 100ms forsinkelse før du sjekker pinverdien igjen, og hvis den ikke er null, utløser alarmen. Den slår deretter LED og summer på og av for å blinke lyset og lage en pipelyd.
Lagre programmet til Pico med et relevant navn, for eksempel alarm.py. Kjør programmet, og når du vifter med hånden over PIR-sensoren, skal summeren pippe og LED-en blinker raskt.
3. Justering av sensorfølsomhet
Hvis alarmen går for lett, eller ikke i det hele tatt, kan det hende du må justere følsomheten til PIR-sensoren. HC-SR501 har to plastskruer - vanligvis merket Sx og Tx - festet til to små potensiometre for å justere innstillingene.
Ved å bruke en liten skrutrekker kan du vri Sx-skruen mot klokken for å øke følsomheten (eller omvendt). Når du snur Tx-skruen, endres lengden på tiden det utløste signalet sendes etter inntrengerdeteksjon - vi fant det best å vri det helt mot klokken, for den korteste forsinkelsen på 1 sekund.
Som standard vil PIR ane enhver bevegelse i 360 ° rundt den. Hvis du vil begrense deteksjonsområdet, kan du prøve å plassere det nederst på papprøret fra en toalettrull og vinkle det i retningen du vil dekke.
Lag din egen mobile innbruddsalarm
Når innbruddsalarmen fungerer til din tilfredshet, kan det være lurt å flytte den bort fra datamaskinen din. Ved å lagre programmet som main.py, kan du koble den fra datamaskinen og koble en standard mobil strømbank til mikro-USB-porten.
Pico vil da automatisk kjøre main.py programmet så snart det er slått på. Gratulerer: du har nå en mobil innbruddsalarm å plassere hvor du vil.
Tilfeldige alfanumeriske serienumre kommer for å beskytte personvernet ditt. Her er hva som skjer ...
Les Neste
- DIY
- Bringebær Pi
- Python
Abonner på vårt nyhetsbrev
Bli med på nyhetsbrevet vårt for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!
Ett steg til…!
Bekreft e-postadressen din i e-posten vi nettopp sendte deg.