Mundarija:
Video: Arduino Uno yordamida LED matritsali massivni boshqarish (Arduino bilan ishlaydigan robotli yuz): 4 qadam (rasmlar bilan)
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:28
Bu ko'rsatma Arduino Uno yordamida 8x8 LEDli matritsalar qatorini qanday boshqarishni ko'rsatadi. Ushbu qo'llanma o'z loyihalaringiz uchun oddiy (va nisbatan arzon displey) yaratish uchun ishlatilishi mumkin. Shu tarzda siz harflar, raqamlar yoki maxsus animatsiyalarni ko'rsatishingiz mumkin.
Bizning robot loyihalarimizdan birida ishlatiladigan 5 ta matritsali massiv ("Robo da Alegriya") bu texnologiyani tushuntirish uchun namuna sifatida ishlatiladi. Siz ushbu loyiha haqida ko'proq ma'lumotni quyidagi havolalarda topishingiz mumkin:
www.instructables.com/id/Joy-Robot-Rob%C3%B4-Da-Alegria-Open-Source-3D-Printed-A/
hackaday.io/project/12873-rob-da-alegria-joy-robot
github.com/ferauche/RoboAlegria
www.facebook.com/robodaalegria/O'quv qo'llanmada keltirilgan kodning birinchi versiyasi uchun mas'ul bo'lgan yuqorida aytilgan loyihada ishtirok etgan boshqa guruh a'zolariga alohida minnatdorchilik bildiramiz: • Tiago Farauche • Diego Avgustus • Yhan Kristian
1 -qadam: komponentlar
Loyihada quyidagi komponentlar ishlatilgan:
- Arduino Uno (sotib olish)
- MAX7219 drayveri bilan 8x8 LED matritsali massiv (x5) (sotib olish)
- Ayoldan ayolga o'tish simlari (har biri 5 ta kabeldan 4 ta o'tish moslamasi)
- Erkak-otadan jumper simlari (1 ta 5 ta kabel)
- 2 mm akril varaq (komponentlarni mahkamlash uchun ixtiyoriy)
- M2 x 10 mm murvat (x20) (komponentlarni mahkamlash uchun ixtiyoriy)
- M2 x 1, 5 mm yong'oqlar (x20) (komponentlarni mahkamlash uchun ixtiyoriy)
- Kompyuter (Arduino kodini tuzish va yuklash uchun)
- Ijodkorlik
E'tibor bering, sizga ikkita turdagi o'tish moslamalari kerak bo'ladi: matrisalar orasidagi ulanish uchun urg'ochi-urg'ochi va Arduino-ga matritsani ulash uchun erkak-urg'ochi.
Komponentlar soni siz nazarda tutgan tuzilishga qarab farq qilishi mumkin.
2 -qadam: yig'ish
Barcha komponentlarni sxemaga muvofiq ulang. Birinchi matritsani Arduino -ga va har bir matritsani qatordagi keyingi matritsaga ulash uchun sizga bir nechta o'tish simlari kerak bo'ladi.
Arduino Pinout:
- Arduino raqamli pin 13 = birinchi displeyning DIN
- Arduino raqamli pin 12 = birinchi ekranning CLK
- Arduino raqamli pin 11 = birinchi displeyning CS
- Arduino 5V pin = Birinchi displeyning Vcc
- Arduino GND pin = Birinchi displeyning Gnd pimi
Bundan tashqari, har bir displeyni ma'lum bir pozitsiyada joylashtirishni xohlashingiz mumkin. Buning uchun siz akril varaqni ishlatishingiz mumkin, har bir murvat va yong'oqni (har bir displey uchun to'rttadan) va har bir komponentni joyiga qo'ying, kontaktlarning zanglashiga hech qanday asbob kerak emas, lekin agar xohlasangiz, sizga tornavida yoki o'tkir asbob kerak bo'ladi. ba'zi murvat va yong'oqlar bo'lgan sirtga. Bizning misolimizda, beshta displey yuz shaklida joylashtirilgan (ikki ko'z va og'iz). USB kabelini Arduino Uno kartasiga ulang va keyingi bosqichga o'ting.
3 -qadam: kodlash
Arduino IDE -ning eng so'nggi versiyasi o'rnatilganda, LEDlarni boshqarish uchun ishlatiladigan LedControl.h kutubxonasini qo'shing. Arduino -ni 4 qismga bo'lingan kodni yuklab oling, kompilyatsiya qiling va yuklang. Ko'z va og'iz ta'rifi: har bir ko'z konfiguratsiya qilingan va 8 baytli qator. Og'izlar 24 baytli massiv sifatida belgilanadi; 2. O'rnatish: displeylarni sozlash va muloqotni boshlash; 3. Asosiy: ketma -ket aloqa buyruqlarini kuting va qaysi yuz ko'rsatilishini tanlang; 4. Yordamchi funktsiyalar: ko'z va og'iz displeylarini sozlash funktsiyalari. setRow funktsiyasi LED displeyining har bir qatorini sozlash uchun ishlatilgan. U setColumn o'rniga ishlatilgan, chunki u sakkiz barobar tezroq ishlaydi! Shunday qilib, har bir displey uchun chizmalar soat sohasi farqli o'laroq 90 daraja burilgan deb e'lon qilinishi kerak.
LEDlarning yorqinligini cheklash uchun setIntensity ishlatilgan. Modullarning quvvat sarfini USB porti qabul qiladigan darajaga tushirish uchun 1 (0 dan 15 gacha shkalada) qilib belgilandi.
4 -qadam: Foydalanish
Yuklashdan so'ng Arduino -ni kompyuterning USB portiga ulangan holda saqlang va Serial Monitor -ni oching, kod ketma -ket port olgan xabarga qarab, LED yuzida kulgichlar to'plamini aks ettirish uchun dasturlashtirilgan. Quyidagi buyruqlar tuzilgan.:
Ko'zlar uchun
- : (oddiy ko'zlar)
- ; (miltillash)
- 8 (qo'rqinchli ko'zlar)
Og'iz uchun:
- ) (baxtli)
- | (neytral)
- ((achinarli)
- D yoki d (juda baxtli)
- O yoki o (hayron)
- P yoki p (til tashqariga)
Seriyali monitorga bir juft belgini kiriting (biri ko'z uchun, ikkinchisi og'iz uchun), Enter tugmasini bosing va displeylar sizning buyrug'ingizga muvofiq yangilanadi.
Siz o'zingizning xohishingizga ko'ra chizilgan rasmlarni o'zgartirishingiz (masalan, yangi yuzlarni qo'shishingiz) yoki boshqaruv usulini (bluetooth yoki wi-fi interfeysini o'z ichiga olgan holda) o'zgartirishingiz mumkin.
Maza qiling!
Tavsiya:
FLEXBALL - Wi -Fi bilan ishlaydigan yuz pikselli moslashuvchan PCB to'pi: 6 qadam (rasmlar bilan)
FLEXBALL - Wi -Fi bilan ishlaydigan yuz pikselli moslashuvchan PCB to'pi: Salom ishlab chiqaruvchilar, bu moekoe ishlab chiqaruvchisi! Flexball moslashuvchan tenglikka asoslangan bo'lib, u 100 WS2812 2020 adresli LEDlar bilan jihozlangan. U ESP8285-01f tomonidan boshqariladi - Espressif tomonidan ishlab chiqarilgan eng kichik ESP moduli. Bundan tashqari, u ADXL345 akselerometriga ega
Yorqinlikni boshqarish PWM asosidagi LEDni boshqarish tugmachalari, Raspberry Pi va skretch yordamida: 8 qadam (rasmlar bilan)
Yorqinlikni boshqarish PWM asosidagi LEDni boshqarish tugmachalari, Raspberry Pi va Scratch yordamida: Men PWMning o'quvchilarimga qanday ishlashini tushuntirishga harakat qilardim, shuning uchun men o'z oldimga ikkita tugma yordamida LEDning yorqinligini boshqarishga harakat qildim. - bitta tugmachaning yorqinligini oshiradi, ikkinchisi esa uni o'chiradi. Dastur uchun
Arduino bilan 2.4 Gigagertsli NRF24L01 moduli yordamida simsiz masofadan boshqarish - Nrf24l01 4 kanalli / Quadcopter uchun 6 kanalli uzatuvchi qabul qilgich - Rc vertolyoti - Arduino yordamida Rc samolyoti: 5 qadam (rasmlar bilan)
Arduino bilan 2.4 Gigagertsli NRF24L01 moduli yordamida simsiz masofadan boshqarish | Nrf24l01 4 kanalli / Quadcopter uchun 6 kanalli uzatuvchi qabul qilgich | Rc vertolyoti | Arduino yordamida Rc samolyoti: Rc avtomashinasini boshqarish | Kvadrokopter | Drone | RC samolyoti | RC qayig'i, bizga har doim qabul qiluvchi va uzatuvchi kerak bo'ladi, deylik, RC QUADCOPTER uchun bizga 6 kanalli uzatuvchi va qabul qilgich kerak, va bu turdagi TX va RX juda qimmatga tushadi, shuning uchun biz uni o'zimizda ishlab chiqaramiz
Taymer funktsiyasi bilan televizorni masofadan boshqarish pulti yordamida uy jihozlarini qanday boshqarish mumkin: 7 qadam (rasmlar bilan)
Uy asbob -uskunalarini masofadan boshqarish pulti bilan taymer funktsiyasi yordamida qanday boshqarish mumkin: Iste'mol bozoriga 25 yil kirganidan keyin ham, infraqizil aloqa so'nggi kunlarda juda dolzarb bo'lib qolmoqda. Bu sizning 55 dyuymli 4K televizoringiz yoki avtomobilingizning ovoz tizimidan qat'i nazar, hamma narsaga javob berish uchun IQ masofadan boshqarish pulti kerak
O'z matritsali matritsali klaviaturani yarating (va Arduino -ga ulang): 7 qadam (rasmlar bilan)
O'z matritsali matritsali klaviaturani yarating (va uni Arduino -ga ulang): Demak, siz o'zingiz membranali klaviatura yaratmoqchimisiz? Nima uchun? O'zingizning klaviaturangizni yaratish ko'p sabablarga ko'ra foydali bo'lishi mumkin. Bu arzon va oson, uni vandalizatsiya qilish yoki o'g'irlash mumkin bo'lgan holatlarga qo'yish mumkin