Turinys:
- Prekės
- 1 žingsnis: išardykite juostą
- 2 žingsnis: „Dark Sky Pi“
- 3 žingsnis: Kodas
- 4 žingsnis: vienaragio skrybėlė ir servo
- 5 veiksmas: ausinių virpėjimas
- 6 žingsnis: Surinkimas
- 7 žingsnis: tylus apsėdimas
Video: 1984 WeatherMan Pi: 7 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:46
Šis nešiojamas kasečių grotuvas dabar yra aplinkos IoT orų ekranas su 80 -ųjų pradžios stiliumi, rodantis „dabartinių sąlygų“animaciją, slinkties temperatūrą ir lietaus tikimybės grafiką per juostos langą. Kai oro sąlygos pasikeičia, viršuje esančios servo valdomos ausinės juda pirmyn ir atgal kaip subtilus įspėjimas.
Atidarę funkcines juostines duris matome, kad dulkėti originalūs komponentai buvo pakeisti „Raspberry Pi Zero W“, „Pimoroni Unicorn Hat HD“(LED matrica) ir mažu servo. Orų duomenys gaunami naudojant „Python“scenarijų, kuris užklausia itin tikslios „Dark Sky Weather“API, pritaikytos mano konkrečiai vietai.
Tai paprasta, bet gražiai atrodanti ir funkcionali daiktų interneto konstrukcija, esanti priešingame „YouTube“skaitiklio staliniame garsiakalbyje, tyliai informuojanti mane apie orą.
Prekės
Raspberry Pi Zero
Pimoroni vienaragis skrybėlė HD
Mažas servo
1984 m. „Hitachi SP-1 Personal Stereo & Headphones“
USB „WiFi“adapteris
2 mm srieginis strypas
Sugru (juoda ir pilka)
GeoMag magnetas
1 žingsnis: išardykite juostą
Rugsėjį mano uošvė man padovanojo šį mielą seną kasetinį grotuvą ir akimirksniu įsimylėjau jo ikonišką išvaizdą ir stambius mygtukus. Tačiau tikrasis piešinys buvo tas didelis juostos langas - po to, kai jį turėjau maždaug 15 sekundžių, išėmiau liniuotę ir nustebau sužinojęs, kad jis yra tokio paties dydžio kaip standartinė „Raspberry Pi HAT“(viršuje pritvirtinta aparatūra).
Vien šio atradimo pakako, kad mano gegutės laikrodžio projektas nukristų toliau nuo „padaryti“sąrašo, ir aš pradėjau dirbti iš karto, išardydamas grotuvą.
Išardymas praėjo gana gerai, ir aš turėjau dirbti su trimis skirtingomis detalėmis - man pavyko sulaužyti porą plastikinių dalių, bet nieko, ko nepavyko suklijuoti.
2 žingsnis: „Dark Sky Pi“
Aš jau kurį laiką naudoju „Dark Sky“savo telefone ir buvau tikrai sužavėtas prognozių tikslumu, todėl man buvo malonu matyti, kad jie siūlo išsamią API, kurią galėčiau naudoti šiame projekte. Tai malonu ir paprasta nustatyti taip pat aukštyn!
Pirmiausia eikite į https://darksky.net/dev ir prisiregistruokite gauti nemokamą paskyrą - „bandomoji“paskyra leidžia jums pateikti 1000 API užklausų per dieną, kurios pakanka atnaujinti kas 1,5 minutės - pakankamai dažnai net mano Didžiosios Britanijos oro apsėstumo lygis.
Prisiregistravę gausite „slaptą raktą“- tai jums reikia norint pasiekti duomenis ir jie naudojami „Python“scenarijuje, todėl laikykite juos po ranka (ir, žinote, paslaptyje).
Pradėjau pritaikydamas scenarijų, kurį naudojau „YouTube“abonentų skaitiklio versijoje, kuri naudoja „Python“užklausų modulį, kad gautų API duomenis. Mano naudojamas scenarijus yra „GitHub“, jums tereikia pridėti „Dark Sky“API raktą ir, žinoma, pakeisti savo platumos ir ilgumos vertes.
Buvo gana paprasta surinkti duomenis apie dabartines oro sąlygas, ir aš nusprendžiau pasinaudoti „piktogramos“, „kritulių tikimybės“ir „temperatūros“elementais.
3 žingsnis: Kodas
Jei norite pakartotinai naudoti kodą, kurį naudojau, ar atšokti, tai yra „WeatherMan“saugykloje „GitHub“- klonuokite arba atsisiųskite „Weather“aplanką į „Raspberry Pi“aplanką „pi“.
Pagrindinės scenarijaus funkcijos yra šios:
sinoptikė.py
Tai yra pagrindinis scenarijus, išgaunantis orų duomenis iš „Dark Sky“. Turite sukurti „Dark Sky“paskyrą adresu https://darksky.net/dev ir įdėti slaptąjį raktą į scenarijų, kur nurodyta. Taip pat turėsite įvesti jus dominančios oro vietos platumą ir ilgumą - tai galima rasti „Google“žemėlapiuose, tiesiog dešiniuoju pelės mygtuku spustelėkite ir pasirinkite „Kas čia?“ir gausite iššokantįjį langą, rodantį vietos latą/ilgį.
Nuskaitę API duomenis, weatherman.py perduoda parametrus keliems mažesniems scenarijams, kad būtų pradėtos animacijos ir ausinių svyravimai.
Scenarijus nustatytas paleisti paleidžiant redaguojant paleidimo failą …
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
… Ir priduriant:
@python3 /home/pi/weather/weatherman.py &
failo pabaigoje.
icon.py
Šis scenarijus paima parametrą „dabartinės sąlygos“iš scenarijaus weatherman.py ir naudoja jį, kad būtų rodoma 16x16 orų animacija - visa tai saugoma aplanke „piktogramos“ir yra standartinės „Vienaragio HAT HD“dokumentacijos dalis. Galite lengvai redaguoti-p.webp
telefonai.py
Jei oro sąlygos pasikeitė nuo paskutinės API užklausos (arba tai nauja įkrova, o ne sninga), šis scenarijus iškviečiamas iš weatherman.py ir nurodo servo „jiggle“pirmyn ir atgal, kad įspėtų jus apie sąlygas pasikeitė.
lietus.py
Šis scenarijus priima parametrą „kritulių tikimybė“iš weatherman.py ir vienaragio skrybėlėje rodo mėlynas linijas, susijusias su tikimybe %. Jei 100% visos 16 eilučių švytės mėlyna spalva, jei 50% - tik 8 eilutės ir pan.
temp.py
Kitas standartinis „Pimoroni“scenarijus, šis paima „temp“parametrą iš weatherman.py ir rodo jį su slenkančiu tekstu. Nustatytas šriftas „Herkules truetype“(aplanke „šriftai“), tačiau, jei norite, galite naudoti standartinį šriftą. Jūs netgi galite jį patobulinti, kad rodomas tekstas pakeistų spalvą, priklausomai nuo temperatūros vertės!
4 žingsnis: vienaragio skrybėlė ir servo
Gebėti gauti orų duomenis buvo puiku, bet dabar turėjau juos rodyti „Vienaragio skrybėlėje“. Internete peržiūrėjau įvairius orų piktogramų rinkinius ir jau įpusėjau jų pritaikymą, kai supratau, kad prie „Pimoroni“dokumentacijos yra orų pavyzdys - ir tai buvo orų animacija!
Tai sutaupė labai daug darbo, ir aš greitai pradėjau veikti, su animuota dabartinių sąlygų piktograma, šiek tiek slenkančiu tekstu, skirtu temperatūrai, ir grafiku, rodančiu kritulių procentą (kuris apėmė nedidelę matematiką). Aš laikiau scenarijus atskirai ir naudoju „Python“papildomo proceso modulį, norėdamas perduoti parametrus pirmyn ir atgal.
Servo pridėjimas buvo ideali priemonė šiems įspėjimams, nes tai sukeltų šiek tiek triukšmo ir patrauktų akį, o ne pernelyg erzina. Kai HAT jau užima daugelį Pi kaiščių, aš lituodavau servo kabelius prie apatinės plokštės pusės, naudodamas 17 kaištį, kad valdyčiau servo judėjimą naudojant impulsų pločio moduliaciją.
„Pi“servo maitinimas nebuvo idealus, tačiau jis būtų naudojamas tik akimirksniu, todėl tikslumas čia nebuvo didelis dalykas. Jis prijungtas, kaip parodyta diagramoje, su „Brown“kabeliu prie GND, raudonos prie 5 V ir „Orange“(valdymo kabelis) prie GPIO17.
Galiausiai aš redagavau kai kuriuos orų animacijos failus GIMP, kad galėčiau pridėti savo asmeninių įspūdžių, pavyzdžiui, šikšnosparniai mėnulyje ir šypsenėlių veidas saulėje. Taip pat pridėjau pasirinktinę „Old Tech New Spec“kasetės rato animaciją, kuri bus paleista paleidžiant, tik linksmybėms.
5 veiksmas: ausinių virpėjimas
„WeatherMan“idėja buvo ta, kad jis pasyviai sėdės ant mano stalo garsiakalbio, retkarčiais rodydamas orą, bet aš norėjau, kad tai padarytų tik šiek tiek daugiau! Prie jo pridėtos ausinės buvo skrudintos, bet klasikinės 80 -ųjų, todėl nusprendžiau su jomis kažką nuveikti. Nuplėšęs visus kabelius ir karštai priklijavęs sulūžusį, man liko trys dalys, 3,5 mm kištukas, deimanto formos mygtukas ir patys telefonai ant lanksčios metalinės juostos.
Man kilo mintis, kad jei galėčiau rasti būdą, kaip pritvirtinti telefonus ant įrenginio viršaus, galėčiau priversti juos pasukti pirmyn ir atgal naudojant servo ir naudoti tai kaip papildomą pranešimą.
Pirmiausia išgręžiau 3,5 mm kištuką ir išmontuojau deimantinį jungiklį, o po to uždėjau ant srieginio strypo gabalo. Tada prie plastikinės jungties priklijavau veržlę, kad strypas galėtų saugiai (ir tiesiai) sėdėti ant servo. Kitame meškerės gale pridėjau kitą veržlę. Galiausiai aš naudoju pilką „Sugru“, kad pririščiau strypo viršutinę dalį prie ausinių juostos ir uždengčiau veržlę surinkimo apačioje. Jei dar negirdėjote apie „Sugru“, tai lipnūs klijai, pateikiami mažuose spalvotuose maišeliuose - jie formuojasi kaip „Play -Doh“, bet prilimpa kaip superklijai ir sukietėja kaip plastikas!
Neseniai atšalus orams „Sugru“prireikė kelių dienų, kol visiškai sukietėjo, tačiau ausinės ir jų stovas netrukus buvo paruošti galutiniam surinkimui.
6 žingsnis: Surinkimas
„Pi“, „HAT“ir „Servo“puikiai dirbo ant suolo, todėl kitas darbas buvo juos įtraukti į bylą. Prieš pradėdamas naudoti didelius komponentus, aš panaudojau šiek tiek likusį pilką „Sugru“, kad pritvirtinčiau garsumo ratuką, ausinių lizdą ir „metalinės juostos“jungiklį, surūšiuodamas kosmetiką. Aš taip pat priklijavau originalius „Play“, „Stop“, „FF & Rew“mygtukus prie plastikinio vamzdžio, kad jie liktų tinkamoje vietoje. Buvo gėda šį kartą pakartotinai nenaudoti jokių mygtukų, tačiau jiems tikrai nebuvo ką valdyti!
Aš naudoju paskutinį pilką „Sugru“, kad išlaikyčiau servo padėtį, o jo velenas kištųsi į padidintą ausinių lizdą. Pereidamas į kitą korpuso pusę, tada naudoju juodą „Sugru“, kad pritvirtinčiau HAT ir Pi mazgą prie juostos durų, kad jie su jomis atsidarytų. Man labai patiko paskutinis mažas prisilietimas - fiksavimas „GeoMag“magnetu, kad durys būtų tvirtai uždarytos.
Dviejų pusių sujungimas buvo nervingas reikalas, nes bijojau, kad „Pi & Servo“susidurs tarpusavyje, tačiau galų gale mano knygoje liko apie milimetrą. Kadangi prabangios atidaromos durys suteiks visišką prieigą prie interjero būsimam aptarnavimui, aš tiesiog karštai priklijavau abi puses ir nušluostęs riebius pirštų atspaudus uždėjau ausinių komplektą ant viršaus - padaryta!
7 žingsnis: tylus apsėdimas
Antrasis prizas pakartotinio naudojimo konkurse
Rekomenduojamas:
„Pasidaryk pats“„Leds Arduino“ruletės žaidimas: 3 žingsniai (su nuotraukomis)
„Pasidaryk pats“37 „Leds Arduino“ruletės žaidimas: Ruletė yra kazino žaidimas, pavadintas prancūziško žodžio, reiškiančio mažą ratą, vardu
„BOSEBerry Pi“interneto radijas: 4 žingsniai (su nuotraukomis)
„BOSEBerry Pi“interneto radijas: man patinka klausytis radijo! Savo namuose naudojau DAB radiją, tačiau radimas buvo šiek tiek nevienodas, o garsas nuolat nutrūko, todėl nusprendžiau sukurti savo interneto radiją. Aplink mano namus ir skaitmeninį brolį turiu stiprų „Wi -Fi“signalą
Profesionali orų stotis naudojant „ESP8266“ir „ESP32 pasidaryk pats“: 9 žingsniai (su nuotraukomis)
Profesionali orų stotis, naudojant „pasidaryk pats“ESP8266 ir ESP32: „LineaMeteoStazione“yra visiška orų stotis, kurią galima sujungti su profesionaliais „Sensirion“jutikliais ir kai kuriais „Davis“prietaiso komponentais (lietaus matuoklis, anemometras)
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su nuotraukomis): 6 žingsniai
„Arduino Halloween Edition“- „Zombies“iššokantis ekranas (žingsniai su paveikslėliais): norite Helovino metu išgąsdinti savo draugus ir sukelti riksmą? O gal tiesiog norite padaryti gerą išdaigą? Šis iššokantis „Zombies“ekranas gali tai padaryti! Šioje instrukcijoje aš išmokysiu jus, kaip lengvai padaryti iššokančius zombius naudojant „Arduino“. HC-SR0
Varžtas - „pasidaryk pats“belaidis įkrovimo naktinis laikrodis (6 žingsniai): 6 žingsniai (su nuotraukomis)
Varžtas - „Pasidaryk pats“belaidis įkrovimo naktinis laikrodis (6 žingsniai): Indukcinis įkrovimas (taip pat žinomas kaip belaidis įkrovimas arba belaidis įkrovimas) yra belaidžio energijos perdavimo tipas. Jis naudoja elektromagnetinę indukciją tiekti elektros energiją nešiojamiesiems įrenginiams. Dažniausia programa yra „Qi“belaidžio įkrovimo st