Mündəricat:

Magic Hercules - Rəqəmsal LEDlər üçün Sürücü: 10 addım
Magic Hercules - Rəqəmsal LEDlər üçün Sürücü: 10 addım

Video: Magic Hercules - Rəqəmsal LEDlər üçün Sürücü: 10 addım

Video: Magic Hercules - Rəqəmsal LEDlər üçün Sürücü: 10 addım
Video: TCGS - TCGS SÖZÜNÜ NECƏ DEYİL? #tcgs (TCGS - HOW TO SAY TCGS? #tcgs) 2024, Noyabr
Anonim
Magic Hercules - Rəqəmsal LEDlər üçün sürücü
Magic Hercules - Rəqəmsal LEDlər üçün sürücü

Sürətli baxış:

Magic Hercules modulu, tanınmış və sadə SPI-ni NZR protokoluna çevirəndir. Modul girişləri +3.3 V dözümlülüyə malikdir, buna görə +3.3 V gərginlikdə işləyən hər hansı bir mikro nəzarətçini etibarlı şəkildə bağlaya bilərsiniz.

Rəqəmsal LED-ləri idarə etmək üçün SPI protokolunun istifadəsi, Arduino üçün hazır kitabxanalar kimi mövcud həllər arasında yenilikçi bir yanaşmadır. Bununla birlikdə, mikrokontrolör ailəsindən asılı olmayaraq (ARM: STM / Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino kimi) və proqramlaşdırma dilindən (məsələn, C, Arduino C ++, Python və ya digərindən asılı olmayaraq) istənilən platformaya keçməyə imkan verir. SPI protokolunu dəstəkləyir). Rəqəmsal LED-lərin proqramlaşdırılmasına bu yanaşma son dərəcə yeni başlayanlar üçün uyğundur, çünki ehtiyacınız olan hər şey SPI protokolunu bilməkdir.

MH modulu, dioddakı rəng sırasını (RGB, BGR, RGBW, və s.), Bütün şeritləri və ya displeyləri sınamaq da daxil olmaqla rəqəmsal LED şeritlərini sınaqdan keçirməyin bir neçə rejiminə imkan verir (1024 LED -ə qədər).

Addım 1: Niyə Magic Hercules Modulu üzərində işləyirəm?

Niyə Magic Hercules Modulu üzərində işləyirəm?
Niyə Magic Hercules Modulu üzərində işləyirəm?

Uzun müddətdir ki, ümumiyyətlə Magic LED adlandırdığım WS2812, WS2815 və ya SK6812 kimi rəqəmsal LED -lərlə işləyirəm.

Magic LED (hətta RGBW tipli) əsasında bir çox zolaqlar, üzüklər və ekranlar (hətta özüm də) sınadım. Arduino, Nucleo (STM ilə), Raspberry Pi və AVR mikro nəzarətçiləri olan öz lövhələrimdən istifadə etdim.

Platformadan asılı olmayaraq, sehrli LED-ləri idarə etmək üçün bir proqram yazmaq çətindir (NZR protokol proqramına ehtiyac olduğu üçün), asanlaşdıran, lakin kod istifadəsi baxımından hələ də tam optimal olmayan hazır kitabxanalardan istifadə etməsəniz. cavablar və ya yaddaş istifadəsi və yalnız xüsusi platformalarda işləmək (məsələn, Moruqdan AVR mikrokontrolörlərinə köçürmək mümkün deyil).

Tez -tez müxtəlif platformalardan istifadə etdiyim üçün proqram kodunun Arduino, Raspberry Pi, ARM / STM (Nucleo) və ya AVR ilə mümkün qədər uyğun olmasına ehtiyacım var idi - xüsusən işıqlandırma effektlərinə gəldikdə.

Mən uzun müddətdir youtube kanalında işləyirəm və AVR mikrokontrolörləri üçün C dilində rəqəmsal diodların proqramlaşdırılmasına dair birdən çox bələdçi hazırlamışam (lakin indiyə qədər yalnız polyak dilində). Sehrli LEDləri proqramlaşdırmaqda çətinlik çəkən yeni başlayanlarla tez -tez əlaqə saxlayıram. Əlbəttə ki, bəziləri platformadan asılı olaraq birdəfəlik layihələri üçün hazır kitabxanalar seçirlər. Ancaq bir çox insan başqa həll yolları axtarır və ya proqramlaşdırmanın sirlərini öyrənməyə çalışır və mən də onlardan biriyəm.

Addım 2: SPI -dən NZR -ə Dönüşüm

SPI -dən NZR -ə dönüşüm
SPI -dən NZR -ə dönüşüm

NZR protokolundan istifadə edərək istifadəçi üçün çirkli işləri görəcək bir modul hazırlamağa qərar verdim. NZR -dən SPI -ə çevirici kimi işləyəcək və SPI kimi modul istənilən platformada rahatlıqla istifadə edilə bilər. Yuxarıdakı ekran görüntüsü, SPI siqnallarının Magic Hercules modulunda NZR protokoluna çevrilməsini göstərir.

Addım 3: Rəqəmsal LED Şerit Test Cihazı olaraq Sehrli Hercules Modulu

Rəqəmsal LED Şerit Test Cihazı olaraq Sehrli Hercules Modulu
Rəqəmsal LED Şerit Test Cihazı olaraq Sehrli Hercules Modulu

