Sisukord:
- Tarvikud
- Samm: riistvara kokkupanek
- 2. etapp: algseisund
- Samm: Pythoni skript
- 4. samm: trikita või armatuurlaud
Video: Pumpkin Pi Trick-or-Treat Tracker: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Jälgi autori lisateavet:
Kas otsite kiiret Halloweeni projekti, mis on kasulik mitmel viisil? Kas soovite seda Pi Zero WH -d hästi kasutada? Kas soovite kasutada andmeid, et määrata, kui palju kommi järgmisel aastal vajate?
Olge valmis Pumpkin Pi trikk-või-ravitseja ehitamiseks! Kahekordse dekoratsiooni ja inimeste jälgijana muudab see Pi-in-a-Pumpkin liikumise tuvastamisel värvi ja voogusid. Alustades absoluutselt nullist, ei tohiks selle projekti kokkupanekuks kuluda rohkem kui pärastlõuna - just Halloweeni ajaks!
Tarvikud
- Pi Zero WH koos SD -kaardiga
- PIR -liikumisandur
- RGB LED
- 220 oomi takistid
- (3) lipsuliinid (F/F, M/F, M/M)
- Kaasaskantav aku
- Võltskõrvits
Samm: riistvara kokkupanek
Kui olete oma Pi valmis saanud, peame ühendama liikumisanduri ja LED -id. Veenduge, et Pi pole hetkel vooluvõrku ühendatud.
Meie liikumisandur nõuab selle ühendamist 3,3 V toite, maanduse ja andmeklemmiga. Ma ühendasin 3,3 V anduri tihvti Pi 1 tihvtiga, Maandusanduri tihvti Pi 6 tihvtiga ja Andmeanduri tihvti Pi 16 tihvtiga. Esimesel pildil on näha Pi ja liikumisanduri täielik ühendus.
LED -id on natuke keerulisemad kui liikumisandur, sest nõuavad takistit, et korralikult töötada ilma neid ega Pi -d kahjustamata. Ma kasutasin kolme 220 oomi takistit, kuid 220 ja 330 oomi takistit kasutatakse tavaliselt LED -idega.
Kõigi ühendamiseks võite teha järgmist.
- Jootke LED -jalad takistite külge ja seejärel viige juhtmed Pi -sse
- Kõigi ühendamiseks kasutage leivaplaati ja sidumisjooni
- Kõigi ühendamiseks kasutage lipsuliine ja elektrilinti (nagu ma tegin).
Me ühendame oma LED -i tihvtidega 11, 13 ja 15. See on siiski natuke keerulisem kui liikumisandur, sest LED -i jalad vastavad kindlale värvile! Pikk jalg on GND; ja vähemalt minu LED -il läksid jalad punaseks, GND, siniseks, roheliseks. Ühendasin sinise Pi tihvtiga 11, rohelisega Pi tihvtiga 13 ja punasega Pi tihvtiga 15. Teine pilt näitab ahela lõppühendusi.
2. etapp: algseisund
Muidugi näeme, millal valgusdioodiga liikumist tuvastatakse, aga kuidas me jälgime, kui palju nippe on meie kommide varastamiseks langenud?
Striimime juhtpaneelile iga kord, kui liikumine algab ja selle tuvastamine peatub. Kuna sellele armatuurlauale pääseb juurde kõikjalt, kus on Interneti -ühendus, saame kaugjuhitavalt jälgida, kas keegi läheneb esiuksele/kommikausile või mitte.
Samm 1: registreeruge esmase riigi kontole Minge aadressile https://iot.app.initialstate.com ja looge uus konto.
Samm: installige ISStreamer
Installige algseisundi Pythoni moodul oma Raspberry Pi -le. Käsureal (ärge unustage esmalt oma Pi -sse SSH -d sisestada) käivitage järgmine käsk:
$ cd/home/pi/
$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
3. samm: tehke automaatika
Pärast 2. sammu näete ekraanile midagi sarnast järgmise väljundiga:
pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bash
Parool: ISStreamer Python lihtne paigaldamine! Selle paigaldamiseks võib kuluda paar minutit, haarake kohvi:) Aga ärge unustage tagasi tulla, mul on hiljem küsimusi! Leiti easy_install: setuptools 1.1.6 Leiti pip: pip 1.5.6 /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip peamine versioon: 1 pip kõrvalversioon: 5 ISStreamer leiti, värskendatakse … Nõue on juba ajakohane: ISStreamer /Library/Python/2.7/site-packages Cleaning up … Kas soovite automaatse näidiskripti saada? [y/N] Kuhu soovite näite salvestada? [vaikimisi:./is_example.py] Palun valige, millist algse oleku rakendust kasutate: 1. app.initialstate.com 2. [UUS!] iot.app.initialstate.com Sisestage valik 1 või 2: Sisestage iot.app.initialstate.com kasutajanimi: sisestage iot.app.initialstate.com parool:
Kui teil palutakse näiteskripti automaatselt hankida, tippige y. See loob testskripti, mille saame käivitada, et tagada andmete voogesitus algolekusse. Järgmine viip küsib, kuhu soovite näidisfaili salvestada. Vaikimisi asukoha aktsepteerimiseks võite sisestada kohandatud kohaliku tee või vajutada sisestusklahvi. Lõpuks küsitakse teilt, millist algse riigi rakendust te kasutate. Kui olete hiljuti konto loonud, valige suvand 2, sisestage oma kasutajanimi ja parool. Pärast seda on installimine lõpule viidud.
4. samm: juurdepääsuklahvid
Vaatame loodud skripti näidist. $ nano is_example.py 15. real näete rida, mis algab sõnadega streamer = Streamer (bucket_…. Need read loovad uue andmekogumi nimega „Python Stream Example” ja on seotud teie kontoga. See seos juhtub access_key =”…” parameeter samal real. See pikk tähtede ja numbrite seeria on teie algse riigi konto juurdepääsuvõti. Kui lähete oma veebibrauseris oma algse riigi kontole, klõpsake paremas ülanurgas oma kasutajanime ja seejärel minge jaotises „Minu seaded” leiate sama juurdepääsuklahvi lehe allservast jaotisest „Voogesituse juurdepääsuklahvid”.
Iga kord, kui loote andmevoo, suunab see juurdepääsuvõti selle andmevoo teie kontole (seega ärge jagage oma võtit kellegagi).
Samm: käivitage näide
Käivitage testskript, et veenduda, kas suudame teie algse oleku kontole andmevoo luua. Käivitage järgmine:
$ python is_example.py
6. samm: kasum
Minge oma veebibrauseris tagasi algse riigi kontole. Teie logiriiuli vasakul küljel oleks pidanud ilmuma uus andmekogum nimega „Python Streami näide” (peate võib -olla lehte värskendama). Testiandmete vaatamiseks klõpsake sellel ämbril ja seejärel lainete ikoonil.
Samm: Pythoni skript
Looge skript ja avage tekstiredaktor järgmise käsuga:
nano vistors.py
Kopeerige ja minge kood siit tekstiredaktorisse.
Enne kui proovime midagi käivitada, peame tegema mõned muudatused ja üle vaatama, mis meie skriptis toimub.
RPi. GPIO importimine GPIO -na
ajast importimise unerežiimist ISStreamerist. Streameri import Streamer # Öelge Pi -le, et me kasutame selle numeratsioonisüsteemi GPIO.setmode (GPIO. BCM) # Pinsid, mille D1 ja LED on ühendatud PIN -iga = 23 SININE = 17 GREEN = 27 RED = 22 # Määrake meie liikumisanduri tihvt sisendiks GPIO.seadistus (PIN, GPIO. IN) # Määrake meie LED -nööpnõelad väljundiks GPIO.seadistus (RED, GPIO. OUT) GPIO.output (RED, 0) GPIO.setup (GREEN, GPIO. OUT) GPIO.väljund (GREEN, 0) GPIO.seadistus (BLUE, GPIO. OUT) GPIO. output (BLUE, 0)
Ridad 1-21 on lähtestamiseks. Kõigepealt impordime Pi GPIO liidese ja viisi, kuidas oma skripti magada. Seejärel impordime eelseisvale lehele installitud striimeri.
GPIO.setmode määrab, millist nummerdussüsteemi me tihvtide jaoks kasutame. Füüsilise asukoha asemel kasutame Pi nummerdussüsteemi. Nagu meie skeemil varem, olid meie valitud tihvtid 23, 17, 27 ja 22. Seejärel seadistasime liikumisnõela sisendiks ja LED -tihvtid väljundiks.
# Esialgne osariigi nimi (kuvatud)
BUCKET_NAME = ": jack_o_lantern: Trick or Treat Tracker" # Algseisundi ämbrivõti (peidetud) BUCKET_KEY = "trickortreat" # Esialgse oleku juurdepääsuvõti ACCESS_KEY = "Your_Access_Key" # Muutujad, mis tagavad, et me ei striimita seda, kas oli või ei olnud motion kaks korda järjest # See säästab juba saadetud sündmusi ja töötlemisvõimsust LED kollaseks GPIO väljund (PUNANE, 1) GPIO väljund (GREEN, 1)
Ridad 23-41 on olulised, kuna lähtestame striimeri algseisundi ja seame LED-i kollaseks. Pange oma algse oleku juurdepääsuvõti reale 28.
# Tsükkel lõputult
samas tõsi: # Kui liikumisandur tõmbab kõrgele (tuvastab liikumise): kui GPIO.input (PIN) == 1: print "Liikumine tuvastatud" # Kui me pole veel voogesitanud: kui mitte jubaRecordedMotion: counter = counter + 1 # Seadke LED punaseks GPIO.output (RED, 1) GPIO.output (GREEN, 0) # Stream to Initial State streamer.log (": ghost: or: chocolate_bar:?", ": chocolate_bar: Time For Treats!") streamer.log (": candy: Hungry Humans?: candy:", counter) streamer.flush () jubaRecordedMotion = Tõsi jubaRecordedNoMotion = False else: # Peata skript 1 sekundiks unele (1) else: print "Liikumist ei tuvastatud" # Kui me pole veel striiminud: kui pole veelRecordedNoMotion: # Seadke LED kollaseks GPIO.output (PUNANE, 1) GPIO.output (GREEN, 1) # Stream to Initial State streamer.log (": ghost: or: chocolate_bar:? ",": no_pedestrians: No One Around ") streamer.flush () jubaRecordedNoMotion = Tõsi jubaRecordedMotion = False else: # Peata skript 1 sekundiks magama (1)
Ridad 43-77 on koodi liha. Kui tuvastatakse liikumine, kontrollib skript, kas "Time For Treats!" on juba striimitud. Kui see pole nii, saadetakse see algseisundisse ja LED -tuli on punane; kui on, ootab skript 1 sekund ja loeb seejärel uuesti liikumisandurilt. Sama kehtib ka siis, kui liikumist ei tuvastata.
On aeg koodi testida! Veenduge, et olete salvestanud oma redigeeritud faili, millele on lisatud juurdepääsuvõti reale 28, ja seejärel sisestage terminal:
pythoni külastajad.py
Peaksite nägema, et LED süttib ja "Liikumist ei tuvastatud" hakkab käsureale printima. Proovige lehvitada käega liikumisanduri kohal - nüüd peaksite nägema punast tuld ja „Liikumine tuvastatud“hakkab printima!
Nüüd kontrollime, kas meie näidud edastatakse algseisundisse.
4. samm: trikita või armatuurlaud
Minge algseisundisse ja vaadake oma armatuurlauda! Te peaksite nägema ämbrit nimega "? Trick or Treat Tracker". Lehvitage kätt liikumisanduri lähedal ja vaadake, kuidas see uueneb!
Minu armatuurlaud koosneb kahest kokkuvõtteplaadist, mis kuvavad viimast väärtust ja sündmuste arvu histogrammi, et saaksin näha, millal andur käivitati.
Siin on mõned asjad, mida kaaluda.
- Tõenäoliselt soovite jagada näljaste inimeste arvu kahega, et arvestada asjaolu, et sama inimene möödub kaks korda liikumisanduri ees - teel teie ukse juurde ja tagasiteel. Seda saate teha reaalajas avaldiste abil, kasutades võrrandit "= math.round (([Hungry Humans?]/2), 0)".
- Saate testida, kui tundlik teie liikumisandur tundub olevat, ja asetada see vastavalt oma kõnniteele. Soovitan hoida seda uksest piisavalt kaugel, et see ei vallanduks, kui keegi uksel seisab.
- Samuti saate seadistada tekstimärguandeid, et öelda, et keegi läheneb.
- Valige taustapilt, et anda armatuurlauale veidi õudne isikupära!
Soovitan:
DIY Fitness Tracker nutikell oksümeetri ja pulsiga - Modulaarsed elektroonilised moodulid väikestest vooluringidest - Väikseim arkaad: 6 sammu
DIY Fitness Tracker nutikell oksümeetri ja pulsiga | Modulaarsed elektroonilised moodulid väikestest vooluringidest | Väikseim arkaad: Hei, mis toimub, poisid! Akarsh siin CETechist. Täna on meil kaasas mõned andurimoodulid, mis on meie igapäevaelus väga kasulikud, kuid pisikeses versioonis. Andurid, mis meil täna on, on traadiga võrreldes väga väikesed
Lauaarvuti COVID19 jälgija kellaga! Raspberry Pi Powered Tracker: 6 sammu
Lauaarvuti COVID19 jälgija kellaga! Raspberry Pi Powered Tracker: Me teame, et võime igal ajal surra, isegi mina võin selle postituse kirjutamise ajal surra, lõppude lõpuks olen mina, sina, me kõik surelikud. Kogu maailm värises COVID19 pandeemia tõttu. Me teame, kuidas seda vältida, aga hei! kas me teame, kuidas palvetada ja miks palvetada
DIY Solar Tracker: 27 sammu (piltidega)
DIY Solar Tracker: Sissejuhatus Meie eesmärk on tutvustada noortele õpilastele inseneriteadust ja õpetada neile päikeseenergiat; lastes neil oma õppekava osana Heliose ehitada. Inseneritegevuses on püütud energia tootmine fossiilkütuste kasutamisest eemale tõrjuda
DIY Miniature Solar Tracker: 5 sammu (piltidega)
DIY Miniature Solar Tracker: Selles projektis näitan teile, kuidas luua päikesejälgija, mis nagu nimigi ütleb, võib jälgida päikese liikumist kogu päeva jooksul. Ja lõpuks näitan teile päikesepaneelile paigaldatud päikesepaneeli vahelist energiasaagi erinevust
Pumpkin Pi digitaalse dekoratsiooni kontroller: 5 sammu (piltidega)
Pumpkin Pi digitaalse dekoratsiooni kontroller: Tere inimesed, lubage mul tutvustada teile Pumpkin Pi. Lihtsamalt öeldes on see Raspberry Pi I/O kontroller, millel on kaksteist programmeeritavat väljundit, kuid väikese hocus-pocusega (või Python-koodiga teile ja mulle) saab sellest digitaalse dekoratsioonikontrolleri