İçindekiler:
- Adım 1: Neden Magic Hercules Modülü Üzerinde Çalışıyorum?
- Adım 2: SPI'den NZR'ye Dönüşüm
- Adım 3: Dijital LED Şerit Test Cihazı Olarak Magic Hercules Modülü
- Adım 4: Magic Hercules Modülü - Dijital LED'ler için Yeni Evrensel Çözüm
- Adım 5: Atmega32 ve C ile Sihirli Herkül Modülü
- Adım 6: Arduino ve Arduino C++ ile Magic Hercules Modülü
- Adım 7: PIC ve C ile Sihirli Herkül Modülü
- Adım 8: Raspberry Pi ve Python ile Magic Hercules Modülü
- Adım 9: ARM'li Sihirli Herkül Modülü - STM32 Nucleo ve C
- Adım 10:
Video: Magic Hercules - Dijital LED Sürücüsü: 10 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
Hızlı genel bakış:
Magic Hercules modülü, iyi bilinen ve basit SPI arasında NZR protokolüne bir dönüştürücüdür. Modül girişlerinin +3,3 V toleransı vardır, bu sayede +3,3 V gerilimde çalışan herhangi bir mikrodenetleyiciyi güvenle bağlayabilirsiniz.
Dijital LED'leri kontrol etmek için SPI protokolünün kullanılması, Arduino için hazır kütüphaneler gibi mevcut çözümler arasında yenilikçi bir yaklaşımdır. Ancak mikrodenetleyici ailesinden (ARM: STM / Cypress PSoC, Raspberry Pi, AVR, PIC, Arduino gibi) ve programlama dilinden (örn. SPI protokolünü destekleyen). Dijital LED'leri programlamaya yönelik bu yaklaşım, ihtiyacınız olan tek şey SPI protokolü bilgisi olduğundan, son derece yeni başlayanlar için uygundur.
MH modülü ayrıca, diyottaki renk sırasını test etme (RGB, BGR, RGBW, vb.), tüm şeritleri veya ekranları test etme (1024 LED'e kadar) dahil olmak üzere, dijital LED şeritlerini test etmek için çeşitli modlara izin verir.
Adım 1: Neden Magic Hercules Modülü Üzerinde Çalışıyorum?
Genelde Magic LED adını verdiğim WS2812, WS2815 veya SK6812 gibi dijital ledler ile uzun zamandır çalışıyorum.
Magic LED'e dayalı olarak (RGBW tipiyle bile) birçok şeridi, halkayı ve ekranı (hatta benimki) test ettim. Arduino, Nucleo (STM'li), Raspberry Pi ve AVR mikrodenetleyicili kendi kartlarımı kullandım.
Platformdan bağımsız olarak, sihirli LED'leri kontrol etmek için bir program yazmak zordur (NZR protokol yazılımına duyulan ihtiyaç nedeniyle), bunu kolaylaştıran, ancak yine de kod kullanımı açısından tam olarak optimal olmayan hazır kitaplıklar kullanmıyorsanız, kesinti yapın. yanıtlar veya bellek kullanımı ve yalnızca belirli platformlarda çalışır (bunları örneğin Raspberry'den AVR mikro denetleyicilerine taşımak imkansızdır).
Çeşitli platformları sıklıkla kullandığım için program kodunun mümkün olduğunca Arduino, Raspberry Pi, ARM/STM (Nucleo) veya AVR ile - özellikle aydınlatma efektleri söz konusu olduğunda - uyumlu olmasına ihtiyacım vardı.
Uzun süredir youtube kanalında çalışıyorum ve dijital diyotları AVR mikrodenetleyiciler için C dilinde programlama konusunda birden fazla rehber hazırladım (ancak şimdilik sadece Lehçe). Sihirli LED'leri programlamakla mücadele eden yeni başlayanlarla sık sık iletişim kurarım. Elbette bazıları platforma bağlı olarak tek seferlik projeleri için hazır kütüphaneler seçiyor. Ancak birçok insan başka çözümler arar veya programlamanın sırlarını öğrenmeye çalışır ve ben de onlardan biriyim.
Adım 2: SPI'den NZR'ye Dönüşüm
NZR protokolünü kullanarak kullanıcı için kirli işleri yapacak bir modül hazırlamaya karar verdim. SPI'den NZR'ye dönüştürücü görevi görecek ve tıpkı SPI gibi modül, her platformda kolaylıkla kullanılabilir. Yukarıdaki ekran görüntüsü, Magic Hercules modülünde SPI sinyallerinin NZR protokolüne dönüştürülmesini göstermektedir.
Adım 3: Dijital LED Şerit Test Cihazı Olarak Magic Hercules Modülü
Dijital LED'leri farklı sistemlere bağlarken, farklı mikrodenetleyiciler için uygun voltaj toleransı unutulmamalıdır. ARM mikrodenetleyicilerin I/O pinlerinin çoğu +3.3 V standardında, AVR mikrodenetleyicileri ise TTL standardında çalışır. Bu nedenle, Magic Hercules modülünün giriş pinleri +3.3 V'luk bir toleransa sahiptir, bu nedenle örneğin bir Raspberry P'ye veya herhangi bir ARM tabanlı mikrodenetleyiciye +3.3 V ile güvenli bir şekilde bağlanabilirler.
Daha önce de belirttiğim gibi, genellikle farklı türde dijital LED'lerle çalışıyorum. Üreticiye bağlı olarak LED'lerdeki münferit renkler farklı konumlarda olabilir, örn. RGB, BGR, GRB, RGBW, GRBW, vb. Üretici belgelerinin RGB dizisinden bahsetmesi nadir değildir, ancak aslında farklı görünür. Hercules modülünü bir renk sırası testi ile donattım, böylece doğru renk sırası için bir programın nasıl yazılacağını çabucak bulmakta sorun olmasın. Test cihazının birkaç ek işlevi, dijital LED şeridinin çalışıp çalışmadığını, şerit boyunca her bir LED'deki tüm renklerin (1024 LED'e kadar!) doğru çalışıp çalışmadığını (ölü piksel yok) hızlı bir şekilde kontrol etmenizi sağlar. Ve tüm bunlar bir mikrodenetleyici bağlamadan ve herhangi bir program yazmadan.
Adım 4: Magic Hercules Modülü - Dijital LED'ler için Yeni Evrensel Çözüm
Herhangi bir platformda veya mikro denetleyici ailesinde çalıştırılabilen basit ve yaygın bir SPI protokolü kullanarak dijital LED'leri kontrol etmek için henüz böyle bir şey olduğunu düşünmüyorum.
Elbette, dijital LED'leri kontrol etmenin birçok yolu vardır, bazıları daha optimaldir ve diğerleri daha az optimaldir. Magic Hercules modülü başka bir seçenek ve benim için çok pratik. Sanırım birisi bu alışılmadık çözümü beğenebilir. Kısa süre önce, Arduino, Nucleo (STM), Raspberry Pi ve AVR ve PIC üzerinde çalışmanın ne kadar kolay olduğu da dahil olmak üzere, Magic Hercules modülünün daha geniş bir tanımını birkaç videoda hazırladığım kitle fonlaması platformu - kickstarter'a başladım. mikrodenetleyiciler. Magic Hercules projesini desteklemek istiyorsanız, şuna bir göz atın:
Kickstarter'da My Magic Hercules modül projesi
C dilinde bir program hazırladım - tablo işlemlerine ve arabelleğin ana döngüde sıralı gönderilmesine dayanan basit bir yıldız kapısı efekti. Magic Hercules modülü sayesinde kaynak kodunu diğer dillere ve platformlara kolayca aktarabildim - sonraki adımları kontrol edin - kaynak kodları.
Adım 5: Atmega32 ve C ile Sihirli Herkül Modülü
Basitleştirilmiş bir şema, ATB 1.05a'da (AVR Atmega32) bağlantı sunumu, kaynak kodu (Eclipse C/C++ IDE'de) ve bir yıldız kapısı ışık efekti biçimindeki son efekti içeren video.
youtube'daki videonun linki
Adım 6: Arduino ve Arduino C++ ile Magic Hercules Modülü
Basitleştirilmiş bir diyagram, Arduino 2560 kartında bağlantı sunumu, Arduino IDE'de kaynak kodu ve bir yıldız kapısı ışık efekti şeklinde son efekt içeren video.
youtube'daki videonun linki
Adım 7: PIC ve C ile Sihirli Herkül Modülü
Basitleştirilmiş bir şema, PIC kalkanlı ATB 1.05a'da bağlantı sunumu (gemide PIC24FJ64GA004), MPLAB'de kaynak kodu ve yıldız kapısı ışık efekti şeklinde son efekt içeren video.
youtube'daki videonun linki
Adım 8: Raspberry Pi ve Python ile Magic Hercules Modülü
Basitleştirilmiş bir diyagram, Raspberry Pi 4'te bağlantı sunumu, Python'da kaynak kodu ve bir yıldız kapısı ışık efekti şeklinde son efekt içeren video.
youtube'daki videonun linki
Adım 9: ARM'li Sihirli Herkül Modülü - STM32 Nucleo ve C
Basitleştirilmiş bir şema, STM32 Nucleo kartında bağlantı sunumu, STM32CubeIDE'de kaynak kodu ve bir yıldız kapısı ışık efekti biçimindeki son etkiyi içeren video.
youtube'daki videonun linki
Adım 10:
Kullandıkları platform ve dilden bağımsız olarak MH'nin son derece başlangıç dostu bir modül olabileceğini düşünüyorum. İyi bilinen SPI protokolünü bilmek yeterlidir ve dijital LED şeridin çalışıp çalışmadığını ve hangi renk dizisine sahip olduğunu kontrol etmeye başlama imkanı sadece bir artıdır.
Kickstarter'daki projeme katılmak istiyorsanız - şu bağlantıyı kontrol edin:
Kickstarter'da My Magic Hercules modül projesi
Önerilen:
HACKED! Model Tren Sürücüsü Olarak Servo Motor!: 17 Adım
HACKED! Model Tren Sürücüsü Olarak Servo Motor!: Model demiryollarına başlamak mı? Tüm bu pahalı tren kontrolörlerini satın almak için yeterli bütçeniz yok mu? Merak etme! Bu eğitici yazıda, bir servo motoru hackleyerek kendi düşük bütçeli tren kontrolörünüzü nasıl yapabileceğinizi göstereceğim. Hadi bakalım
Değişken Motor Sürücüsü: 3 Adım
Değişken Motor Sürücüsü: Bu makale basit bir motor sürücüsünü göstermektedir. Ancak, bu kesinlikle bir motor sürüş devresi için en ucuz çözüm değildir
Lego Figure USB Sürücüsü: 4 Adım (Resimlerle)
Lego Figure USB Sürücüsü: Bu eğitimde size kendi Lego figürü USB flash sürücünüzü nasıl yapacağınızı göstereceğim. Daha önce USB flash sürücülerini lego figürlerine yerleştiren insanlar gördüm (örneğin burada: http://www.etsy.com/shop/123smile), ama hiç kimse alt kısmı bir
NODEMCU LUA ESP8266 M5450B7 LED Ekran Sürücüsü IC'sini Kullanmak: 5 Adım (Resimlerle)
NODEMCU LUA ESP8266 M5450B7 LED Ekran Sürücüsü Kullanma IC: M5450B7, 40 Pinli bir DIP LED ekran sürücüsü IC'dir. Oldukça canavar görünüyor, ancak kontrolü ve programlanması nispeten kolaydır. Bir LED'in bağlanabileceği 34 çıkış pini vardır. her birine. Cihaz, beslemek yerine akımı batırır, bu nedenle c
Yüksek Akım Titreşen Kabak LED Sürücüsü: 3 Adım
Yüksek Akım Titreşen Kabak LED Sürücüsü: Basit ve yapımı kolay Yüksek Akım LED'lerini sürmek için bir LED Çay Işığı kullanın. Gerçek görünümlü bir mum alevi efekti üreten devreyi tasarlamak çok zordur. Daha yüksek c'yi sürmek için basit ve hızlı bir yol yapmak istedim