Përmbajtje:

Gjurmuesi i kungullit Pi Trick-or-Treat: 5 hapa
Gjurmuesi i kungullit Pi Trick-or-Treat: 5 hapa

Video: Gjurmuesi i kungullit Pi Trick-or-Treat: 5 hapa

Video: Gjurmuesi i kungullit Pi Trick-or-Treat: 5 hapa
Video: БЕДЫ С БАШКОЙ. Финал! ► 6 Прохождение Cuphead (Пк, реванш) 2024, Korrik
Anonim
Pumpkin Pi Trick-or-Treat Tracker
Pumpkin Pi Trick-or-Treat Tracker

Ndiqni Më shumë nga autori:

Si të ndërtoni një monitor të temperaturës Raspberry Pi
Si të ndërtoni një monitor të temperaturës Raspberry Pi
Si të ndërtoni një monitor të temperaturës Raspberry Pi
Si të ndërtoni një monitor të temperaturës Raspberry Pi
Transmetoni të dhënat nga fletët e Google në një pult
Transmetoni të dhënat nga fletët e Google në një pult
Transmetoni të dhënat nga fletët e Google në një pult
Transmetoni të dhënat nga fletët e Google në një pult
Rrjeti i sensorëve të temperaturës
Rrjeti i sensorëve të temperaturës
Rrjeti i Sensorëve të Temperaturës
Rrjeti i Sensorëve të Temperaturës

Po kërkoni një projekt të shpejtë të Halloween që është i dobishëm në më shumë se një? Dëshironi ta përdorni atë Pi Zero WH në përdorim të mirë? Dëshironi të përdorni të dhëna për të përcaktuar se sa karamele do t'ju nevojiten vitin e ardhshëm?

Bëhuni gati për të ndërtuar Gjurmuesin e Kungullit Pi Trick-or-Treat! Duke u dyfishuar si dekorim dhe një gjurmues i njerëzve, kjo Pi-in-a-Pumpkin ndryshon ngjyrën dhe rrjedh kur zbulohet lëvizja. Duke filluar nga e para absolute, ky projekt nuk duhet t'ju marrë më shumë se një pasdite për t'u përgatitur - pikërisht në kohën për Halloween!

Furnizimet

  • Pi Zero WH me Kartë SD
  • Sensori i lëvizjes PIR
  • RGB LED
  • Rezistenca 220 ohm
  • (3) Linjat e lidhjes (F/F, M/F, M/M)
  • Bateri portative
  • Kungull i rremë

Hapi 1: Asambleja e harduerit

Asambleja e harduerit
Asambleja e harduerit
Asambleja e harduerit
Asambleja e harduerit
Asambleja e harduerit
Asambleja e harduerit

Pasi ta keni Pi -in tuaj në punë, ne duhet të lidhim sensorin e lëvizjes dhe LED -të. Sigurohuni që Pi nuk është i lidhur me energjinë në këtë pikë.

Sensori ynë i lëvizjes kërkon që ta lidhim me fuqinë 3.3V, tokëzimin dhe një kunj të dhënash. Unë e lidha kunjin e sensorit 3.3V në kunjin 1 të Pi, kunjin e sensorit Ground në kunjin 6 të Pi, dhe kunjin e sensorit të të dhënave në kunjin 16 të Pi. Fotografia e parë tregon lidhjen e plotë për Pi dhe sensorin e lëvizjes.

LED janë pak më të ndërlikuar sesa sensori i lëvizjes sepse kërkojnë një rezistencë në mënyrë që të funksionojnë si duhet pa i dëmtuar ato ose Pi. Kam përdorur tre rezistorë 220 ohm, por rezistorët 220 dhe 330 ohm zakonisht përdoren me LED.

Për të lidhur gjithçka, mund të:

  • Ngjitni këmbët LED në rezistorët dhe pastaj futni telat në Pi
  • Përdorni një tabelë buke dhe lidhni linjat për të lidhur gjithçka
  • Përdorni linja lidhëse dhe shirit elektrik për të lidhur gjithçka (siç bëra unë).

Ne do ta lidhim LED -in tonë me kunjat 11, 13 dhe 15. Kjo është pak më e ndërlikuar sesa sensori i lëvizjes, megjithatë, sepse këmbët në LED korrespondojnë me një ngjyrë specifike! Këmba e gjatë është GND; dhe, në LED -in tim të paktën, këmbët u bënë të Kuqe, GND, Blu, Jeshile. Unë lidha Blue me Pi pin 11, Green me Pi pin 13, dhe Red me Pi pin 15. Fotografia e dytë tregon lidhjet përfundimtare të qarkut.

Hapi 2: Gjendja fillestare

Gjendja fillestare
Gjendja fillestare
Gjendja fillestare
Gjendja fillestare

Sigurisht që ne mund të shohim kur lëvizja zbulohet me LED, por si do të gjurmojmë sa truket ose trajtuesit kanë rënë për të na vjedhur karamelet?

Ne do të kalojmë në një pult çdo herë që lëvizja fillon dhe ndalon së zbuluari. Meqenëse ky pult është i arritshëm nga kudo me një lidhje interneti, ne mund të monitorojmë nga distanca nëse dikush po i afrohet apo jo derës së përparme/tasit të karameleve.

Hapi 1: Regjistrohuni për llogarinë fillestare të shtetit Shkoni te https://iot.app.initialstate.com dhe krijoni një llogari të re.

Hapi 2: Instaloni ISStreamer

Instaloni modulin fillestar të Python State në Raspberry Pi tuaj. Në një komandë të shpejtë (mos harroni të futni SSH së pari në Pi tuaj), ekzekutoni komandën e mëposhtme:

$ cd/home/pi/

$ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

Hapi 3: Bëni pak Automagic

Pas Hapit 2 do të shihni diçka të ngjashme me daljen e mëposhtme në ekran:

pi@raspberrypi ~ $ / curl -sSL https://get.initialstate.com/python -o -| sudo bash

Fjalëkalimi: Fillimi ISStreamer Python Instalim i lehtë! Kjo mund të zgjasë disa minuta për të instaluar, pi pak kafe:) Por mos harroni të ktheheni, do të kem pyetje më vonë! Gjetur easy_install: setuptools 1.1.6 Gjetur pip: pip 1.5.6 nga /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) versioni kryesor i pipit: 1 pip version i vogël: 5 ISStreamer u gjet, duke u përditësuar … Kërkesa tashmë e përditësuar: ISStreamer në /Library/Python/2.7/site-packages Pastrimi … Dëshironi të merrni automatikisht një skenar shembull? [y/N] Ku doni ta ruani shembullin? [parazgjedhja:./is_example.py] Ju lutemi zgjidhni cilin aplikacion të gjendjes fillestare po përdorni: 1. app.initialstate.com 2. [E RE!] iot.app.initialstate.com Shkruani zgjedhjen 1 ose 2: Futni iot.app.initialstate.com emri i përdoruesit: Shkruani fjalëkalimin iot.app.initialstate.com:

Kur ju kërkohet të merrni automatikisht një skenar shembull, shkruani y. Kjo do të krijojë një skript testi që mund të ekzekutojmë për të siguruar që ne mund t'i transmetojmë të dhënat në gjendjen fillestare. Fjala tjetër do të pyesë se ku doni të ruani skedarin shembull. Ju ose mund të shkruani një shteg të personalizuar lokal ose të shtypni enter për të pranuar vendndodhjen e paracaktuar. Më në fund, do të pyeteni se cilin aplikacion të gjendjes fillestare po përdorni. Nëse keni krijuar një llogari kohët e fundit, zgjidhni opsionin 2, futni emrin e përdoruesit dhe fjalëkalimin tuaj. Pas kësaj, instalimi do të përfundojë.

Hapi 4: Çelësat e hyrjes

