Mundarija:
- 1 -qadam: lazerni kesish
- 2 -qadam: LEDlarni o'rnating
- 3 -qadam: yig'ish
- 4 -qadam: Lehimlash
- 5 -qadam: SPI displeyini o'rnating
- 6 -qadam: Pi -ni o'rnating
- 7 -qadam: simlar va elektr ta'minoti
- 8 -qadam: Pi -ni o'rnating
- 9 -qadam: Python kodi, test va simulyator
- 10 -qadam: Yakuniy sinov va qoplama
- 11 -qadam: Natija
Video: Yog'ochli LED displey Raspberry Pi Zero tomonidan quvvatlanadi: 11 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:22
Ushbu loyiha 78x35 sm o'lchamdagi 20x10 pikselli WS2812 asosidagi LED displeyni amalga oshiradi, uni retro o'yinlarni o'ynash uchun yashash xonasiga osongina o'rnatish mumkin. Ushbu matritsaning birinchi versiyasi 2016 yilda qurilgan va boshqa ko'plab odamlar tomonidan qayta tiklangan. Bu tajriba matritsaning yangi versiyasini yaratish va uni instablesables.com saytiga olib kelish uchun barcha yaxshilanishlarni yakunlash uchun ishlatilgan. Asosiy yangi xususiyatlar - bu Raspberry Pi Zero -ning yangilanishi va Pi A plus Arduino -dan foydalanish va oldingi katta boshqaruvni Bluetooth -gamepad bilan almashtirish. Bundan tashqari, dasturiy ta'minot takomillashtirildi, simulyator, shu jumladan, matritsaning apparatiga kirish imkoni bo'lmasa ham, kompyuterda kodni ishlab chiqish imkonini beradi.
Ushbu LED matritsaning o'ziga xos xususiyati - bu LEDni o'chirish uchun uni yopish va yashirish uchun ishlatiladigan maxsus yog'och qoplamasi. Bu texnologik bo'lmagan odamlarni qabul qilish omilini oshiradi;-) Albatta, agar bu maxsus qoplama sizning mamlakatingizda mavjud bo'lmasa, siz LEDlarni yashirish uchun akril kabi boshqa tarqoq materiallardan ham foydalanishingiz mumkin. Loyihani qayta qurishni osonlashtirish uchun kelajakda ba'zi asosiy qismlarni taqdim etish ham rejalashtirilgan.
Ta'minot:
- Raspberry Pi Zero W (ba'zi moslashuvlar bilan boshqa barcha modellar ham ishlaydi)
- 200 LED/s (30 LED/m bo'lgan WS2812B LED chiziqlar)
- MAX7219 bilan 4x SPI LED matritsali displey
- Kabellar
- Bluetooth geympad (masalan, bu Pimoroni)
- Kamida 5A kuchlanishli 5V quvvat manbai
- MDF yog'och lazer bilan kesish uchun
- Yog'och qoplamali yoki diffuzion akril plastinka
- Kondensator, rezistor
- Ba'zi vintlardek
1 -qadam: lazerni kesish
Matritsaning tayanch tuzilishi 3 mm qalinlikdagi MDF yog'ochdan yasalgan va lazer bilan kesilgan. Agar sizda lazerli kesuvchi bo'lmasa, siz ponoko.com yoki formulor.de kabi onlayn xizmatdan foydalanishingiz yoki o'zingizning muhitingizdagi keyingi fablab/makerspace bilan bog'lanishingiz mumkin. Bundan tashqari, karton yoki boshqa engil materiallardan foydalanish mumkin, lekin biriktirilgan fayllar 3 mm qalinlikdagi dizaynga ega, shuning uchun ingichka yoki qalinroq materiallar fayllarni qayta loyihalashni talab qiladi. Dizayn Fusion 360 -da qilingan. Aksariyat qismlar bir -biriga mahkam o'rnashganda ushlab turiladi, faqat tashqi chegaralar kabi qismlarni yog'och elim yordamida yopishtirish kerak. Har qanday elim ishlatishdan oldin matritsangiz to'liq ishlaganligiga ishonch hosil qiling! Bundan tashqari, yog'och qoplamani yopishtirish kerak, lekin bu hamma narsa ishlashini ta'minlaganidan keyingi oxirgi qadam.
Orqa panelning o'ng (pastki) tomonida elektron komponentlarni matritsaga mahkamlash uchun kesilgan segment mavjud va shpon yopishtirilganda ham bu komponentlarga kira oladi.
2 -qadam: LEDlarni o'rnating
LED chiziqlar 30 LED/m WS2812 standart chiziqlar bo'lib, ular Amazon, eBay yoki butun dunyodagi boshqa onlayn -do'konlarda mavjud. Bu, odatda, mavjud bo'lgan eng arzon LED tasmasi. Agar siz boshqa LEDlarni ishlatmoqchi bo'lsangiz, matritsaga mos keladigan 30 LED/m masofani ta'minlashingiz kerak. Lazerli kesilgan segmentlarda LED kengligi 10 sm bo'lgan kichik kesilgan joylar mavjud. Bu LED chiziqlar orqa tarafida ikki tomonlama lentaga ega, shuning uchun ularni aniq joylashuvdan so'ng to'g'ridan-to'g'ri MDFga yopishtirish mumkin. Lentani ishlatishdan oldin har bir chiziqning to'g'ri yo'nalishini tekshiring (DIN-DOUT yo'nalishi).
Ulanish sxemasi zig-zag, shuning uchun oxirida matritsaga faqat bitta kirish pimi bor va kabel uzunligi iloji boricha qisqa. Quvvatni to'g'ri taqsimlash va matritsaning yuqori qismidagi kabelni kamaytirish uchun har bir LED chizig'i matritsaning pastki qismida 5V va GND ga ulangan. 5V va GND chizig'ini tarqatish uchun siz bitta simli yoki PCB prototipini ishlatishingiz mumkin.
3 -qadam: yig'ish
Portlash ko'rinishi yig'ilish uchun to'g'ri bo'laklarni aniqlashga yordam beradi. Bosqichma-bosqich o'rnatish rasmlariga amal qiling. Orqa panelda uzun yon devorlarni va ba'zi qisqa devorlarni ushlab turish uchun o'zaro faoliyat tuzilmalar mavjud. Agar siz qismlarni o'rnatishda muammolarga duch kelsangiz, uni tuzatish uchun qumli qog'ozdan foydalaning.
4 -qadam: Lehimlash
U erda turli chiziqlar uchun elektr uzatish liniyalarini lehimlashning turli usullari mavjud. Turli simlarni lehimlash uchun siz bitta simli yoki misdan yasalgan oddiy temir yo'lni ishlatishingiz mumkin. Bunday holda, elektr relslarni chiziqlarga yo'naltirish uchun PCB prototiplari bo'laklari ishlatilgan. WS2812B chiziqlari allaqachon alohida quvvat kabellariga ega, ular yordamida siz temir yo'lni birinchi chiziqli kirishga ulashingiz mumkin (rasmning chap tomonida).
5 -qadam: SPI displeyini o'rnating
O'yin ballari va matnni ko'rsatish uchun MAX7219 LED drayveriga asoslangan LED matritsali displey ishlatiladi. U SPI (ketma -ket periferik interfeys) orqali Raspberry Pi -ga ulangan. 8x8 o'lchamdagi to'rtta displey 32x8 pikselli nuqta matritsali displeyga birlashtirilgan. Masalan, 8x8 pikselli displeylarni sotib olishingiz mumkin. eBay -da 32x8 pikselli birlashtirilgan displeylar ham mavjud. Bundan tashqari, sizda turli xil rang variantlari mavjud; bu holda qizil displeylar ishlatilgan. SPI siljish registri kabi ishlaganligi sababli, displeylar ketma -ket bir -biriga ulanadi, bu birinchi matritsadagi ma'lumotlarni ikkinchisiga va shu bilan birga displeyning o'ng tomonidan boshlanadi.
Bu displeyni faqat tashqi tomondan o'qish mumkin, agar u to'g'ridan -to'g'ri qoplama qatlamining orqasida joylashgan bo'lsa. Aks holda, faqat qizil loyqalik ko'rinadi. Shunday qilib, siz uni orqa panel va matritsa yuzasi orasidagi masofa 30 mm bo'lgan orqa panelning kesilgan segmentining yuqori qismiga o'rnatishingiz kerak. Yog'ochdan yasalgan qismlar va vintlardek 19 mm masofani orqa va tenglikni o'rtasida moslashtirish uchun ishlatganman, lekin siz har qanday tashqi bo'shliqlarni ham ishlatishingiz mumkin.
Displeyni ulash 7 -bosqichda ko'rsatilgan.
6 -qadam: Pi -ni o'rnating
Ushbu o'rnatishda Raspberry Pi Zero ishlatiladi. Siz boshqa Raspberry Pi modelini ham ishlatishingiz mumkin, lekin Wi -Fi va Bluetooth -ning yangi versiyalari simsiz geympadlarga osongina ulanish va dasturlashni soddalashtirish imkonini beradi. Siz Pi -ni kamida ikkita vint va kichik ajratgich yordamida orqa panelda mahkamlashingiz mumkin.
Raspberry Pi Zero W uchun quyidagi pinlar ishlatiladi:
- PIN 2: 5V
- PIN 6: GND
- GPIO18 -> LED chiziqlar
- GPIO11: SPI CLK -> MAX7219 matritsali CLK
- GPIO10: SPI MOSI -> DIN MAX7219 matritsasi
- GPIO8: SPI CS -> MAX7219 matritsa CS
Ba'zi odamlar LEDlar uchun GPIO18 -dan foydalanish bilan bog'liq muammolar haqida xabar berishdi. Iltimos, bu holda GPIO21 dan foydalaning. Agar shunday bo'lsa, siz 21 -satrdagi kodni pixel_pin = board. D21 ga o'zgartirishingiz kerak.
WS2812B tasmasi bu erda o'z xususiyatlaridan tashqarida ishlatiladi. Odatda bu DINda 5V mantiqiy darajani talab qiladi, lekin Pi faqat 3, 3V ni ta'minlaydi. Agar bu ko'p hollarda ishlasa ham, buni tasmangiz bilan sinab ko'rishingiz kerak. Agar u ishlamasa, siz Pi va tasma o'rtasida 74HCT245 yoki boshqa 3V3 dan 5V gacha bo'lgan konvertorni qo'shishingiz mumkin.
7 -qadam: simlar va elektr ta'minoti
Kabellarni ulash sxemaga muvofiq amalga oshiriladi. Quvvat manbai 5V doimiy quvvat manbai.
Matritsani oson yoqish/o'chirish uchun elektr vilkasi va matritsa sxemalari o'rtasida kalit qo'shiladi. Shunga qaramay, Raspberry Pi qattiq o'chirishni yoqtirmagani uchun, matritsani almashtirishdan oldin Gamepad orqali Pi -ni xavfsiz o'chirish uchun dasturiy ta'minotda o'chirish imkoniyati mavjud.
LED chiziqli DIN pin rezistor orqali Pi ga ulanadi, shuningdek, quvvat manbaini tamponlash uchun katta kondansatör (4700 uF) qo'shiladi. Qo'shimcha ma'lumot uchun Adafruit Überguide -ni tekshiring.
LEDlar har bir LED uchun 60mA maksimal oqimni iste'mol qiladilar, shuning uchun maksimal oqim 200x60mA = 12A bo'lishi mumkin !!! Yorqinlikni kamaytirib, barcha LEDlarni to'liq oq rangda ishlatmasak, bu nazariy jihatdan ko'proq qiymat, lekin bu maksimal oqimga erishilgan kodga bog'liq. Shuning uchun etarlicha katta quvvat manbaini tanlash juda muhim. Ko'pgina ilovalar uchun 5V/5A (25W) quvvat manbai etarli bo'lishi kerak.
Orqa panelni Pi va Matrix displeyi yordamida mahkamlash uchun, yog'ochdan yasalgan kichik bo'laklarni qirralarning bo'ylab siljitish, shuningdek, orqa panelni joyida ushlab turish uchun vintlarni ishlatish mumkin.
8 -qadam: Pi -ni o'rnating
1. Raspberrypi.org saytidan so'nggi Raspbian lite tasvirini yuklab oling
2. Uni va SD -kartaga nusxalash, 8 Gb etarli. Masalan, foydalanishingiz mumkin. buni qilish uchun etcher.
3. Pi -ni SD -karta bilan yuklashdan oldin, WIFI va ssh -ga kirishni tayyorlang
4. SD -kartani istalgan kompyuterga joylashtiring, yuklash papkasiga kirish mumkin
5. Quyidagi satrlarni wpa_supplicant.conf fayliga ko'chiring (agar mavjud bo'lmasa, uni yarating) va Wi -Fi va mintaqangizga qarab parametrlarni o'zgartiring.
ctrl_interface = DIR =/var/run/wpa_supplicant GROUP = netdev
mamlakat = AQSh update_config = 1 tarmoq = {ssid = "Uy Wi-Fi" psk = "mypassword" key_mgmt = WPA-PSK}
6. Sshga kirishni yoqish uchun yuklash uchun ssh deb nomlangan bo'sh faylni (kengaytmasiz) qo'shing
7. Endi SD -kartani Raspberry Pi -ga joylashtiring va uni yuklang. Pi -ning IP -manzilini olish uchun Wi -Fi routeringizni tekshiring
8. terminali (Linux, Mac) yoki boshqalar yordamida Pi ga SSH ulanishini boshlang. Windows uchun macun. Pi IP manzilini 192.168.x.y o'rniga kiriting
9. Pi -ni yangilang (biroz vaqt ketadi!)
sudo apt-get yangilanishi
sudo apt-get upgrade
10. Pip va sozlash vositasini o'rnating
sudo apt-get python3-pip ni o'rnating
sudo pip3 install -setuptools -ni yangilang
11. Neopixel drayverini, ws281x lib, pygame va libsdl -ni o'rnating
sudo pip3 rpi_ws281x adafruit-circuitpython-neopixel-ni o'rnating
sudo pip3 pygame o'rnatish sudo apt-get install libsdl1.2-dev sudo pip3 install-luma.led_matrix-ni yangilang
12. Raps-config-ga qo'ng'iroq qilib, SPI-ni yoqing, 5 Interfacing Options / P4 SPI / Enable-ga o'ting.
sudo raspi-config
13. Bluetooth Gamepad -ni qo'shing
sudo bluetoothctl
[bluetooth]# bluetooth -da# agent [bluetooth] -da# ulanishi mumkin [bluetooth -da]# skanerlash: aa: bb: cc: dd: ee: ff [bluetooth]# ishonch aa: bb: cc: dd: ee: ff [bluetooth]# ulanish aa: bb: cc: dd: ee: ff [bluetooth]# chiqish
bu erda aa: bb: cc: dd: ee: ff - bluetooth geympadingizning MAC libosi. Bu manzil "skanerlash" buyrug'i chaqirilgandan keyin ko'rsatilishi kerak. Bluetooth -kontrolleringiz ulanishga tayyor ekanligiga ishonch hosil qiling, buni qanday qilish kerakligi tekshirgich qo'llanmasiga qarang.
14. Endi siz Pi orqali ulanishingiz mumkin, standart parol - malina (Windows foydalanuvchilari Putty -dan foydalanishlari mumkin):
9 -qadam: Python kodi, test va simulyator
Kod Github -da mavjud. games_pi_only.py va barcha bmp fayllari kerak.
git clone href = https://github.com/makeTVee/ledmatrix/tree/master/python/pi_only
Kodda matritsani simulyatsiya qilish uchun pygame yordamida Pi tashqarisida simulyatsiya rejimida ishlash imkoniyati mavjud. Bu matritsa apparatiga to'g'ridan -to'g'ri kirmasdan yangi funktsiyalarni ishlab chiqish uchun juda foydali. Bundan tashqari, disk raskadrovka qilish ancha oson. Simulyatsiya rejimini yoqish uchun siz PI konstantasini o'rnatishingiz kerak (15 -qator):
PI = noto'g'ri
Ushbu simulyatsiya rejimida, Bluetooth o'yin paneli o'rniga klaviatura ishlatiladi. 1, 2, 3, 4 tugmachalari geympadning A, B, X, Y xaritalari, yo'nalish uchun o'q tugmalari, boshlash uchun "s" va tanlash uchun "x" xaritasi bilan belgilanadi. Kompyuteringizda ishlab chiqish uchun siz standart muharrirni, konsolni yoki Micosoft Visual Studio Code yoki Jetbrain PyCharm kabi ba'zi integratsiyalashgan ID -lardan foydalanishingiz mumkin.
Agar siz matris va Raspberry Pi dan foydalansangiz, quyidagilarni aniqlashingiz kerak bo'ladi.
PI = To'g'ri
Kodni Raspberry Pi -ga nusxalash uchun siz scp buyrug'idan foydalanishingiz mumkin (Windows WinSCP). Konsol oynasini oching, Github fayllari joylashgan papkaga o'ting va qo'ng'iroq qiling
scp games_pi_only [email protected]:/home/pi
scp *.bmp [email protected]:/uy/pi
keyin ssh orqali Pi -ga ulaning (Windows foydalanuvchilari Putty -dan foydalanishlari mumkin):
muvaffaqiyatli kirgandan so'ng, siz qo'ng'iroq qilib, python kodini ishga tushirishingiz mumkin:
sudo python3 games_pi_only.py
Agar kod to'g'ri ishlayotgan bo'lsa, qo'ng'iroq qilib, avtomatik ishga tushirishni yoqishingiz mumkin:
sudo nano /etc/rc.local
va 0 chiqishidan oldin quyidagi qatorni qo'shing:
/usr/bin/nice -n -20 python3 /home/pi/games_pi_only.py &
Saqlash (Ctrl+O) va chiqish (Ctrl+X)
10 -qadam: Yakuniy sinov va qoplama
Qoplama old tomondan yopishtirilmasdan oldin, barcha LEDlarning ishlashini ta'minlash uchun matritsani tekshirish kerak. Shpon yopishtirilmasdan oldin biror narsani tuzatish ancha oson.
Ishlatilgan yog'och qoplamasi Microwood deb nomlangan maxsus chinor qoplamali qog'oz bo'lib, u bir tomoni qog'oz bilan qoplangan va qalinligi 0,1 mm. Qog'oz tomoni to'g'ridan -to'g'ri MDF -ga standart suvsiz qog'ozli elim yordamida yopishtirilishi mumkin.
11 -qadam: Natija
O'yin -kulgidan zavqlaning va zavqlaning!
Raspberry Pi tanlovining bosh mukofoti - 2020
Tavsiya:
Mini IMac G4 tekis paneli - NUC tomonidan quvvatlanadi: 9 qadam (rasmlar bilan)
Mini IMac G4 tekis paneli - NUC tomonidan quvvatlanadi: Kirish Men ushbu qurilish uchun ilhom beruvchi bir nechta loyihalarni o'tkazdim. Biri o'zini dunyodagi eng kichik ishlaydigan iMac deb da'vo qilmoqda, lekin aslida bu Raspberry Pi bo'lib, u Linux tarqatilishini MacOS mavzusida boshqaradi va haqiqiy M ni ishga tushira olmaydi
Yorqin havo-ko'pikli soat; ESP8266 tomonidan quvvatlanadi: 7 qadam (rasmlar bilan)
Yorqin havo-ko'pikli soat; ESP8266 tomonidan quvvatlanadi: "miltillovchi havo-pufakchali soat" vaqtni va ba'zi grafikalarni yoritilgan havo pufakchalari orqali ko'rsatadi. Led matritsali displeydan farqli o'laroq, silliq siljigan, porlab turgan havo pufakchalari menga tasalli beradi. 90-yillarning boshlarida men "pufakchali displey" ni tasavvur qilardim. Olib tashlash
An'anaviy Xitoy rasmlari NeoPixel devor san'ati (Arduino tomonidan quvvatlanadi): 6 qadam (rasmlar bilan)
An'anaviy xitoy rasmlari NeoPixel devor san'ati (Arduino tomonidan ishlab chiqarilgan): O'zingizni devoringizni biroz zerikarli his qilyapsizmi? Keling, bugun Arduino tomonidan yaratilgan chiroyli va oson devor rasmini yarataylik! Siz qo'lingizni ramka oldida silkitib, sehrni kutishingiz kerak! Ushbu darsda biz o'z qo'llarimiz bilan qanday qilib yaratishni muhokama qilamiz
Yog'ochli LED soat: 5 qadam (rasmlar bilan)
Yog'ochli LED soat: yog'ochdan yasalgan LED soat zerikarli yog'och qutiga o'xshaydi, bundan tashqari, vaqt old tomondan porlab turadi. Ko'rish uchun kulrang plastmassa o'rniga sizda chiroyli yog'och bor. U hali ham o'z funktsiyalarini saqlab qoladi, shu jumladan
Hosildorlikni kuzatuvchi - Raspberry Pi tomonidan quvvatlanadi: 9 qadam (rasmlar bilan)
Hosildorlikni kuzatuvchi - Raspberry Pi tomonidan quvvatlanadi: Hosildorlikni kuzatuvchi - bu sehrli ko'zgu, lekin u vaqtni, ob -havoni va rag'batlantiruvchi taklifni aks ettirish o'rniga 4 narsani aks ettiradi; Kompyuteringiz va telefoningizda samarali materiallarga sarflagan vaqtingizning foizi. o'sha kuni. (RescueTime) Yo