Mundarija:
- Ta'minotlar
- 1 -qadam: Tasmani yirtish
- 2 -qadam: Dark Sky Pi
- 3 -qadam: Kod
- 4 -qadam: Unicorn HAT va Servo
- 5 -qadam: Eshitish vositasi jingle
- 6 -qadam: yig'ish
- 7 -qadam: Jim obsesyon
Video: 1984 WeatherMan Pi: 7 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:24
Bu ko'chma kassetali pleyer hozirda 80 -yillarning boshlarida "hozirgi sharoitlar" animatsiyasini, haroratni va yomg'ir ehtimoli grafigini tasma oynasi orqali ko'rsatadigan IoT muhitidagi displey. Ob-havo sharoiti o'zgarganda, tepadagi servo-boshqariladigan minigarnituralar ogohlantirish sifatida oldinga va orqaga siljiydi.
Funktsional lentali eshikni ochganimizda, changli asl komponentlar Raspberry Pi Zero W, Pimoroni Unicorn Hat HD (LED Matrix) va kichik servo bilan almashtirilganini ko'rishimiz mumkin. Ob-havo ma'lumotlari aniq joylashuvimga mos keladigan Dark Sky Weather API-ni aniqlaydigan Python skriptidan foydalaniladi.
Bu oddiy, lekin chiroyli ko'rinishga ega va funktsional IoT konstruktsiyasi, u YouTube hisoblagichimning qarama-qarshi stolida joylashgan va meni jimgina ob-havo bilan xabardor qilib turadi.
Ta'minotlar
Raspberry Pi Zero
Pimoroni Unicorn HAT HD
Kichik Servo
1984 yil Hitachi SP-1 shaxsiy stereo va minigarnituralar
USB WiFi adapter
2 mm tishli novda
Sugru (qora va kulrang)
GeoMag magnitlari
1 -qadam: Tasmani yirtish
Sentyabr oyida qaynonam menga bu go'zal eski kassetani berishdi va shu zahotiyoq uning ajoyib ko'rinishi va tugmachalarini sevib qoldim. Haqiqiy yutuq - bu katta lenta oynasi edi - taxminan 15 soniyadan keyin menda o'lchagich bor edi va men uni standart Raspberry Pi HAT (uskuna biriktirilgan) bilan bir xil o'lchamda ekanligini ko'rib hayron bo'ldim.
Bu kashfiyotning o'zi mening kukukli soat loyihamni "qilish" ro'yxatidan pastga tushirish uchun etarli edi va men darhol o'yinchini demontaj qilib ishlay boshladim.
Yiqilish juda yaxshi o'tdi va men uchta alohida qism bilan ishladim - men bir nechta plastmassa qismlarni sindira oldim, lekin ularni bir -biriga yopishtirib bo'lmaydi.
2 -qadam: Dark Sky Pi
Men bir muncha vaqt telefonimda Dark Sky -dan foydalanganman va prognozlarning to'g'riligidan juda taajjublandim, shuning uchun men ushbu loyihada foydalanishim mumkin bo'lgan keng qamrovli API taklif qilishlarini ko'rib, juda xursand bo'ldim. ham yuqoriga!
Birinchidan, https://darksky.net/dev saytiga o'ting va bepul hisob qaydnomasiga ro'yxatdan o'ting - "sinov" hisob qaydnomasi kuniga 1000 ta API so'rovini bajarishga imkon beradi, bu har 1,5 daqiqada yangilanish uchun etarli bo'ladi - tez -tez men uchun ham. Buyuk Britaniyada ob -havoga moyillik darajasi.
Ro'yxatdan o'tgandan so'ng siz "maxfiy kalit" ni olasiz - bu ma'lumotlarga kirish uchun kerak bo'lgan narsa va u Python skriptida ishlatiladi, shuning uchun uni qo'lda saqlang (va bilasizmi, sir).
Men API ma'lumotlarini olish uchun Python -dagi so'rovlar modulidan foydalanadigan YouTube Subscriber Counter -da ishlatilgan skriptni moslashtirishdan boshladim. Men ishlatgan skript GitHub -da, siz faqat Dark Sky API kalitini qo'shishingiz va, albatta, o'zingizning Latitude & Longitude qiymatlarini almashtirishingiz kerak bo'ladi.
Hozirgi ob -havo ma'lumotlarini o'chirish juda oddiy edi va men "Belgilar", "Yomg'irlar ehtimoli" va "Harorat" elementlaridan foydalanishga qaror qildim.
3 -qadam: Kod
Agar siz men ishlatgan kodni qayta ishlatishni yoki tramplindan chiqishni xohlasangiz, u GitHub -dagi WeatherMan omborida joylashgan yoki "ob -havo" papkasini Raspberry Pi -dagi "pi" jildiga yuklab oling.
Asosiy skript funktsiyalari quyidagilar:
ob -havo
Bu Dark Sky -dan ob -havo ma'lumotlarini chiqaradigan asosiy skript. Siz https://darksky.net/dev saytida Dark Sky hisobini o'rnatishingiz va maxfiy kalitingizni ko'rsatilgan skriptga qo'yishingiz kerak. Sizni qiziqtirgan ob -havo joylashuvining kengligi va uzunligini ham kiritishingiz kerak bo'ladi - buni Google Xaritalarda topish mumkin, sichqonchaning o'ng tugmasi bilan bosing va "Bu erda nima bor?" va siz joylashuvning uzun/uzunligini ko'rsatadigan pop-upni olasiz.
API ma'lumotlarini olgandan so'ng, weatherman.py parametrlarni bir nechta kichik skriptlarga o'tkazadi, shunda animatsiyalar va naushniklar chayqaladi.
Boshlang'ich faylni tahrirlash orqali skript ishga tushganda o'rnatiladi …
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
… va qo'shib:
@python3 /home/pi/weather/weatherman.py &
fayl oxirida.
icon.py
Bu skript weatherman.py skriptidan "hozirgi shartlar" parametrini oladi va undan 16x16 ob -havo animatsiyasini ko'rsatish uchun foydalanadi - bularning hammasi "ikonkalar" papkasida saqlanadi va standart Unicorn HAT HD hujjatlarining bir qismidir.-p.webp
telefonlar.py
Agar oxirgi API talabidan ob -havo sharoiti o'zgargan bo'lsa (yoki bu yangi yuklash bo'lsa ham, qor yog'magan bo'lsa), bu skript weatherman.py dan chaqiriladi va sizga shartlar borligini bildirish uchun servoga oldinga va orqaga "jingle" qilishni buyuradi. o'zgartirildi.
precip.py
Bu skript weatherman.py -dan "yog'ingarchilik ehtimoli" parametrini qabul qiladi va % ehtimollik bilan bog'liq bo'lgan Unicorn HAT -da ko'k rangdagi chiziqlarni ko'rsatadi. Agar 100% barcha 16 qatorlar ko'k rangda yonib tursa, 50% faqat 8 qatorda bo'lsa.
temp.py
Boshqa standart Pimoroni skriptlari, bu weatherman.py -dan "temp" parametrini oladi va uni aylantiruvchi matn bilan ko'rsatadi. Bu Herkules truetype shriftini ("shriftlar" papkasida) ishlatish uchun o'rnatiladi, lekin agar xohlasangiz, standart shriftdan foydalanish mumkin. Siz hatto uni yaxshilashingiz mumkin, shunda ko'rsatilgan matn harorat qiymatiga qarab rangini o'zgartiradi!
4 -qadam: Unicorn HAT va Servo
Ob -havo ma'lumotlarini ushlab turish juda yaxshi edi, lekin endi men uni Unicorn HAT -da ko'rsatishim kerak edi. Men Internetdagi ob -havo belgilarining turli xil to'plamlarini ko'rib chiqdim va Pimoroni hujjatlarida ob -havo namunasi va ob -havo ko'rsatuvlari mavjudligini anglab etgach, ularni moslashtirib qo'ydim.
Bu juda katta miqdordagi ishni tejab qoldi va men tezda ishlay boshladim, hozirgi sharoitlar uchun animatsion belgi, harorat uchun bir nechta aylantiruvchi matn va % yog'ingarchilik grafigi (ba'zi engil matematikalarni o'z ichiga olgan). Men skriptlarni alohida saqladim va parametrlarni oldinga va orqaga o'tkazish uchun Pythonning Subprocess modulidan foydalandim.
Servo qo'shish bu ogohlantirishlar uchun ideal vosita edi, chunki u biroz shovqin qiladi va juda zerikarli bo'lmasdan ko'zni qamashtiradi. HAT allaqachon Pi -ning ko'p pimlarini olgani uchun men puls kengligi modulyatsiyasi yordamida servo harakatini nazorat qilish uchun 17 -pin yordamida servo kabellarni taxtaning pastki qismiga lehimladim.
Servodan Pi -dan quvvat olish ideal emas edi, lekin u faqat bir lahzalik chayqalish uchun ishlatilgan, shuning uchun bu erda aniqlik katta ahamiyatga ega emas edi. U diagrammada ko'rsatilgandek, Brown kabeli GND ga, Qizil 5v ga va Orange (boshqaruv kabeli) GPIO17 ga ulangan.
Oxir -oqibat, men GIMP -da ob -havo haqidagi ba'zi animatsion fayllarni tahrir qildim, o'z shaxsiy teginishimni qo'shdim, masalan, oyda ko'rshapalaklar va quyoshda tabassum. Men, shuningdek, o'yin -kulgi uchun ishga tushirish uchun "Old Tech New Spec" kaset g'ildiragining odatiy animatsiyasini qo'shdim.
5 -qadam: Eshitish vositasi jingle
WeatherManning fikri shundan iborat ediki, u mening stolida passiv o'tirib, vaqti -vaqti bilan ob -havoni ko'rsatib turardi, lekin men buni biroz ko'proq qilishni xohlardim! U bilan birga kelgan minigarnituralar tushdi, lekin 80 -yillarning klassikasi edi, shuning uchun men ular bilan biror narsa qilishga qaror qildim. Barcha kabellarni echib, singan qismini issiq yopishtirgandan so'ng, menda uch qism, 3,5 mm vilkasi, olmos shaklidagi tugma va telefonlarning egiluvchan metall tasmasi qoldi.
Agar men telefonlarni qurilmaning yuqori qismiga o'rnatishning boshqa usulini topsam, ularni servo bilan oldinga va orqaga burib, qo'shimcha bildirishnoma sifatida ishlatishim mumkin edi.
Birinchidan, men 3,5 mm vilkasini ochdim va olmos kalitini demontaj qildim, keyin ularni tishli novda ustiga qo'ydim. Keyin men plastmassa ulagichga yong'oq yopishtirdim, shunda tayoq servo ustida ishonchli (va to'g'ri) o'tirishi mumkin edi. Tayoqning boshqa uchiga men boshqa yong'oq qo'shdim. Oxir -oqibat men kulrang Sugru -dan tayoqning yuqori qismini minigarnituraga bog'lash uchun ishlatardim, shuningdek, uning pastki qismidagi yong'oqni yopdim. Agar siz Sugru haqida eshitmagan bo'lsangiz, u mayda -chuyda qoplarga solingan yopishtiruvchi yopishtiruvchi bo'lib, u Play -Doh kabi qolib ketadi, lekin yopishqoq kabi yopishib qoladi va plastmassa kabi qattiq bo'ladi!
Yaqinda sovuq ob -havo sharoitida Sugru bir necha kun to'liq qotib qoldi, lekin naushniklar va ularning stendi tez orada yakuniy yig'ilishga tayyor edi.
6 -qadam: yig'ish
Pi, HAT va Servo hammasi skameykada yaxshi ishlaydilar, shuning uchun keyingi ish ularni bu ishga kirish edi. Katta tarkibiy qismlarni ishga tushirishdan oldin men kosmetika vositalarini ajratish uchun kulrang Sugru-ni ishlatib, ovoz balandligi, naushnik rozetkasi va "metall tasma" kalitini o'rnatdim. Men, shuningdek, Play, Stop, FF & Rew tugmalarini plastik kanalga yopishtirdim, shunda ular kerakli joyda qoladilar. Bu safar hech qanday tugmachani qaytadan ishlatmaslik sharmandalik edi, lekin ularni boshqaradigan hech narsa yo'q edi!
Men kulrang Sugru -ning oxirgi qismini ishlatib, servoni ushlab turdim, uning milini naushnikning kattalashgan uyasi teshib o'tdi. Ishning ikkinchi yarmiga o'tsam, men HAT va Pi yig'ilishini lenta eshigiga mahkamlash uchun qora Sugru ishlatardim, shunda ular ochiladi. Menga eshikni mahkam yopib qo'yish uchun GeoMag magnitini mahkamlagani juda yoqdi.
Ikkala yarmini birlashtirish - asabiy ish edi, chunki men Pi va Servo bir -biriga qarama -qarshilik qiladi deb qo'rqardim, lekin oxirida millimetrga yaqin bo'sh joy qoldi, mening kitobimda ko'p. Eshikning eshiklari kelajakda xizmat ko'rsatish uchun ichki makonga to'liq kirishga imkon bergani uchun, men faqat ikkita yarmini bir -biriga yopishtirib qo'ydim va yog'li barmoq izlarimni artib bo'lgach, minigarnituraning yuqori qismiga o'rnatib qo'ydim!
7 -qadam: Jim obsesyon
Qayta ishlatish tanlovining ikkinchi mukofoti
Tavsiya:
Batareya bilan ishlaydigan ofis. Quyosh panellari va shamol turbinasi: Sharq/G'arbni avtomatik almashtirish bilan quyosh tizimi: 11 qadam (rasmlar bilan)
Batareya bilan ishlaydigan ofis. Quyosh tizimi Sharq/G'arbning avtomatik panellari va shamol turbinasi bilan almashinuvi bilan: Loyiha: 200 kvadrat metrli ofis batareyali bo'lishi kerak. Ofis, shuningdek, ushbu tizim uchun zarur bo'lgan barcha tekshirgichlar, batareyalar va komponentlarni o'z ichiga olishi kerak. Quyosh va shamol energiyasi batareyalarni zaryad qiladi. Faqat kichik muammo bor
NaTaLia ob -havo stantsiyasi: Arduino quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasi to'g'ri yo'l bilan amalga oshirildi: 8 qadam (rasmlar bilan)
NaTaLia ob -havo stantsiyasi: Arduino quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasi to'g'ri yo'lga qo'yildi: 1 yil davomida 2 xil joyda muvaffaqiyatli ishlaganimdan so'ng, men quyosh energiyasi bilan ishlaydigan ob -havo stantsiyasining loyiha rejalari bilan bo'lishaman va uning qanday qilib uzoq vaqt yashay oladigan tizimga aylanganini tushuntiraman. quyosh energiyasidan o'tgan davrlar. Agar ergashsangiz
Twinky bilan eng zo'r Arduino robot bilan tanishing: 7 qadam (rasmlar bilan)
Twinky bilan eng zo'r Arduino roboti bilan tanishing: Salom, men sizga "Jibo" ni o'zim qanday yaratganimni o'rgataman. lekin "Twinky" deb nomlangan, men buni ochib bermoqchiman … Bu nusxa emas! Men ikkiyuzlamachilik bilan qurardim va shundan keyingina shunga o'xshash narsaning mavjudligini tushundim: bu erda
OpenLH: Biologiya bilan ijodiy tajriba o'tkazish uchun ochiq suyuqlik bilan ishlash tizimi: 9 qadam (rasmlar bilan)
OpenLH: Biologiya bilan ijodiy eksperimentlar uchun ochiq suyuqlik bilan ishlash tizimi: Biz bu ishni moddiy, ko'milgan va mujassamlangan o'zaro ta'sir xalqaro konferentsiyasida (TEI 2019) taqdim etganimizdan faxrlanamiz. Tempe, Arizona, AQSh | 17-20 mart. Hamma yig'ish fayllari va qo'llanmalar bu erda mavjud. Oxirgi kod versiyasi
Vaqt o'tishi bilan rasmlar uchun kamera osonlashtirildi: 22 qadam (rasmlar bilan)
Vaqt o'tishi bilan suratga olish uchun kamera osonlashtirildi. Men boshqa ko'rsatmalarni vaqtni tez suratga olish filmlarini suratga olishni tekshirib ko'rdim. U kino qismini juda yaxshi yoritgan. U filmlar yaratish uchun yuklab olishingiz mumkin bo'lgan bepul dasturiy ta'minot haqida gapirib berdi. Men o'z -o'zimga aytdim, men o'ylaymanki, agar men qila olsam