Le të hedhim një vështrim në skenarin shembull të krijuar. $ nano is_example.py Në rreshtin 15, do të shihni një linjë që fillon me streamer = Streamer (bucket_…. Këto rreshta krijojnë një kovë të re të të dhënave të quajtur "Shembulli i Python Stream" dhe lidhet me llogarinë tuaj. Kjo shoqatë ndodh për shkak të parametri access_key =”…” në të njëjtën linjë. Ajo seri e gjatë shkronjash dhe numrash është çelësi i hyrjes në llogarinë tuaj të gjendjes fillestare. Nëse shkoni te llogaria juaj e gjendjes fillestare në shfletuesin tuaj të internetit, klikoni mbi emrin e përdoruesit në krye të djathtë, pastaj shkoni te "cilësimet e mia", do të gjeni të njëjtin çelës aksesi në fund të faqes nën "Transmetimi i çelësave të hyrjes".

Sa herë që krijoni një rrjedhë të të dhënave, ky çelës aksesi do ta drejtojë atë rrjedhë të të dhënave në llogarinë tuaj (kështu që mos e ndani çelësin tuaj me askënd).

Hapi 5: Drejtoni Shembullin

Drejtoni skriptin e provës për t'u siguruar që mund të krijojmë një rrjedhë të të dhënave në llogarinë tuaj të gjendjes fillestare. Drejtoni sa vijon:

$ python is_example.py

Hapi 6: Fitimi

Kthehuni te llogaria juaj e gjendjes fillestare në shfletuesin tuaj të internetit. Një kovë e re e të dhënave e quajtur "Shembulli i Python Stream" duhet të jetë shfaqur në të majtë në raftin tuaj të regjistrit (mund t'ju duhet të rifreskoni faqen). Klikoni në këtë kovë dhe pastaj klikoni në ikonën Waves për të parë të dhënat e testit.

Hapi 3: Python Script

Krijoni një skenar dhe hapni redaktorin e tekstit me komandën e mëposhtme:

nano vistors.py

Kopjoni dhe kaloni kodin nga këtu në redaktuesin tuaj të tekstit.

Para se të përpiqemi të ekzekutojmë ndonjë gjë, duhet të bëjmë disa redaktime dhe të rishikojmë atë që po ndodh në skenarin tonë.

importoni RPi. GPIO si GPIO

nga koha e importimit të gjumit nga ISStreamer. Streamer import Streamer # Thuaj Pi që do të përdorim sistemin e tij të numërimit GPIO.setmode (GPIO. BCM) # Kunjat që D1 dhe LED janë të lidhura me PIN = 23 BLUE = 17 GREEN = 27 KUQ 22, GPIO. OUT) GPIO.putput (GREEN, 0) GPIO.setup (BLUE, GPIO. OUT) GPIO.output (BLUE, 0)

Linjat 1-21 janë për inicimin. Së pari ne importojmë ndërfaqen GPIO të Pi dhe një mënyrë për të fjetur skenarin tonë. Pastaj ne importojmë transmetuesin e gjendjes fillestare që kemi instaluar në faqen e mëparshme.

GPIO.setmode specifikon se cilin sistem numërimi po përdorim për kunjat. Në vend të vendndodhjes fizike, ne po përdorim sistemin e numërimit të Pi. Ashtu si në diagramin tonë më herët, kunjat që zgjodhëm ishin 23, 17, 27 dhe 22. Më pas vendosëm kunjin e lëvizjes si hyrje dhe kunjat LED si dalje.

# Emri i kovës së gjendjes fillestare (shfaqet)

BUCKET_NAME = ": jack_o_lantern: Trick or Treat Tracker" # Çelësi fillestar i kovës së gjendjes (i fshehur) BUCKET_KEY = "trickortreat" # Çelësi i hyrjes së gjendjes fillestare ACCESS_KEY = "Çelësi juaj_Aksesit" # # Variablat që sigurojnë që ne të mos transmetojmë se ka pasur ose nuk ka lëvizje dy herë me radhë # Kjo kursen në ngjarjet e dërguara dhe fuqinë e përpunimit tashmë LED në të verdhë GPIO. dalje (e kuqe, 1) GPIO. dalje (E gjelbër, 1)

Linjat 23-41 janë të rëndësishme sepse ne jemi duke inicializuar rrjedhësin e gjendjes fillestare dhe duke vendosur LED në të verdhë. Vendosni çelësin tuaj të hyrjes në gjendjen fillestare në linjën 28.

# Loop pafundësisht

ndërsa True: # Nëse sensori i lëvizjes tërhiqet lart (zbulon lëvizjen): nëse GPIO.input (PIN) == 1: printoni "Lëvizja u zbulua" # Nëse nuk kemi transmetuar akoma: nëse jo tashmëRecordedMotion: counter = counter + 1 # Vendosni LED -in në të kuqe GPIO.output (KUQ, 1) GPIO.output (GREEN, 0) # Rrjedha në gjendjen fillestare streamer.log (": fantazmë: ose: bar_çokollatë:?", ": çokollatë: Koha për trajtime!") streamer.log (": candy: Hungry Humans?: candy:", counter) streamer.flush () tashmëRecordedMotion = E vërtetë tashmëRecordedNoMotion = E gabuar tjetër: # Ndalo shkrimin për 1 gjumë të dytë (1) tjetër: print "Asnjë lëvizje nuk u zbulua" # Nëse nuk kemi transmetuar akoma: nëse joRekordedNoMotion: # Vendosni LED -in në GPIO të verdhë. Dalje (e kuqe, 1) GPIO.output (GREEN, 1) # Rrjedha në gjendjen fillestare streamer.log (": fantazmë: ose: çokollatë_bar:? ",": no_pedestrians: Askush Rreth ") streamer.flush () tashmëRecordedNoMotion = E vërtetë tashmëRecordedMotion = E gabuar tjetër: # Ndalo shkrimin për 1 gjumë të dytë (1)

Linjat 43-77 janë mishi i kodit. Nëse zbulohet lëvizja, skenari do të kontrollojë nëse "Koha për Trajtime!" tashmë është transmetuar. Nëse jo, dërgohet në gjendjen fillestare dhe LED është vendosur në të kuqe; nëse ka, skenari pret 1 sekondë dhe pastaj lexon përsëri nga sensori i lëvizjes. E njëjta gjë vlen edhe nëse nuk zbulohet lëvizje.

Timeshtë koha për të provuar kodin! Sigurohuni që keni ruajtur skedarin tuaj të redaktuar me çelësin tuaj të hyrjes të shtuar në rreshtin 28 dhe më pas futeni në terminal:

vizitorët e python.py

Duhet të shihni që LED të ndizet dhe "Asnjë lëvizje nuk u zbulua" të fillojë të printojë në rreshtin e komandës. Provoni të tundni dorën mbi sensorin e lëvizjes - tani duhet të shihni një dritë të kuqe dhe "Lëvizja u zbulua" të fillojë printimin!

Tani për të verifikuar që leximet tona po transmetohen në gjendjen fillestare.

Hapi 4: Paneli i mashtrimit ose trajtimit

Paneli i mashtrimit ose trajtimit
Paneli i mashtrimit ose trajtimit

Shkoni drejt gjendjes fillestare dhe shikoni pultin tuaj! Ju duhet të shihni një kovë të quajtur "? Trick or Treat Tracker". Kaloni dorën pranë sensorit të lëvizjes dhe shikoni azhurnimin e tij!

Pulti im përbëhet nga 2 Pllaka Përmbledhëse që shfaqin vlerën e fundit dhe një Histogram të numërimit të ngjarjeve, në mënyrë që të shoh se në cilat kohë është shkaktuar sensori.

Këtu janë disa gjëra për t'u marrë parasysh:

  • Ju ndoshta dëshironi të ndani numrin e "Njerëzve të uritur" me 2 për të marrë parasysh faktin se i njëjti person do të kalojë dy herë para sensorit të lëvizjes - gjatë rrugës për në derën tuaj dhe në rrugën e kthimit. Ju mund ta bëni këtë me shprehje në kohë reale duke përdorur ekuacionin "= math.round (([Njerëzit e uritur?]/2), 0)".
  • Ju mund të provoni se sa i ndjeshëm duket sensori juaj i lëvizjes dhe ta vendosni në trotuarin tuaj në përputhje me rrethanat. Unë sugjeroj ta mbani atë mjaft larg nga dera që të mos shkaktojë kur dikush qëndron në derë.
  • Ju gjithashtu mund të konfiguroni paralajmërimet e tekstit për t'ju thënë se dikush po afrohet.
  • Zgjidhni një imazh të sfondit për t'i dhënë panelit tuaj një personalitet pak drithërues!

Hapi 5: Kungulli Pi

Recommended: