Talaan ng mga Nilalaman:

Pumpkin Pi Trick-or-Treat Tracker: 5 Hakbang
Pumpkin Pi Trick-or-Treat Tracker: 5 Hakbang

Video: Pumpkin Pi Trick-or-Treat Tracker: 5 Hakbang

Video: Pumpkin Pi Trick-or-Treat Tracker: 5 Hakbang
Video: Incredible Research Method for Print on Demand 2023 - 7 Step Technique That Generates Winning Ideas 2024, Hulyo
Anonim
Tracker ng Pumpkin Pi Trick-or-Treat
Tracker ng Pumpkin Pi Trick-or-Treat

Sundin ang Higit Pa ng may-akda:

Paano Bumuo ng isang Monitor ng Temperatura ng Raspberry Pi
Paano Bumuo ng isang Monitor ng Temperatura ng Raspberry Pi
Paano Bumuo ng isang Monitor ng Temperatura ng Raspberry Pi
Paano Bumuo ng isang Monitor ng Temperatura ng Raspberry Pi
Mag-stream ng Data Mula sa Google Sheets patungo sa isang Dashboard
Mag-stream ng Data Mula sa Google Sheets patungo sa isang Dashboard
Mag-stream ng Data Mula sa Google Sheets patungo sa isang Dashboard
Mag-stream ng Data Mula sa Google Sheets patungo sa isang Dashboard
Network ng Mga Sensor ng Temperatura
Network ng Mga Sensor ng Temperatura
Network ng Mga Sensor ng Temperatura
Network ng Mga Sensor ng Temperatura

Naghahanap ng isang mabilis na proyekto sa Halloween na kapaki-pakinabang sa maraming paraan kaysa sa isa? Nais bang ilagay ang Pi Zero WH na mahusay na paggamit? Nais mo bang gumamit ng data upang matukoy kung magkano ang kendi na kakailanganin mo sa susunod na taon?

Maghanda upang maitayo ang Tracker ng Pumpkin Pi Trick-or-Treat! Ang pagdoble bilang dekorasyon at isang tracker ng mga tao, ang Pi-in-a-Kalabasa na ito ay nagbabago ng kulay at mga stream kapag nakita ang paggalaw. Simula mula sa ganap na simula, hindi ka dapat dalhin ng proyektong ito nang higit pa sa isang hapon upang pagsamahin - sa oras lamang para sa Halloween!

Mga gamit

  • Pi Zero WH na may SD Card
  • PIR Motion Sensor
  • RGB LED
  • 220 ohm Mga Resistor
  • (3) Mga Tie Line (F / F, M / F, M / M)
  • Portable na Baterya
  • Pekeng Kalabasa

Hakbang 1: Hardware Assembly

Hardware Assembly
Hardware Assembly
Hardware Assembly
Hardware Assembly
Hardware Assembly
Hardware Assembly

Kapag natapos mo na ang iyong Pi up at pagpapatakbo, kailangan naming ikonekta ang sensor ng paggalaw at mga LED. Tiyaking ikaw Pi ay hindi konektado sa kapangyarihan sa puntong ito.

Kinakailangan ng aming sensor ng paggalaw na ikonekta namin ito sa 3.3V lakas, lupa, at isang data pin. Ikinonekta ko ang 3.3V sensor pin sa pin 1 ng Pi, ang Ground sensor pin sa pin 6 ng Pi, at ang Data sensor pin upang i-pin ang 16 ng Pi. Ipinapakita ng unang larawan ang buong koneksyon para sa Pi at sa sensor ng paggalaw.

Ang mga LED ay medyo mas mahirap kaysa sa sensor ng paggalaw dahil nangangailangan sila ng isang risistor upang tumakbo nang tama nang hindi napinsala ang mga ito o ang Pi. Gumamit ako ng tatlong 220 ohm resistors ngunit ang 220 at 330 ohm resistors ay karaniwang ginagamit sa mga LED.

Upang mai-wire ang lahat maaari mo ring:

  • Paghinang ang mga LED leg sa resistors at pagkatapos ay patakbuhin ang mga wire sa Pi
  • Gumamit ng isang breadboard at mga linya ng kurbatang upang ikonekta ang lahat
  • Gumamit ng mga linya ng kurbatang at electrical tape upang ikonekta ang lahat (tulad ng ginawa ko).

Ikokonekta namin ang aming LED sa mga pin 11, 13, at 15. Ito ay medyo mas mahirap kaysa sa sensor ng paggalaw, bagaman, dahil ang mga binti sa LED ay tumutugma sa isang tukoy na kulay! Ang mahabang binti ay GND; at, sa aking LED kahit papaano, ang mga binti ay nagpunta Red, GND, Blue, Green. Ikinonekta ko ang Blue sa Pi pin 11, Green sa Pi pin 13, at Red sa Pi pin 15. Ipinapakita ng pangalawang larawan ang panghuling koneksyon sa circuit.

Hakbang 2: Paunang Estado

Paunang Estado
Paunang Estado
Paunang Estado
Paunang Estado

Tiyak na maaari nating makita kapag nakita ang paggalaw gamit ang LED, ngunit paano natin masusubaybayan kung gaano karaming mga trick-or-treater ang nahulog upang magnakaw ng aming kendi?

Mag-i-stream kami sa isang dashboard tuwing magsisimula ang paggalaw at hihinto sa pagtuklas. Dahil ang dashboard na ito ay naa-access mula sa kahit saan na may koneksyon sa internet, maaari naming malayuang masubaybayan kung may lumalapit sa pintuan / mangkok ng kendi o hindi.

Hakbang 1: Magrehistro para sa Paunang Estadong Account Pumunta sa https://iot.app.initialstate.com at lumikha ng isang bagong account.

Hakbang 2: I-install ang ISStreamer

I-install ang module ng Initial State Python sa iyong Raspberry Pi. Sa isang prompt ng utos (huwag kalimutang i-SSH muna ang iyong Pi), patakbuhin ang sumusunod na utos:

$ cd / home / pi /

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

Hakbang 3: Gumawa ng ilang Automagic

Pagkatapos ng Hakbang 2 makikita mo ang isang bagay na katulad sa sumusunod na output sa screen:

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

Password: Simula ng ISStreamer Python Madaling Pag-install! Maaari itong tumagal ng ilang minuto upang mai-install, kumuha ng kape:) Ngunit huwag kalimutang bumalik, magkakaroon ako ng mga katanungan sa paglaon! Natagpuan easy_install: setuptools 1.1.6 Natagpuan pip: pip 1.5.6 mula sa /Library/Python/2.7/site-packages/pip-1.5.6- py2.7.egg (python 2.7) pip pangunahing bersyon: 1 pip menor de edad na bersyon: Natagpuan ang 5 ISStreamer, ina-update… Napapanahon na ang kinakailangan: ISStreamer sa /Library/Python/2.7/site-packages Nililinis … Nais mo bang awtomatikong makakuha ng isang halimbawa ng script? [y / N] Saan mo nais i-save ang halimbawa? [default:./is_example.py] Mangyaring piliin kung aling Initial State app ang iyong ginagamit: 1. app.initialstate.com 2. [BAGO!] iot.app.initialstate.com Ipasok ang pagpipilian 1 o 2: Ipasok ang iot.app.initialstate.com pangalan ng gumagamit: Ipasok ang iot.app.initialstate.com password:

Kapag na-prompt na awtomatikong makakuha ng isang halimbawa ng script, i-type ang y. Lilikha ito ng isang script ng pagsubok na maaari naming patakbuhin upang matiyak na maaari naming mai-stream ang data sa Paunang Estado. Ang susunod na prompt ay magtatanong kung saan mo nais i-save ang halimbawang file. Maaari kang mag-type ng isang pasadyang lokal na landas o pindutin ang enter upang tanggapin ang default na lokasyon. Panghuli, tatanungin ka kung aling Initial State app ang iyong ginagamit. Kung nakagawa ka kamakailan ng isang account, piliin ang pagpipilian 2, ipasok ang iyong pangalan ng gumagamit at password. Pagkatapos nito ay kumpleto ang pag-install.

Hakbang 4: Mga Access Key