Rəqəmsal LED -ləri fərqli sistemlərə bağlayarkən, fərqli mikrokontrollerlər üçün uyğun olan gərginlik tolerantlığını xatırlamaq lazımdır. ARM mikrokontrolörlərinin I / O pinlərinin əksəriyyəti +3.3 V standartında, AVR mikro nəzarətçiləri isə TTL standartında işləyir. Bu səbəbdən, Magic Hercules modulunun giriş pinləri +3.3 V dözümlülüyə malikdir, beləliklə, məsələn, Raspberry P və ya +3.3 V gücündə olan hər hansı bir ARM əsaslı mikrokontrolöre etibarlı şəkildə qoşula bilərlər.

Daha əvvəl də qeyd etdiyim kimi, tez -tez fərqli rəqəmsal LED -lərlə işləyirəm. İstehsalçıdan asılı olaraq LED -lərdəki fərdi rənglər fərqli mövqelərdə ola bilər, məsələn. RGB, BGR, GRB, RGBW, GRBW və s. İstehsalçının sənədlərində RGB ardıcıllığından bəhs etmək nadir deyil, amma əslində fərqli görünür. Hercules modulunu bir rəng ardıcıllığı testi ilə təchiz etdim ki, düzgün rəng sırası üçün bir proqramın necə yazılacağını tez bir şəkildə anlamaqda problem olmasın. Test cihazının bir neçə əlavə funksiyası rəqəmsal LED şeridin ümumiyyətlə işləyib -işləmədiyini, şerid üzərindəki hər LEDdəki bütün rənglərin (1024 LED -ə qədər!) Düzgün işlədiyini (ölü piksel yoxdur) tez bir zamanda yoxlamağa imkan verir. Və bütün bunlar bir mikro nəzarətçi bağlamadan və heç bir proqram yazmadan.

Addım 4: Sehrli Hercules Modulu - Rəqəmsal LEDlər üçün Yeni Universal Həll

Magic Hercules Modulu - Rəqəmsal LEDlər üçün Yeni Universal Həll
Magic Hercules Modulu - Rəqəmsal LEDlər üçün Yeni Universal Həll

Hər hansı bir platformada və ya mikrokontrolör ailəsində işləyə bilən sadə və ümumi bir SPI protokolu istifadə edərək rəqəmsal LED -ləri idarə etmək üçün hələ belə bir şey olmadığını düşünmürəm.

Əlbəttə ki, rəqəmsal LED -ləri idarə etməyin bir çox yolu var, bəziləri daha optimaldır, digərləri isə daha az optimaldır. Magic Hercules modulu başqa bir seçimdir və mənim üçün çox praktikdir. Düşünürəm ki, kimsə bu qeyri -adi həllini bəyənə bilər. Bu yaxınlarda bir çox videoda Magic Hercules modulunun daha geniş bir təsvirini hazırladığım crowdfunding platformasında - Arduino, Nucleo (STM), Raspberry Pi və AVR və PIC -də işləməyin nə qədər asan olduğunu da hazırladım. mikro nəzarətçilər. Sehrli Hercules layihəsinə dəstək olmaq istəyirsinizsə, bura baxın:

My Magic Hercules modul layihəsi kickstarter -də

C dilində bir proqram hazırladım - masa əməliyyatlarına və tamponun əsas döngədə ardıcıl göndərilməsinə əsaslanan sadə bir ulduz qapısı effekti. Magic Hercules modulu sayəsində mənbə kodunu digər dillərə və platformalara asanlıqla köçürə bildim - növbəti addımları yoxlayın - mənbə kodları.

Addım 5: Atmega32 və C ilə Sehrli Hercules Modulu

Sadələşdirilmiş diaqramı olan video, ATB 1.05a (AVR Atmega32) üzərindəki əlaqə təqdimatı, mənbə kodu (Eclipse C/C ++ IDE -də) və ulduz qapısı işıq effekti şəklində son effekt.

Youtube -da videoya keçid

Addım 6: Arduino və Arduino C ++ ilə Sehrli Hercules Modulu

Sadələşdirilmiş diaqram, Arduino 2560 lövhəsində əlaqə təqdimatı, Arduino IDE -də mənbə kodu və ulduz qapısı işıq effekti şəklində son effektdən ibarət video.

Youtube -da videoya keçid

Addım 7: PIC və C ilə Sehrli Hercules Modulu

Sadələşdirilmiş diaqramı olan video, PIC qalxanı olan ATB 1.05a -da əlaqə təqdimatı (təyyarədə PIC24FJ64GA004), MPLAB -da mənbə kodu və ulduz qapısı işıq effekti şəklində son effekt.

Youtube -da videoya keçid

Addım 8: Raspberry Pi və Python ilə Sehrli Hercules Modulu

Sadələşdirilmiş bir diaqram, Raspberry Pi 4 -də əlaqə təqdimatı, Python -dakı mənbə kodu və ulduz qapısı işıq effekti şəklində son effektdən ibarət video.

Youtube -da videoya keçid

Addım 9: ARM ilə Sehrli Hercules Modulu - STM32 Nucleo və C

Sadələşdirilmiş diaqramı olan video, STM32 Nucleo lövhəsində əlaqə təqdimatı, STM32CubeIDE -də mənbə kodu və ulduz qapısı işıq effekti şəklində son effekt.

Youtube -da videoya keçid

Addım 10:

Şəkil
Şəkil

Düşünürəm ki, MH, istifadə etdikləri platformadan və dildən asılı olmayaraq son dərəcə yeni başlayanlar üçün uyğun bir modul ola bilər. Tanınmış SPI protokolunu bilmək kifayətdir və rəqəmsal LED şeridin ümumiyyətlə işlədiyini və hansı rəng ardıcıllığına sahib olduğunu yoxlamağa başlamaq imkanı yalnız bir artıdır.

Kickstarter layihəmdə iştirak etmək istəyirsinizsə - bu linki yoxlayın:

My Magic Hercules modul layihəsi kickstarter -də

Tövsiyə: