Mundarija:

24bitli RGB LEDli Emoji/Sprite displeyi: 4 qadam
24bitli RGB LEDli Emoji/Sprite displeyi: 4 qadam

Video: 24bitli RGB LEDli Emoji/Sprite displeyi: 4 qadam

Video: 24bitli RGB LEDli Emoji/Sprite displeyi: 4 qadam
Video: OPPO RENO 10 TOP 10 HIDDEN FEATURES | BEST SETTINGS FOR OPPO RENO 10 5G | CUSTOMIZATIONS FOR RENO 10 2024, Sentyabr
Anonim
Image
Image

O'qituvchi COVID -da sinfga qaytganida va shaxsiy himoya vositalarini kiyish talabasi sifatida men o'quvchilarim yuz ifodalarini ko'ra olmasligini tushundim (men o'rta maktabda dars beraman, lekin boshlang'ich va o'rta maktabga qaytadigan bolalari bor) maktab). Yuzning qalqoni yoki niqobini LED va shakllar yordamida o'zgartirishni o'ylardim, lekin ularni tozalash biroz muammoga aylanib ketishini o'yladim, shuning uchun aql bovar qilmaydigan, emojis va mening reaktsiyalarimni aks ettiruvchi rasmlar. Mana buni qanday amalga oshirganim haqidagi ko'rsatmalarim.

Ta'minotlar

Kerakli jismoniy materiallar

  • 24 bitli RGB LED matritsasi

    https://www.amazon.ca/gp/product/B01DC0IOCK/ref=pp…

  • ESP32
  • simlar
  • kalitlar/tugmalar (ixtiyoriy ravishda, sensorli sensorlardan foydalanish uchun ESPni qayta dasturlashi mumkin)
  • EVA ko'pik (yoki boshqa turdagi ramka)
  • akril (oq, qalinligi 1/4 ")
  • akril (qora, qalinligi 1/8 ")
  • rang berish plastik (ixtiyoriy)

Kerakli dasturiy ta'minot:

  • Arduino
  • Python
  • grafik muharriri (PhotoShop yoki GIMP)

1 -qadam: Lazerni kesish shabloni

Lazerni kesish uchun shablon
Lazerni kesish uchun shablon
Lazerni kesish uchun shablon
Lazerni kesish uchun shablon

Bu erda akril atrofida qutilar yasash uchun lazerli kesish shabloni, u LEDlarni ramkaning bir qismi sifatida himoya qiladi. Men buni 1/8 dyuymli qora akril bilan qildim.

Men oq akrilning qalin qismini (1/4 dyuym) kesmoqchi bo'ldim, lekin men sozlamalarni oxirigacha kesib o'tadigan darajada kuchli emasligini ko'rdim, bu oq rang kutilganidan ko'ra yaxshiroq bo'lib chiqdi. Yorug'likni svetodioddan yaxshiroq tarqatish va yaxshiroq "piksel" yaratish bilan yakunlandi (btw, qiziqarli fakt, "piksel" so'zi Picture Element qisqartmasi - afsuski, ichimdagi o'qituvchi shuni aytishi kerak edi)

2 -qadam: rasmlarni konvertatsiya qilish

Rasmlarni konvertatsiya qilish
Rasmlarni konvertatsiya qilish
Rasmlarni konvertatsiya qilish
Rasmlarni konvertatsiya qilish
Rasmlarni konvertatsiya qilish
Rasmlarni konvertatsiya qilish
Rasmlarni konvertatsiya qilish
Rasmlarni konvertatsiya qilish

Keyingi qadam, ESP32 uchun topilgan RGB LED kodining namunasi bo'lgan Arduino kodida foydalanish uchun ba'zi tasvirlarni o'zgartirish edi (keyingi bosqichda).

Yuqorida keltirilgan Python kodidan foydalanib, RGB LED matritsasida foydalanish uchun mos keladigan o'n oltilik kodni yaratish uchun kodning fayl joylashuvi qismini tahrir qildi (agar siz dasturchi bo'lsangiz, siz LEDlarning ketma -ket ulanganligini va an'anaviy kartezian koordinatalari emas, shuning uchun RGB joylarini to'g'ri aniqlash LED qatorlari o'rtasida zig -zag bo'lishi kerak).

Keyingi sahifadagi kodda tegishli nomlar bilan yangilangan sarlavha ma'lumotlari mavjud.

Yuqoridagi Mario tasviri Internetda topilgan sprite varag'idan olingan, qolganlari PhotoShop -da qo'lda yaratilgan … faqat 16x16 o'lchamdagi tuval va Zoom -ni har tomonlama qilish kerak, va rasmlarni yaratish uchun 1x1 pikselli cho'tkadan foydalaning.

3 -qadam: simlarni ulash va kodlash

Ulanish va kodlash
Ulanish va kodlash
Ulanish va kodlash
Ulanish va kodlash
Ulanish va kodlash
Ulanish va kodlash

Arduino kodi yuqorida keltirilgan va RGB LEDlarini ESP32 (5V va GND) mos keladigan quvvat manbaiga, shuningdek ma'lumotlar havolasiga (P4) ulash kerak edi.

P5 va P15 pinlariga va GNDning boshqa uchiga ulangan tugmalar yordamida (boshqa keraksiz texnikadan olingan). Kod PULLUP to HIGH -ni bajaradi, shuning uchun tugma faollashuvi LOW -HIGH o'zgarishini aniqlasa sodir bo'ladi (shuning uchun tugma pastga tushgandan farqli o'laroq bo'shatilganda).

4 -qadam: Hammasini bir joyga to'plash

Image
Image
Hammasini bir joyga to'plash
Hammasini bir joyga to'plash
Hammasini bir joyga to'plash
Hammasini bir joyga to'plash

Hammasini birlashtirganda, oq akrilning old qismini deraza rangidagi vinil bilan yopib qo'ydi, bu esa unga qora ekran ko'rinishini beradi.

EVA ko'pikli qatlamlar yordamida ramkani kesib oling (men yaratgan kosplay buyumlari uchun materiallar bor edi) va kontaktli tsementdan foydalanganlarni yopishtiring (buyumlarni joylashtirish uchun ikki qatlam).

Uchinchi EVA ko'pikli qatlami kesilgan qismlar bilan qo'shilgan, shunda orqa qism jumboq bo'lagiga to'g'ri keladi.

Bo'yin osongina osib qo'yilishi uchun tasma qo'shildi. Bularning umumiy og'irligi deyarli sezilmaydi.

Jihozni yoqish borasida men ESP32 -ni dasturlash uchun o'rnatilgan mikro USB -ulanishdan foydalanishga qaror qildim va uni cho'ntagimda saqlagan USB quvvat manbaiga ulaganman. Kabelni tasodifan tortib olish muammolarga olib kelmasligini ta'minlash uchun, men mikro USB uchun magnitlangan USB quvvat zaryadlovchi adapterlaridan birini ishlatishni qo'shdim.

Keyingisi nima? Men ESPga mikrofon qo'shmoqchiman, shundan so'ng Knight Rider -dan KITT singari animatsion ovoz balandligi panellarini yaratmoqchiman, shunda talabalar mening ovozimning vizual tasvirini ko'rishadi … bizni kuzatib turing.

Rasm
Rasm
Rasm
Rasm

"Bunga tegib bo'lmaydi" oilaviy tanlovida ikkinchi o'rinni egalladi

Tavsiya: