Satura rādītājs:
- Piegādes
- 1. darbība: noņemiet lenti
- 2. solis: Dark Sky Pi
- 3. darbība: kods
- 4. solis: vienradža cepure un servo
- 5. darbība: austiņu kustība
- 6. darbība: montāža
- 7. solis: klusa apsēstība
Video: 1984 WeatherMan Pi: 7 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:54
Šis pārnēsājamais kasešu atskaņotājs tagad ir apkārtējās vides IoT laika displejs ar 80. gadu sākuma stilu, parādot animāciju "pašreizējie apstākļi", ritinot temperatūru un lietus varbūtības grafiku. Kad laika apstākļi mainās, servo vadāmās austiņas augšpusē virmo uz priekšu un atpakaļ kā smalks brīdinājums.
Atverot funkcionālās lentes durvis, mēs redzam, ka putekļainās oriģinālās detaļas ir aizstātas ar Raspberry Pi Zero W, Pimoroni Unicorn Hat HD (LED Matrix) un nelielu servo. Laika apstākļu dati tiek iegūti, izmantojot Python skriptu, kas vaicā īpaši precīzu Dark Sky Weather API, kas pielāgota manai konkrētajai atrašanās vietai.
Tā ir vienkārša, bet jauka izskata un funkcionāla IoT konstrukcija, kas atrodas uz pretējā galda skaļruņa manam YouTube skaitītājam, klusi informējot mani par laika apstākļiem.
Piegādes
Raspberry Pi Zero
Pimoroni vienradzis Cepure HD
Mazs servo
1984 Hitachi SP-1 Personal Stereo & Austiņas
USB WiFi adapteris
2 mm vītņots stienis
Sugru (melns un pelēks)
GeoMag magnēts
1. darbība: noņemiet lenti
Mana vīramāte septembrī man uzdāvināja šo jauko veco kasešu atskaņotāju, un es uzreiz iemīlējos tās ikoniskajā izskatā un kuplajās pogās. Patiesais zīmējums tomēr bija tas lielais lentes logs - pēc tam, kad tas piederēja apmēram 15 sekundes, man bija lineāls, un es biju pārsteigts, konstatējot, ka tas līdz mm ir tāds pats kā standarta Raspberry Pi HAT (aparatūra pievienota augšpusē).
Ar šo atklājumu vien pietika, lai saspiestu manu dzeguzes pulksteņa projektu tālāk “darāmo lietu” sarakstā, un es sāku strādāt uzreiz, demontējot atskaņotāju.
Izjaukšana noritēja diezgan labi, un es galu galā strādāju ar trim atšķirīgiem gabaliem - man izdevās salauzt pāris plastmasas detaļas, bet nekas, ko nevarēja salīmēt kopā.
2. solis: Dark Sky Pi
Es kādu laiku savā tālrunī izmantoju Dark Sky un biju patiesi pārsteigts par prognožu precizitāti, tāpēc man bija prieks redzēt, ka tie piedāvā visaptverošu API, ko es varētu izmantot šajā projektā. Ir jauki un vienkārši iestatīt arī augšā!
Vispirms dodieties uz vietni https://darksky.net/dev un reģistrējieties bezmaksas kontam - izmēģinājuma konts ļauj jums veikt 1000 API pieprasījumus dienā, kas ir pietiekami atsvaidzināšanai ik pēc 1,5 minūtēm - pietiekami bieži pat manam kontam. Lielbritānijas laika apsēstības līmenis.
Kad esat reģistrējies, jūs saņemsiet slepeno atslēgu - tas ir tas, kas jums nepieciešams, lai piekļūtu datiem, un tas tiek izmantots Python skriptā, tāpēc glabājiet to pie rokas (un, jūs zināt, noslēpumā).
Sāku, pielāgojot skriptu, ko izmantoju YouTube abonentu skaitītāja būvē, kas izmanto Python pieprasījumu moduli, lai izgūtu API datus. Manis izmantotais skripts ir pieejams vietnē GitHub, jums vienkārši jāpievieno Dark Sky API atslēga un, protams, jāaizstāj savas Latitude & Longitude vērtības.
Bija diezgan vienkārši iegūt datus par pašreizējiem laika apstākļiem, un es nolēmu izmantot elementus "Ikona", "Nokrišņu varbūtība" un "Temperatūra".
3. darbība: kods
Ja vēlaties atkārtoti izmantot vai atspērot izmantoto kodu, tas atrodas WeatherMan krātuvē GitHub - klonējiet vai lejupielādējiet mapi "weather" savā Raspberry Pi mapē "pi".
Galvenās skripta funkcijas ir šādas:
sinoptiķis.py
Šis ir galvenais skripts, kas iegūst laika apstākļu datus no Dark Sky. Jums ir jāizveido Dark Sky konts vietnē https://darksky.net/dev un jāievieto slepenā atslēga skriptā, kur norādīts. Jums arī jāievada interesējošo laika apstākļu ģeogrāfiskais platums un garums - to var atrast pakalpojumā Google Maps, vienkārši ar peles labo pogu noklikšķiniet un atlasiet "Kas šeit ir?" un jūs saņemsiet uznirstošo logu, kurā parādīts atrašanās vietas lats/garums.
Pēc API datu izgūšanas weatherman.py nodod parametrus vairākiem mazākiem skriptiem, lai sāktu animācijas un austiņas.
Skripts ir iestatīts palaist startēšanas laikā, rediģējot startēšanas failu …
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
… Un pievienojot:
@python3 /home/pi/weather/weatherman.py &
faila beigās.
icon.py
Šis skripts no skripta weatherman.py ņem parametru "pašreizējie apstākļi" un izmanto to, lai parādītu 16x16 laika animāciju - tie visi tiek glabāti mapē "ikonas" un ir daļa no standarta Unicorn HAT HD dokumentācijas. Jūs varat viegli rediģēt-p.webp
phones.py
Ja laika apstākļi ir mainījušies no pēdējā API pieprasījuma (vai tas ir jauns sāknēšanas sākums un nav sniega), tad šis skripts tiek izsaukts no weatherman.py un uzdod servo “kustēties” uz priekšu un atpakaļ, lai brīdinātu, ka apstākļi ir mainīts.
lietus.py
Šis skripts pieņem "nokrišņu varbūtības" parametru no weatherman.py un uz Unicorn HAT parāda zilas līnijas, kas attiecas uz varbūtības %. Ja 100% visas 16 rindas spīdēs zilā krāsā, ja 50% tikai 8 rindas utt.
temp.py
Vēl viens standarta Pimoroni skripts, šis paņem "temp" parametru no weatherman.py un parāda to ar ritināmu tekstu. Tas ir iestatīts izmantot Herkules truetype fontu (mapē "fonts"), bet, ja vēlaties, var izmantot standarta fontu. Jūs pat varētu to uzlabot, lai parādītais teksts mainītu krāsu atkarībā no temperatūras vērtības!
4. solis: vienradža cepure un servo
Spēja iegūt datus par laika apstākļiem bija lieliska, taču tagad man tie bija jāparāda vienradza cepurē. Es paskatījos dažādus laikapstākļu ikonu komplektus internetā un biju pusceļā tos pielāgojis, kad sapratu, ka Pimoroni dokumentācijā ir iekļauts laika apstākļu piemērs - un tas ietvēra laika animācijas!
Tas ietaupīja milzīgu darba apjomu, un es īsā laikā sāku darboties ar animētu ikonu pašreizējiem apstākļiem, nedaudz ritinošu tekstu par temperatūru un grafiku nokrišņu daudzumam (kas ietvēra dažus vieglus skaitļus). Es turēju skriptus atsevišķi un izmantoju Python apakšprocesa moduli, lai pārsūtītu parametrus turp un atpakaļ.
Servo pievienošana bija ideāls transportlīdzeklis šiem brīdinājumiem, jo tas radītu nelielu troksni un piesaistītu uzmanību, vienlaikus neesot pārāk kaitinošs. Tā kā HAT jau aizņem daudzas Pi tapas, es lodēju servo kabeļus tāfeles apakšpusē, izmantojot 17. tapu, lai kontrolētu servo kustību, izmantojot impulsa platuma modulāciju.
Servo ieslēgšana no Pi nebija ideāla, taču to kādreiz varētu izmantot tikai īslaicīgai kņadai, tāpēc precizitāte šeit nebija liela problēma. Tas tika savienots, kā parādīts diagrammā, ar brūnu kabeli līdz GND, sarkanu uz 5v un oranžu (vadības kabelis) ar GPIO17.
Visbeidzot, es rediģēju dažus laika animācijas failus GIMP, lai pievienotu savus personiskos pieskārienus, piemēram, sikspārņus uz mēness un smaidīgu seju saulē. Es arī pievienoju pielāgotu "Old Tech New Spec" kasešu riteņa animāciju, kas tiks atskaņota startēšanas laikā, tikai prieka pēc.
5. darbība: austiņu kustība
WeatherMan ideja bija tāda, ka tas pasīvi sēdēs uz mana galda skaļruņa, laiku pa laikam parādot laika apstākļus, bet es gribēju, lai tas darītu tikai nedaudz vairāk! Austiņas, kas bija līdzi, bija grauzdiņi, bet klasiski 80. gadi, tāpēc es nolēmu ar tām kaut ko darīt. Pēc visu kabeļu noņemšanas un salauztā karsta līmēšanas man palika trīs daļas, 3,5 mm spraudnis, rombveida poga un paši tālruņi uz elastīgās metāla lentes.
Man radās ideja, ka, ja es varētu atrast veidu, kā uzstādīt tālruņus ierīces augšpusē, es varētu likt tiem griezties uz priekšu un atpakaļ ar servo un izmantot to kā papildu paziņojumu.
Pirmkārt, es izurbju 3,5 mm kontaktdakšu un demontēju dimanta slēdzi, pēc tam noslīdēju uz vītņotā stieņa gabala. Tālāk es pielīmēju uzgriezni plastmasas savienotājam, lai stienis varētu droši (un taisni) sēdēt virs servo. Stieņa otrā galā es pievienoju citu riekstu. Visbeidzot, es izmantoju pelēko Sugru, lai savienotu stieņa augšdaļu ar austiņu joslu un arī aizsegtu uzgriezni montāžas apakšā. Ja neesat dzirdējuši par Sugru, tā ir veidojama līme, kas tiek piegādāta mazās krāsainās paciņās - tā veidojas kā Play -Doh, bet pielīp kā superlīme un sacietē kā plastmasa!
Ņemot vērā nesenos aukstos laikapstākļus, Sugru pilnībā nocietināja dažas dienas, taču austiņas un to statīvs drīz bija gatavi galīgajai montāžai.
6. darbība: montāža
Pi, HAT un Servo strādāja labi uz soliņa, tāpēc nākamais uzdevums bija viņus iesaistīt lietā. Pirms ķerties pie lielajām sastāvdaļām, es izmantoju kādu pāri palikušu pelēko Sugru, lai fiksētu skaļuma pārslēgu, austiņu ligzdu un "metāla lentes" slēdzi, sakārtojot kosmētiku. Es arī pielīmēju oriģinālās Play, Stop, FF & Rew pogas pie plastmasas caurules gabala, lai tās paliktu īstajā vietā. Bija kauns šoreiz atkārtoti neizmantot nevienu pogu, taču nebija īsti ko kontrolēt!
Es izmantoju pēdējo no pelēkā Sugru, lai noturētu servo stāvoklī, ar vārpstu izbīdot caur palielināto austiņu ligzdu. Pārejot uz korpusa otro pusi, es pēc tam izmantoju kādu melnu Sugru, lai piestiprinātu HAT un Pi komplektu pie lentes durvīm, lai tās ar tām atvērtos. Man ļoti patika pēdējais mazais pieskāriens - fiksēšana GeoMag magnētā, lai durvis būtu cieši aizvērtas.
Divu pusīšu salikšana kopā bija nervozs bizness, jo baidījos, ka Pi & Servo sadursies savā starpā, bet galu galā manā grāmatā bija daudz milimetra, ko var rezervēt. Tā kā greznās atveramās durvis sniegtu pilnu piekļuvi interjeram turpmākai apkopei, es vienkārši karsti salīmēju abas puses kopā un pēc taukaino pirkstu nospiedumu noslaukšanas uzliku austiņu komplektu virsū - darīts!
7. solis: klusa apsēstība
Otrā balva atkārtotas izmantošanas konkursā
Ieteicams:
Kā: Raspberry PI 4 bez galvas (VNC) instalēšana ar RPI attēlu un attēliem: 7 soļi (ar attēliem)
Kā: Raspberry PI 4 bez galvas (VNC) instalēšana ar Rpi-imager un Pictures: Es plānoju izmantot šo Rapsberry PI daudzos jautros projektos savā emuārā. Jūtieties brīvi to pārbaudīt. Es gribēju atkal izmantot savu aveņu PI, bet manā jaunajā vietā nebija tastatūras vai peles. Pagāja laiks, kopš es izveidoju aveņu
Arduino Halloween Edition - zombiju uznirstošais ekrāns (soļi ar attēliem): 6 soļi
Arduino Helovīna izdevums - zombiju uznirstošais ekrāns (soļi ar attēliem): Vai vēlaties Helovīnā nobiedēt savus draugus un radīt kliedzošu troksni? Vai arī vienkārši gribi uztaisīt labu palaidnību? Šis zombiju uznirstošais ekrāns to var izdarīt! Šajā pamācībā es iemācīšu jums, kā viegli izveidot izlecošus zombijus, izmantojot Arduino. HC-SR0
Skrūve - DIY bezvadu uzlādes nakts pulkstenis (6 soļi): 6 soļi (ar attēliem)
Bolt - DIY bezvadu uzlādes nakts pulkstenis (6 soļi): Induktīvās uzlādes (pazīstamas arī kā bezvadu uzlāde vai bezvadu uzlāde) ir bezvadu enerģijas pārneses veids. Tas izmanto elektromagnētisko indukciju, lai nodrošinātu elektroenerģiju pārnēsājamām ierīcēm. Visizplatītākā lietojumprogramma ir Qi bezvadu uzlādes st
Ciclop 3D skeneris Mans ceļš soli pa solim: 16 soļi (ar attēliem)
Ciclop 3d skeneris mans ceļš soli pa solim: Sveiki, es sapratīšu slaveno Ciclop 3D skeneri. Visi soļi, kas ir labi izskaidroti sākotnējā projektā, nav pieejami. Vispirms veicu dažus labojumus, lai vienkāršotu procesu Es izdrukāju pamatni un atkārtoti pārveidoju PCB, bet turpiniet
Kamera atvieglotiem laika intervāla attēliem: 22 soļi (ar attēliem)
Kamera atvieglotiem laika intervāla attēliem: es pārbaudīju vienu no citām instrukcijām par laika nobīdes filmu veidošanu. Viņš diezgan labi aptvēra filmas daļu. Viņš pastāstīja par bezmaksas programmatūru, kuru varat lejupielādēt, lai izveidotu filmas. Es sev teicu: domāju, ka redzēšu, vai varu