Mündəricat:
Video: Xüsusi Xarakter Yaradan (Adafruit HT16k33 Matrix): 3 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:48
LCD və Led Matrislərdə Xüsusi İşarələrin Çap edilməsi çox əyləncəlidir. Xüsusi simvolları və ya xüsusi simvolları çap etmək proseduru, hər satır və sütun üçün ikili dəyərləri olan bir sıra yaratmaqdır. Hər hansı bir xüsusi xarakter üçün düzgün kodu tapmaq çətin ola bilər, buna görə də bu layihə 8x8 LED matris üçün kodu avtomatlaşdıracaq və yaradacaq və ayrıca Adafruit HT16k33 8x8 Bicolor Matrix -də xüsusi xarakteri çap edəcək.
Adafruit HT16k33, 1,2 '' 8x8 Bicolor Led Matrix, Arduino ilə I2C rabitə protokolu ilə əlaqə qurur
Adafruit görə, "LED sırt çantasının bu versiyası 1.2" 8x8 matrislər üçün hazırlanmışdır. Cəmi 1,2 "x1.2" ölçürlər, buna görə də onu idarə etmək üçün çoxlu fiş istifadə etmək ayıbdır. Bu sırt çantası, PCB-nin arxasına səliqəli şəkildə oturan bir I2C sabit cərəyan matris nəzarətçisinə sahib olmaqla, 16 pin və ya bir dəstə çip istifadə etməkdə olan narahatlığı aradan qaldırır. Nəzarətçi çipi bütün 64 LED -ləri arxa planda çəkərək hər şeyə diqqət yetirir. Bunun üçün 2 pinli I2C interfeysindən istifadə edərək məlumat yazmaq kifayətdir. İki ünvanlı pin var, buna görə tək 2 pinli I2C avtobusunda 8-ə qədər idarə etmək üçün 8 ünvandan birini seçə bilərsiniz (həmçinin digər I2C çipləri və ya istədiyiniz sensorlar). Sürücü çipi, 16/16 -cı addımda 1/16 parlaqlıqdan tam parlaqlığa qədər bütün ekranı 'söndürə' bilər. Fərdi LEDləri söndürə bilməz, yalnız bir anda bütün ekranı."
Bu təlimatda sizə hər hansı bir xüsusi xarakter üçün kodu real vaxtda necə əldə edəcəyinizi və bu xarakteri Led Matrix -də necə çap edəcəyinizi izah edəcəyəm.
Addım 1: Komponentlər
Bu təlimat Adafruit HT16k33 Matrix -də əsas bir layihədir. Ehtiyacınız var:
- Adafruit HT16k33 1,2 '' x 1,2 '' 8x8 Bicolor Led Matrix.
- Arduino (Unodan başqa istənilən varianta üstünlük verilir).
- Çörək lövhəsi
- Enerji təchizatı
Addım 2: Şematik
Adafruit HT16k33 Led matrisini bağlamaq çox asandır, çünki I2C cihazlarında olduğu kimi saatı və məlumat pinini bağlamalıyıq. Bağlantılar belə olacaq:
- A5 -ə qoşulmuş SCL (Matrix saat pin) (Arduino Uno -nun saat pimi. Arduinonun digər variantları üçün məlumat cədvəlinə baxın)
- A4 -ə qoşulmuş SDA (Matrix məlumat pin). (Arduinonun digər variantları üçün məlumat cədvəlinə baxın)
- VCC 5V -ə qoşulub.
- GND 0V -ə qoşuldu.
Şəkildə göstərilən sxemə də baxa bilərsiniz.
Addım 3: Kod
Arduino kodu
Əvvəlcə tələb olunan bütün kitabxanaları daxil edəcəyik.
- Wire.h:- I2C ünsiyyəti üçün
- Adafruit_LedBackpack
- Adafruit_GFX
Bütün bu kitabxanalar Arduino IDE -nin özündə mövcuddur. Yalnız bunları Kitabxana Menecerindən quraşdırmalısınız. Eskiz >> Kitabxanaya əlavə et >> Kitabxanaları idarə et
Quraşdırma funksiyası ()
İmzasız 8 bitlik bir sıra 8 satır üçün hər ikisi 8 bitdən (8 sütun) 8 ikili dəyərlər təyin etmək. I2C ünsiyyətinin ünvanını təyin edin.
Döngü funksiyası ()
Xarakteri çap etməli olduğumuz üçün, real vaxt üçün xarakterin koduna ehtiyacımız var. Ən uyğun üsul kodu ardıcıl olaraq göndərməkdir və Arduino serial məlumatlarını oxuyacaq və xarakteri buna uyğun olaraq çap edəcək. Bir sıra ardıcıl olaraq göndərmək çətin bir iş ola bilər, buna görə də vergüllə ayrılmış bütün 8 kodu (hər biri 8 bit) olan bir simli göndərə bilərik.
Serial String oxunur:
əgər (Serial.available ()> 0) {data = Serial.readStringUntil ('\ n'); Serial.println (məlumatlar); }
Mətni oxuduqdan sonra bu sətrin kodunu açmalı və ikili dəyərləri geri qaytarmalıyıq. Bildiyimiz kimi, giriş sətrinin formatı həmişə eyni olacaq. Substrings tapmaq və sətirləri ondalık ekvivalent dəyərlərinə çevirmək üçün onu kodlaşdıra bilərik. Daha sonra, xarakteri matrisə yazdırmaq üçün yaradılan ondalık massivini (uint8_t) ötürəcəyik.
8 bitlik sətri onluğa çevirmək:
int val (String str) {int v = 0; for (int i = 0; i <8; i ++) {if (str == '1') {v = v+power (2, (7-i)); }} qayıt v; }
Güc funksiyasından (pow ()) istifadə edərək ondalık ekvivalentini qiymətləndirmək üçün ikiqat tipli dəyərlərlə məşğul olmalısınız və buna görə də öz güc funksiyamızı belə yaza bilərik:
int gücü (int baz, int eksponent) {int c = 1; for (int i = 0; i {c = c*base;} qayıt c;}
İndi, nəhayət, yaradılan 8 onluq dəyərdən (hər satır üçün bir ədəd) istifadə edərək xarakteri çap etmək üçün kodu yazacağıq.
boş print_emoji (uint8_t emoji , String rəngi) {matrix.clear (); əgər (rəng == "qırmızı") {matrix.drawBitmap (0, 0, emoji, 8, 8, LED_RED); } başqa {matrix.drawBitmap (0, 0, emoji, 8, 8, LED_GREEN); } matrix.writeDisplay (); gecikmə (500); }
Əvvəlcə matrisi təmizlədikdən və sonra matrix.drawBitmap () funksiyasından istifadə edərək emoji dizisini istifadə edərək xarakteri göstərdiyimiz üçün bu kodu asanlıqla başa düşəcəksiniz. Bütün formatlardan sonra "matrix.writeDisplay ()" yazmağı unutmayın, çünki bu funksiya yalnız matrisdə indiyə qədər edilən bütün formatları göstərəcəkdir.
İndi simli bütün kod dəyərləri ilə göndərə bilərsiniz və Arduino xarakteri matrisə yazdıracaq. Arduino kodunu aşağıdan yükləyə bilərsiniz. Təcrübə məqsədi ilə yaza bilərsiniz
B00111100, B01000010, B10100101, B10000001, B10100101, B10011001, B01000010, B00111100
Bu sətir Serial Monitorda və matrisdəki xarakteri görə bilər.
İndi "Çap et" düyməsini basdığımızda serial məlumatlarını bir proqramdan avtomatik olaraq göndərməliyik. Bunu avtomatlaşdırmaq üçün 8x8 bir demo matrisi hazırlayacağıq və istifadəçiyə hansı hüceyrələrin rənglənməsini seçmək imkanı verəcəyik və sonra proqram kodu avtomatik olaraq yaradacaq və məlumatları ardıcıl olaraq Arduino -ya simli formatda göndərəcək. İşimin qalan hissəsi üçün Emal etməyi seçdim. İşlənərkən, 64 düymədən (sıxılmış funksiyalı düzbucaqlılar) istifadə edərək matris yarada bilərik və başlanğıcda müəyyən bir dəyər və rəng təyin edə bilərik (0 dəyəri olan ağ rəng olsun). İndi düyməyə hər dəfə basıldıqda düymənin rəngini qara rəngə çevirəcəyik və dəyəri 1 olaraq təyin edəcəyik. İstifadəçi eyni düyməni bir daha basarsa, dəyəri yenidən 0 -a, rəngi də ağa dönər. Bu, istifadəçinin kodu təkrar -təkrar asanlıqla dəyişdirməsinə kömək edəcək və bütün matrisi bir daha silmədən asanlıqla dəyişikliklər edə bilər. "Çap et" düyməsini basaraq, demo üçün yuxarıda göstərilənə bənzər bir sətir düzəldəcəyik. Sonra simli xüsusi serial portuna göndəriləcək.
İşləmə kodunu aşağıdan yükləyə bilərsiniz. Bu, emaldakı ilk kodumdur. Təkmilləşdirilmiş kodlaşdırma yolu ilə bağlı təkliflər yüksək qiymətləndirilir.
GUI -nin necə göründüyünü və sistemdən istifadə edərək xarakterin necə yaradıldığını görə bilərsiniz. Matrisdə eyni xarakteri yaratmaq saniyələr çəkəcək.
Bu layihənin kodunu və şəkillərini GitHub Depomdan yükləyə bilərsiniz.
Tövsiyə:
Güc Açarını Yaradan Ci40 -a Bağlamaq: 4 Addım
Güc Açarını Yaratıcı Ci40 -a bağlamaq: Creator Ci40 lövhəsini bir korpusa qurmaq üçün lövhənin gücünü uzaqdan idarə etmək tələb oluna bilər. Bu təlimat lövhəyə DC enerji təchizatını idarə etmək üçün passiv və aktiv variantların necə əlavə olunacağına baxır
Açıq Avtoklav: Humanitar Yaradan Layihəsi: 4 addım
Açıq Avtoklav: Humanitar Yaradan Layihəsi: Niyə bu layihəni hazırladım? Dünya Sağlamlıq Təşkilatının hesabatını oxudum ki, dünyada 3 milyard insanın etibarlı elektrik enerjisi olmadan kənd yerlərində yaşadığını və buna görə də çox vaxt onlara daxil ola bilmədiklərini söylədi. cərrahi qulluq. Səbəb isə
K`nex Infinity Xarakter Sahibi: 4 addım
K`nex Infinity Xarakter Sahibi: Bu K`nex Sonsuzluq Xarakter Sahibidir. Kompaktdır və çox rahatdır. Bunu sonsuzluq simvollarının hamısı bir çekmece ilə doldurulmuş və xarab olan insanlar üçün tövsiyə edirəm
Adafruit Feather NRF52 Xüsusi Nəzarət, Kodlaşdırma Lazım deyil: 8 Addım (Şəkillərlə)
Adafruit Feather NRF52 Xüsusi Nəzarət, Kodlaşdırma Tələbi yoxdur: 23 Aprel 2019 -u yeniləyin - Yalnız Arduino millis () istifadə edərək tarix/vaxt planları üçün Millis () və PfodApp istifadə edərək Arduino Tarix/Saat Planlaşdırma/Qeydiyyata baxın Ən son pulsuz pfodDesigner V3.0.3610+ yaradıldı Məlumatları tarix/vaxtla müqayisə etmək üçün Arduino eskizlərini tamamlayın
PC üçün Visual Script istifadə edərək Unreal Engine 4 -də Xarakter Nəzarətçisi ilə 2d Xarakter necə yaradılır: 11 addım
PC üçün Visual Script istifadə edərək Unreal Engine 4 -də Xarakter Nəzarətçisi ilə 2d Xarakter necə yaradılır: PC üçün vizual skriptdən istifadə edərək Unreal engine 4 -də xarakter nəzarətçisi olan 2d Xarakter necə yaradılır, mən Jordan Steltz. 15 yaşımdan bəri video oyunları inkişaf etdirirəm. Bu dərslik sizə əsas xarakter yaratmağı öyrədəcək