Tingnan natin ang halimbawa ng script na nilikha. $ nano is_example.py Sa linya 15, makikita mo ang isang linya na nagsisimula sa streamer = Streamer (bucket_…. Lumilikha ang mga linyang ito ng isang bagong bucket ng data na pinangalanang "Halimbawa ng Python Stream" at nauugnay sa iyong account. Nangyayari ang ugnayan na ito dahil sa access_key =”…” na parameter sa parehong linya na iyon. Ang mahabang serye ng mga titik at numero ay ang iyong key ng pag-access ng Initial State account. Kung pupunta ka sa iyong Initial State account sa iyong web browser, mag-click sa iyong username sa kanang tuktok, pagkatapos ay pumunta sa "aking mga setting", mahahanap mo ang parehong access key sa ilalim ng pahina sa ilalim ng "Streaming Access Keys".

Sa tuwing lumilikha ka ng isang data stream, ididirekta ng access key na iyon ang data stream sa iyong account (kaya huwag ibahagi ang iyong susi sa sinuman).

Hakbang 5: Patakbuhin ang Halimbawa

Patakbuhin ang script ng pagsubok upang matiyak na makakalikha kami ng isang stream ng data sa iyong Initial State account. Patakbuhin ang sumusunod:

$ python ay_example.py

Hakbang 6: Kita

Bumalik sa iyong Initial State account sa iyong web browser. Ang isang bagong bucket ng data na tinawag na "Halimbawa ng Python Stream" ay dapat na lumabas sa kaliwa sa iyong log shelf (maaaring kailanganin mong i-refresh ang pahina). Mag-click sa bucket na ito at pagkatapos ay mag-click sa icon ng Waves upang matingnan ang data ng pagsubok.

Hakbang 3: Python Script

Lumikha ng isang script at buksan ang text editor gamit ang sumusunod na utos:

nano vistors.py

Kopyahin at lagpasan ang code mula rito hanggang sa iyong text editor.

Bago namin subukan na magpatakbo ng anumang bagay, kailangan naming gumawa ng ilang mga pag-edit at suriin kung ano ang nangyayari sa aming script.

i-import ang RPi. GPIO bilang GPIO

mula sa oras na pag-import ng pagtulog mula sa ISStreamer. Pag-import ng streamer ng Streamer # Sabihin sa Pi na gagamitin namin ang system ng pagnunumero na GPIO.setmode (GPIO. BCM) # Ang mga pin na D1 at LED ay konektado sa PIN = 23 BLUE = 17 GREEN = 27 RED = 22 # Tukuyin ang aming pin ng sensor ng paggalaw bilang input GPIO.setup (PIN, GPIO. IN) # Tukuyin ang aming mga LED pin bilang output GPIO.setup (RED, GPIO. OUT) GPIO.output (RED, 0) GPIO.setup (GREEN, GPIO. OUT) GPIO.output (GREEN, 0) GPIO.setup (BLUE, GPIO. OUT) GPIO.output (BLUE, 0)

Ang mga linya na 1-21 ay para sa pagsisimula. Una naming ini-import ang interface ng GPIO ng Pi at isang paraan upang matulog ang aming script. Pagkatapos ay mai-import namin ang Initial State streamer na na-install namin sa nakaraang pahina.

Tinutukoy ng GPIO.setmode kung aling sistema ng pagnunumero ang ginagamit namin para sa mga pin. Sa halip na pisikal na lokasyon, ginagamit namin ang system ng pagnunumero ng Pi. Tulad ng aming diagram nang mas maaga, ang mga pin na pinili namin ay 23, 17, 27, at 22. Pagkatapos ay i-set up namin ang pin ng paggalaw bilang input at ang mga LED pin bilang output.

# Pangalan ng pangalan ng timba ng Estado (ipinapakita)

BUCKET_NAME = ": jack_o_lantern: Trick or Treat Tracker" # Initial State bucket key (nakatago) BUCKET_KEY = "trickortreat" # Inisyal na State key key ACCESS_KEY = "Your_Access_Key" # Mga variable na tinitiyak na hindi namin nai-stream na mayroon o wala paggalaw ng dalawang beses sa isang hilera # Nakatipid ito sa naipadala na mga kaganapan at naproseso na ang kapangyarihan ang LED sa dilaw na GPIO.output (RED, 1) GPIO.output (GREEN, 1)

Ang mga linya na 23-41 ay mahalaga sapagkat sinisimulan namin ang streamer ng Initial State at itinatakda ang dilaw sa LED. Ilagay ang iyong paunang State access key sa linya 28.

# Loop nang walang katiyakan

habang Totoo: # Kung ang sensor ng paggalaw ay nakakakuha ng mataas (nakakakita ng paggalaw): kung GPIO.input (PIN) == 1: i-print ang "Nakita ang paggalaw" # Kung hindi pa tayo naka-stream: kung hindi paRecordedMotion: counter = counter + 1 # Itakda ang LED sa pulang GPIO.output (RED, 1) GPIO.output (GREEN, 0) # Stream sa Initial State streamer.log (": ghost: o: chocolate_bar:?", ": chocolate_bar: Oras Para sa Mga Paggamot!") streamer.log (": kendi: Gutom na Tao?: kendi:", counter) streamer.flush () alreadyRecordedMotion = True alreadyRecordedNoMotion = Mali pa: # I-pause ang script para sa 1 segundo na pagtulog (1) pa: i-print ang "Walang kilos na nakita" # Kung hindi pa kami naka-stream: kung hindi paRecordedNoMotion: # Itakda ang LED sa dilaw GPIO.output (RED, 1) GPIO.output (GREEN, 1) # Stream sa Initial State streamer.log (": ghost: o: chocolate_bar:)

Ang mga linya na 43-77 ay ang karne ng code. Kung nakita ang paggalaw ang script ay susuriin upang makita kung "Oras Para sa Mga Paggamot!" naka stream na. Kung wala ito, ipinadala ito sa Initial State at ang LED ay nakatakda sa pula; kung mayroon ito, naghihintay ang script ng 1 segundo at pagkatapos ay basahin muli mula sa sensor ng paggalaw. Ganun din kung hindi nakita ang paggalaw.

Panahon na upang subukan ang code! Tiyaking nai-save mo ang iyong na-edit na file kasama ang iyong access key na idinagdag sa linya 28, at pagkatapos ay pumasok sa terminal:

mga bisita sa sawa.py

Dapat mong makita ang LED na dumating at "Walang nakita na paggalaw" simulang i-print sa linya ng utos. Subukang i-wave ang iyong kamay sa sensor ng paggalaw - dapat mo na ngayong makita ang isang pulang ilaw at "Motion na napansin" simulan ang pag-print!

Ngayon upang mapatunayan na ang aming mga pagbasa ay nai-stream sa Paunang Estado.

Hakbang 4: Trick-or-Treat Dashboard

Trick-or-Treat Dashboard
Trick-or-Treat Dashboard

Tumungo sa Paunang Estado at suriin ang iyong dashboard! Dapat mong makita ang isang timba na tinatawag na "? Trick or Treat Tracker". Wave ang iyong kamay malapit sa sensor ng paggalaw at panoorin itong nai-update!

Ang aking dashboard ay binubuo ng 2 Mga Tile ng Buod na ipinapakita ang Huling halaga at isang Histogram ng bilang ng kaganapan upang makita ko kung anong mga oras na nag-trigger ang sensor.

Narito ang ilang mga bagay na dapat isaalang-alang:

  • Marahil ay nais mong hatiin ang bilang ng "Mga Gutom na Tao" ng 2 upang maituring ang katunayan na ang parehong tao ay magpapasa sa harap ng sensor ng paggalaw nang dalawang beses - papunta sa iyong pintuan at pabalik. Magagawa mo ito sa Real-Time Expressions gamit ang equation na "= math.round (([Hungry Humans?] / 2), 0)".
  • Maaari mong subukan kung gaano ka-sensitibo ang iyong sensor ng paggalaw at ilagay ito sa iyong bangketa nang naaayon. Iminumungkahi kong panatilihin itong sapat na malayo mula sa pintuan na hindi ito nag-uudyok kapag ang isang tao ay nakatayo sa pintuan.
  • Maaari ka ring mag-setup ng mga alerto sa teksto upang sabihin sa iyo na may papalapit na.
  • Pumili ng isang imahe sa background upang mabigyan ang iyong dashboard ng isang maliit na nakakatakot na pagkatao!

Hakbang 5: Kalabasa Pi

Inirerekumendang: