Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Tape Teardown
- Hakbang 2: Dark Sky Pi
- Hakbang 3: Ang Code
- Hakbang 4: Unicorn HAT & Servo
- Hakbang 5: Headphone Jiggle
- Hakbang 6: Assembly
- Hakbang 7: Tahimik na pagkahumaling
Video: 1984 WeatherMan Pi: 7 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Ang portable cassette player na ngayon ay isang nakapaligid na display ng panahon ng IoT na may istilong unang bahagi ng 80s, na nagpapakita ng isang "kasalukuyang kundisyon" na animasyon, pag-scroll ng temperatura at posibilidad ng pag-ulan na grap sa pamamagitan ng window ng tape. Kapag binago ng kundisyon ng panahon ang mga headphone na kinokontrol ng servo sa tuktok ay magbulwak pabalik-balik bilang isang banayad na alerto.
Pagbukas ng functional tape door makikita natin na ang maalikabok na orihinal na mga sangkap ay pinalitan ng isang Raspberry Pi Zero W, isang Pimoroni Unicorn Hat HD (LED Matrix) at isang maliit na servo. Ang data ng panahon ay pinagkukunan gamit ang isang script ng Python na nagtatanong sa ultra-tumpak na Dark Sky Weather API, na iniayon sa aking tukoy na lokasyon.
Ito ay isang simple ngunit kaakit-akit at gumaganang IoT build na nakaupo sa tapat ng desk speaker sa aking counter sa YouTube, tahimik na pinapanatili akong napapanahon sa panahon.
Mga gamit
Raspberry Pi Zero
Pimoroni Unicorn HAT HD
Maliit na Servo
1984 Hitachi SP-1 Personal na Stereo at Mga Headphone
USB WiFi Adapter
2mm Threaded Rod
Sugru (Itim at Gray)
Pang-akit na GeoMag
Hakbang 1: Tape Teardown
Binigyan ako ng kaibig-ibig na lumang manlalaro ng cassette na ito ng aking biyenan noong Setyembre at agad na umibig sa kanyang iconic na hitsura at chunky na mga pindutan. Ang tunay na gumuhit ay ang malaking window ng tape - pagkatapos ng pagmamay-ari nito tungkol sa 15 segundo mayroon akong isang namumuno, at namangha nang malaman na ito, sa mm, ang laki ng isang karaniwang Raspberry Pi HAT (Hardware Na Nakalakip sa Itaas).
Ang pagtuklas na nag-iisa ay sapat na upang mauntog ang aking proyekto ng orasan ng cuckoo na mas malayo sa listahan na "gawin" at nagsimula akong magtrabaho nang diretso, sa pamamagitan ng pag-aalis ng manlalaro.
Ang luha ay napunta nang maayos at napunta ako sa tatlong magkakaibang mga piraso upang magtrabaho - Pinamahalaan ko na masira ang isang pares ng mga plastik na bahagi, ngunit wala na maaaring nakadikit muli.
Hakbang 2: Dark Sky Pi
Ginamit ko ang Dark Sky sa aking telepono nang ilang sandali at talagang napahanga ako sa kawastuhan ng mga pagtataya, kaya't natuwa ako na makitang nag-aalok sila ng isang komprehensibong API na magagamit ko sa proyektong ito. Mabuti at prangka na itakda taas din!
Una magtungo sa https://darksky.net/dev at mag-sign up para sa isang libreng account - hinahayaan ka ng isang "pagsubok" na account na gumawa ng 1000 mga kahilingan sa API sa isang araw, na sapat para sa pag-refresh bawat 1.5 minuto - madalas na sapat para sa aking British antas ng pagkahumaling sa panahon.
Kapag nag-sign up makakakuha ka ng isang "Lihim na Susi" - ito ang kailangan mo upang ma-access ang data at ginagamit ito sa script ng Python, kaya't panatilihing madaling gamitin ito (at, alam mo, lihim).
Nagsimula ako sa pamamagitan ng pag-angkop ng isang script na ginamit ko sa YouTube Subscriber Counter build, na gumagamit ng module ng Mga Kahilingan sa Python upang makuha ang data ng API. Ang ginamit kong script ay nasa GitHub, kakailanganin mo lamang idagdag sa iyong Madilim na Sky API key at, syempre, palitan ang iyong sariling mga halagang Latitude at Longitude.
Ito ay medyo prangka upang hilahin ang data sa kasalukuyang mga kondisyon ng panahon, at nagpasya akong gamitin ang mga elemento ng "Icon", "Precipitation Probability" at "Temperatura".
Hakbang 3: Ang Code
Kung nais mong muling gamitin o buksan ang code na ginamit ko, nasa repository ng WeatherMan sa GitHub - i-clone o i-download ang folder na "lagay ng panahon" sa folder na "pi" sa iyong Raspberry Pi.
Ang pangunahing pag-andar ng script ay ang mga sumusunod:
weatherman.py
Ito ang pangunahing script na kumukuha ng data ng panahon mula sa Dark Sky. Kakailanganin mong i-set up ang isang Dark Sky account sa https://darksky.net/dev at ilagay ang iyong Lihim na Susi sa script kung saan nakasaad. Kakailanganin mo ring ilagay sa latitude at longitude ng lokasyon ng panahon na gusto mo - mahahanap ito sa Google Maps, i-click lamang nang tama at piliin ang "Ano ang Narito?" at makakakuha ka ng isang pop-up na nagpapakita ng lat / haba ng lokasyon.
Matapos makuha ang data ng API na weatherman.py ay nagpapasa ng mga parameter sa maraming mas maliit na mga script upang simulan ang mga animasyon at jiggle ng headphone.
Ang script ay nakatakda upang tumakbo sa startup sa pamamagitan ng pag-edit ng startup file…
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
… at pagdaragdag:
@ python3 /home/pi/weather/weatherman.py &
sa dulo ng file.
icon.py
Ang script na ito ay tumatagal ng isang "kasalukuyang mga kundisyon" na parameter mula sa script ng weatherman.py at ginagamit ito upang maipakita ang isang 16x16 na animasyon sa panahon - lahat ng ito ay nakaimbak sa folder na "mga icon" at bahagi ng karaniwang dokumentasyon ng Unicorn HAT HD. Maaari mong mai-edit ang mga file ng-p.webp
phone.py
Kung ang mga kondisyon ng panahon ay nagbago mula sa huling kahilingan sa API (o ito ay isang sariwang boot at hindi ito snow) pagkatapos ang script na ito ay tinawag mula sa weatherman.py at inatasan ang servo na "mag-jiggle" pabalik-balik upang alerto ka na may mga kondisyon nagbago
bangin.py
Tumatanggap ang script na ito ng isang parameter na "posibilidad ng pag-ulan" mula sa weatherman.py at nagpapakita ng mga linya na asul sa Unicorn HAT na nauugnay sa% probabilty. Kung 100% lahat ng 16 na hilera ay mamula-mula sa asul, kung 50% lamang ng 8 mga hilera atbp.
temp.py
Ang isa pang karaniwang Pimoroni script, ang isang ito ay tumatagal ng isang "temp" na parameter mula sa weatherman.py at ipinapakita ito sa pag-scroll na teksto. Nakatakda itong gamitin ang Herkules truetype font (sa folder na "font") ngunit maaaring gumamit ng isang karaniwang font kung gusto mo. Maaari mo ring mapahusay ito upang ang ipinakitang teksto ay nagbabago ng kulay depende sa halaga ng temperatura!
Hakbang 4: Unicorn HAT & Servo
Ang kakayahang mahawakan ang data ng panahon ay mahusay, ngunit kailangan ko itong ipakita sa Unicorn HAT. Tiningnan ko ang iba't ibang mga hanay ng mga icon ng panahon sa internet at kalahating daan sa pamamagitan ng pagbagay sa mga ito nang mapagtanto kong may isang halimbawa ng panahon na kasama sa dokumentasyon ng Pimoroni - at kasama dito ang mga animasyon sa panahon!
Nag-save ito ng isang malaking halaga ng trabaho, at ako ay mabilis at tumatakbo nang walang oras, na may isang animated na icon para sa kasalukuyang mga kundisyon, ilang teksto ng pag-scroll para sa temperatura at isang graph para sa% na pag-ulan (na nagsasangkot ng ilang light maths). Iningatan ko ang mga script na magkahiwalay at ginamit ang Subprocess module ng Python upang ipasa ang mga parameter papunta at pabalik.
Ang pagdaragdag sa servo ay ang perpektong sasakyan para sa mga alerto na ito, dahil makagawa ito ng kaunting ingay at nakakaakit ng mata nang hindi masyadong nakakainis. Sa pagkuha ng HAT ng marami sa mga pin ng Pi ay hinangin ko ang mga kable ng servo sa ilalim ng board, gamit ang Pin 17 upang makontrol ang kilusan ng servo gamit ang Pulse Width Modulation.
Ang pagpapatakbo ng servo mula sa Pi ay hindi perpekto, ngunit magagamit lamang ito para sa isang panandaliang pag-jiggle kaya't ang katumpakan ay hindi isang malaking bagay dito. Nakakonekta ito tulad ng ipinakita sa diagram, na may Brown cable sa GND, Red hanggang 5v at Orange (ang control cable) sa GPIO17.
Panghuli ay na-edit ko ang ilan sa mga file ng animation ng panahon sa GIMP upang idagdag sa aking sariling mga personal na ugnayan, tulad ng mga paniki sa buwan at isang nakangiting mukha sa araw. Nagdagdag din ako sa isang pasadyang "Old Tech New Spec" na animasyon ng cassette wheel upang i-play sa startup, para lamang sa kasiyahan.
Hakbang 5: Headphone Jiggle
Ang ideya ng WeatherMan ay na ito ay passively umupo sa aking desk speaker, paminsan-minsan na nagpapakita ng panahon, ngunit nais kong gawin ito nang kaunti pa! Ang mga earphone na kasama nito ay toast ngunit klasikong 80, kaya't napagpasyahan kong gawin ang isang bagay sa kanila. Matapos hubarin ang lahat ng mga kable at mai-hot glue ang sira ay naiwan ako sa tatlong bahagi, ang 3.5mm plug, ang hugis na brilyante na hugis at ang mga telepono mismo sa kanilang kakayahang umangkop na metal band.
Sinaktan ako ng ideya na kung makakahanap ako ng ilang paraan ng pag-mount ng mga telepono sa tuktok ng yunit pagkatapos ay maaari ko silang paikutin pabalik-balik gamit ang isang servo, at gamitin ito bilang isang karagdagang abiso.
Una ay nag-drill ako ng 3.5mm plug at binuwag ang switch ng brilyante, pagkatapos ay nadulas ang mga ito sa isang piraso ng sinulid na tungkod. Susunod na nakadikit ako ng isang kulay ng nuwes sa isang konektor ng plastik, upang ang pamalo ay maaaring umupo nang ligtas (at tuwid) sa ibabaw ng servo. Sa kabilang dulo ng tungkod idinagdag ko sa isa pang kulay ng nuwes. Sa wakas ay ginamit ko ang kulay-abo na Sugru upang mabuklod ang tuktok ng tungkod sa earphone band at upang takpan din ang nut sa ilalim ng pagpupulong. Kung hindi mo pa naririnig ang tungkol sa Sugru ito ay isang mouldable na pandikit na nagmumula sa maliliit na kulay na mga sachet - ito ay hinuhulma tulad ng Play-Doh ngunit nananatili tulad ng superglue at nagtatakda tulad ng plastik!
Sa kasalukuyang malamig na panahon ang Sugru ay tumagal ng ilang araw upang ganap na tumigas, ngunit ang mga headphone at ang kanilang paninindigan ay handa na para sa pangwakas na pagpupulong.
Hakbang 6: Assembly
Ang Pi, HAT at Servo ay pawang nagtatrabaho nang maayos sa bench kaya ang susunod na trabaho ay upang maiharap sila sa kaso. Bago magsimula sa mga malalaking sangkap ay gumamit ako ng natitirang kulay-abo na Sugru upang ayusin ang dami ng dial, headphone socket at "metal tape" switch, inaayos ang mga pampaganda. Dinikit ko din ang orihinal na mga pindutan ng Play, Stop, FF & Rew sa isang piraso ng plastic conduit upang manatili sila sa tamang lugar. Nakakahiya na hindi muling gamitin ang anuman sa mga pindutan sa oras na ito ngunit wala talagang anuman para makontrol nila!
Ginamit ko ang huli ng kulay-abo na Sugru upang hawakan ang servo sa posisyon, na ang baras nito ay sumasaksak sa pinalaki na socket ng headphone. Ang paglipat sa kabilang kalahati ng kaso ay ginamit ko ang ilang itim na Sugru upang ma-secure ang pagpupulong ng HAT at Pi sa pinto ng tape, upang buksan nila ito. Talagang nasiyahan ako sa huling maliit na ugnayan - pag-aayos sa isang pang-akit na GeoMag upang ang pintuan ay gaganapin nang mahigpit na sarado.
Ang pagsasama-sama ng dalawang halves ay isang kinakabahan na negosyo dahil natatakot ako na ang Pi & Servo ay magkasalungat sa isa't isa, ngunit sa huli mayroong isang libong milimeter upang matitira, maraming sa aking libro. Tulad ng nakakatawang pinto ng pagbubukas ay magbibigay ng ganap na pag-access sa interior para sa paglilingkod sa hinaharap nainit ko lang ang dalawang halves, at pagkatapos na punasan ang aking mga madulas na mga fingerprint ay nilagyan ang pagpupulong ng headphone sa tuktok - tapos na!
Hakbang 7: Tahimik na pagkahumaling
Pangalawang Gantimpala sa Reuse Contest
Inirerekumendang:
Paano Mag-disassemble ng isang Computer Na May Madaling Hakbang at Mga Larawan: 13 Hakbang (na may Mga Larawan)
Paano Mag-disassemble ng isang Computer Na May Madaling Mga Hakbang at Larawan: Ito ay isang tagubilin tungkol sa kung paano i-disassemble ang isang PC. Karamihan sa mga pangunahing sangkap ay modular at madaling matanggal. Gayunpaman mahalaga na maging maayos ka tungkol dito. Makakatulong ito upang maiwasan ka sa pagkawala ng mga bahagi, at sa paggawa din ng muling pagsasama
Ang Laser Pointer na naka-mount sa spectacle para sa Mga Taong May Mga Kapansanan sa Locomotor: 9 Mga Hakbang (na may Mga Larawan)
Ang Laser Pointer na naka-mount sa spectacle para sa Mga Taong May Kapansanan sa Locomotor: Ang mga taong may malubhang mga kapansanan sa lokomotor tulad ng mga sanhi ng cerebral palsy ay madalas na may mga kumplikadong pangangailangan sa komunikasyon. Maaaring kailanganin silang gumamit ng mga board na may alpabeto o karaniwang ginagamit na mga salitang nakalimbag sa kanila upang makatulong sa komunikasyon. Gayunpaman, marami
Pag-hack sa TV Tuner upang Basahin ang Mga Larawan sa Daigdig Mula sa Mga Satellite: 7 Mga Hakbang (na may Mga Larawan)
Pag-hack sa TV Tuner upang Basahin ang Mga Larawan sa Daigdig Mula sa Mga Satellite: Mayroong maraming mga satellite sa itaas ng aming mga ulo. Alam mo ba, na ang paggamit lamang ng Iyong computer, TV Tuner at simpleng DIY antena Maaari mong matanggap ang mga pagpapadala mula sa kanila? Halimbawa ng mga real time na larawan ng mundo. Ipapakita ko sa iyo kung paano. Kakailanganin mo ang: - 2 w
Pasadyang Arduino upang Panatilihing MAAARI ang Mga Pindutan sa Mga Manibela na May Bagong Car Stereo: 9 Mga Hakbang (na may Mga Larawan)
Pasadyang Arduino upang Panatilihin ang CAN Steering Wheel Buttons Sa Bagong Car Stereo: Napagpasyahan kong palitan ang orihinal na stereo ng kotse sa aking Volvo V70 -02 ng isang bagong stereo upang masisiyahan ako sa mga bagay tulad ng mp3, bluetooth at handsfree. Ang aking kotse ay may ilang mga kontrol sa manibela para sa stereo na nais kong magamit pa rin.
Album ng Mga Litrato ng Mga Bata Na May Komersyal ng Flashcard: 8 Mga Hakbang (na may Mga Larawan)
Kids Photo Album With Flashcard Commercial: Ipinapakita ng mga itinuturo na ito kung paano gumawa ng isang awtomatikong pag-update ng photo album ng WiFi bilang karagdagan sa mga tampok sa komersyal na flash card