- Arduino için Adafruit 5X8 NeoPixel Shield
- Blynk Uygulaması ile Arduino Arasındaki İletişim Sürecini Anlamak
- Gerekli Bileşenler
- Adafruit RGB LED Shield ve Arduino - Donanım Bağlantısı
- Blynk Uygulamasını Yapılandırma
- Arduino Kodu Denetleyen Adafruit WS2812B RGB LED Shield
- Kodu Arduino Kartına Yükleme
Birkaç yıl içinde RGB LED'ler, güzel renkleri, parlaklıkları ve çekici aydınlatma efektleri nedeniyle gün geçtikçe popüler hale geliyor. Bu nedenle pek çok yerde dekoratif eşya olarak kullanılır, örnek olarak ev veya ofis alanı olabilir. Ayrıca RGB ışıklarını mutfakta ve ayrıca bir oyun konsolunda kullanabiliriz. Ayrıca bir çocuk oyun odası veya yatak odalarında ruh hali aydınlatması açısından harikadırlar. Daha önce, bir Müzik Spektrum Görselleştiricisi oluşturmak için WS2812B NeoPixel LED'leri ve ARM Mikrodenetleyiciyi kullandık, bu yüzden sizin için ilginç olup olmadığını kontrol edin.
Bu nedenle, bu projede Blynk uygulamasıyla kontrol edebileceğimiz birçok büyüleyici animasyon efekti ve rengi üretmek için Neopiksel Tabanlı RGB LED matris kalkanı, Arduino ve Blynk uygulamasını kullanacağız. Öyleyse başlayalım !!!
Arduino için Adafruit 5X8 NeoPixel Shield
Arduino uyumlu NeoPixel Shield, her biri bu NeoPixel Shield ı oluşturmak için 5 × 8 matris içinde düzenlenmiş WS2812b dahili sürücüye sahip kırk ayrı ayrı adreslenebilir RGB LED içerir. Gerekirse, daha büyük bir Kalkan oluşturmak için birden fazla NeoPixel Kalkanı da bağlanabilir. RGB LED'leri kontrol etmek için tek bir Arduino pini gereklidir, bu nedenle bu eğitimde bunu yapmak için Arduino'nun 6. pinini kullanmaya karar verdik.
Bizim durumumuzda, LED'ler Arduino'nun dahili 5V pininden besleniyor, bu da “LED'lerin yaklaşık üçte birine” tam parlaklıkta güç sağlamak için yeterli. Daha fazla LED'e güç vermeniz gerekiyorsa, dahili izlemeyi kesebilir ve harici 5V terminalini kullanarak korumaya güç sağlamak için harici bir 5v besleme kullanabilirsiniz.
Blynk Uygulaması ile Arduino Arasındaki İletişim Sürecini Anlamak
Burada kullanılan 8 * 5 RGB LED matrisi, WS2812B sürücüsüne dayalı kırk ayrı ayrı adreslenebilir RGB LED'e sahiptir. 24 bit renk kontrolüne ve piksel başına 16,8 milyon renge sahiptir. "Tek telli kontrol" metodolojisi ile kontrol edilebilir. Bu, tüm LED pikselini tek bir kontrol pini kullanarak kontrol edebileceğimiz anlamına gelir. LED'lerle çalışırken, blendajın çalışma voltajı aralığının 4 V ila 6 V olduğunu ve akım tüketiminin LED başına 5 V'ta kırmızı, yeşil ile 50 mA olduğunu bulduğum bu LED'lerin veri sayfasını inceledim. ve tam parlaklıkta mavi. Harici güç pinlerinde Ters voltaj korumasına ve Arduino'yu sıfırlamak için Kalkanda bir Sıfırla düğmesine sahiptir. Ayrıca, dahili devre üzerinden yeterli miktarda güç yoksa, LED'ler için bir Harici Güç giriş pinine sahiptir.
Yukarıdaki şematik diyagramda gösterildiği gibi, Blynk uygulamasını indirip yüklememiz gerekiyorrenk, parlaklık gibi parametrelerin kontrol edilebildiği akıllı telefonumuzda. Parametreleri ayarladıktan sonra, uygulamada herhangi bir değişiklik olursa, bilgisayarımızın da bağlı olduğu ve güncellenmiş verileri almaya hazır olduğu Blynk bulutuna gelir. Arduino Uno, açılan bir iletişim portu ile USB kablosuyla PC'mize bağlanır, bu iletişim portu (COM Port) ile Blynk bulutu ve Arduino UNO arasında veri alışverişi yapılabilir. PC sabit zaman aralıklarında Blynk bulutundan veri talep ediyor ve güncellenmiş bir veri alındığında bunu Arduino'ya aktarıyor ve RGB led parlaklığını ve Renklerini kontrol etmek gibi kullanıcı tanımlı kararlar veriyor. RGB LED kalkanı, Arduino LED'inin üzerine yerleştirilir ve iletişim için tek bir veri pini ile bağlanır, varsayılan olarak Arduino'nun D6 pini aracılığıyla bağlanır.Arduino UNO'dan gönderilen seri veriler, daha sonra LED matrisine yansıtılan Neopixel ağına gönderilir.
Gerekli Bileşenler
- Arduino UNO
- 8 * 5 RGB LED Matrix kalkanı
- Arduino UNO için USB A / B kablosu
- Dizüstü bilgisayar / PC
Adafruit RGB LED Shield ve Arduino - Donanım Bağlantısı
WS2812B Neopixel LED'lerin üç pimi vardır, biri veri için, diğeri güç için kullanılır, ancak bu özel Arduino kalkanı donanım bağlantısını çok basit hale getirir, tek yapmamız gereken Neopixel LED matrisini Arduino UNO'nun üstüne yerleştirmektir. Bizim durumumuzda, LED varsayılan Arduino 5V Rayından beslenir. Neopixel Shield yerleştirildikten sonra kurulum aşağıdaki gibi görünür:
Blynk Uygulamasını Yapılandırma
Blynk, akıllı telefonlarımızı kullanarak herhangi bir IoT cihazını ve Cihazı kontrol etmek için Android ve IOS cihazları üzerinde çalışabilen bir uygulamadır. Öncelikle, RGB LED matrisini kontrol etmek için bir Grafik Kullanıcı Arayüzü (GUI) oluşturulmalıdır. Uygulama, seçilen tüm parametreleri GUI'den Blynk Cloud'a gönderecektir. Alıcı bölümünde, bir seri haberleşme kablosu ile PC'ye bağlı Arduino var. Bu nedenle PC, Blynk bulutundan veri talep eder ve bu veriler gerekli işlem için Arduino'ya gönderilir. Öyleyse, Blynk uygulama kurulumuna başlayalım.
Kurulumdan önce, Blynk Uygulamasını Google Play mağazasından indirin (IOS kullanıcıları App Store'dan indirebilir). Kurulumdan sonra, e-posta kimliğinizi ve Parolanızı kullanarak kaydolun.
Yeni Bir Proje Oluşturmak:
Başarılı bir kurulumdan sonra, uygulamayı açın ve orada " Yeni Proje " seçeneğinin bulunduğu bir ekran alacağız. Üzerine tıklayın ve Proje adı, Pano ve bağlantı türü gibi parametreleri ayarlamamız gereken yeni bir ekran açılacaktır. Projemizde cihazı “ Arduino UNO ” ve bağlantı tipini “ USB ” olarak seçip “ Oluştur” a tıklayın.
Proje başarıyla oluşturulduktan sonra, kayıtlı postamıza bir Kimlik Doğrulama Kimliği alacağız. İleride referans olması için Kimlik Doğrulama Kimliğini kaydedin.
Grafik Kullanıcı Arayüzünün (GUI) Oluşturulması:
Blynk'te projeyi açın, projemizde kullanabileceğimiz widget'ları alacağımız “+” işaretine tıklayın. Bizim durumumuzda, aşağıda gösterildiği gibi "zeRGBa" olarak listelenen bir RGB Renk Seçiciye ihtiyacımız var.
Widget'ları Ayarlama:
Widget'ları projemize sürükledikten sonra, şimdi renk RGB değerlerini Arduino UNO'ya göndermek için kullanılan parametrelerini ayarlamamız gerekiyor.
ZeRGBa'ya tıklayın, ardından ZeRGBa ayarı adlı bir ekran alacağız. Ardından Çıktı seçeneğini " Birleştir " olarak ayarlayın ve pimi aşağıdaki resimde gösterilen "V2" ye ayarlayın.
Arduino Kodu Denetleyen Adafruit WS2812B RGB LED Shield
Donanım bağlantısı tamamlandıktan sonra, kodun Arduino'ya yüklenmesi gerekir. Kodun adım adım açıklaması aşağıda gösterilmiştir.
İlk olarak, gerekli tüm kitaplıkları dahil edin. Arduino IDE'yi açın, ardından Sketch sekmesine gidin ve Include Library-> Manage Libraries seçeneğine tıklayın . Ardından arama kutusunda Blynk'i arayın ve ardından Arduino UNO için Blynk paketini indirip yükleyin.
Burada RGB LED Matrisini kontrol etmek için “ Adafruit_NeoPixel.h ” kütüphanesi kullanılır. Dahil etmek için, Adafruit_NeoPixel kütüphanesini verilen bağlantıdan indirebilirsiniz. Bunu aldıktan sonra, ZIP Kitaplığını Dahil Et seçeneğiyle ekleyebilirsiniz.
#define BLYNK_PRINT DebugSerial #include #include
Daha sonra LED matrisimiz için gerekli olan LED sayısını tanımlıyoruz, ayrıca LED parametrelerini kontrol etmek için kullanılan pin numarasını da tanımlıyoruz.
#define PIN 6 #define NUM_PIXELS 40
Ardından, daha önce kaydettiğimiz bir kimlik doğrulama dizisine göz kırpma kimlik doğrulama kimliğimizi koymamız gerekir.
char auth = "HoLYSq-SGJAafQUQXXXXXXXX";
Burada yazılım seri pinleri hata ayıklama konsolu olarak kullanılır. Bu nedenle, Arduino pinleri aşağıda hata ayıklama serisi olarak tanımlanmıştır.
#Dahil etmek
Kurulumda , Seri iletişim Serial.begin işlevi kullanılarak başlatılır, blynk Blynk.begin kullanılarak bağlanır ve pixel.begin () kullanılarak LED Matrix başlatılır.
void setup () { DebugSerial.begin (9600); pixel.begin (); Serial.begin (9600); Blynk.begin (Seri, kimlik doğrulama); }
İç döngü () , hesaplamalarda Blynk.run () , blynk GUI gelen komutları için kontrol ve buna göre işlemleri gerçekleştirir.
geçersiz döngü () { Blynk.run (); }
Son aşamada, Blynk uygulamasından gönderilen parametrelerin alınması ve işlenmesi gerekmektedir. Bu durumda, parametreler, kurulum bölümünde daha önce tartışıldığı gibi sanal bir pin "V2" ye tahsis edildi. BLYNK_WRITE işlevi, ilişkili sanal pinin durumu / değeri her değiştiğinde çağrılan dahili bir işlevdir. diğer Arduino işlevlerinde olduğu gibi bu işlev içinde kod çalıştırabiliriz.
Burada BLYNK_WRITE fonksiyonu sanal pin V2'de gelen veriyi kontrol etmek için yazılmıştır. Blink kurulum bölümünde gösterildiği gibi, renkli piksel verileri birleştirildi ve V2 pinine atandı. Bu yüzden, kodu çözdükten sonra tekrar birleştirmemiz gerekiyor. LED piksel matrisini kontrol etmek için Kırmızı, yeşil ve Mavi gibi 3 ayrı renk piksel verisine ihtiyacımız var. Aşağıdaki kodda gösterildiği gibi, matrisin üç dizini, Kırmızı rengin değerini elde etmek için param.asInt () gibi okundu . Benzer şekilde, diğer iki değerin tümü alındı ve 3 ayrı değişkende saklandı. Daha sonra bu değerler, aşağıdaki kodda gösterildiği gibi pixel.setPixelColor işlevi kullanılarak Piksel matrisine atanır.
Burada, parlaklığı kontrol etmek için pixel.setBrightness () işlevi kullanılır ve Matristeki ayarlanan rengi görüntülemek için pixel.show () işlevi kullanılır.
BLYNK_WRITE (V2) { int r = param.asInt (); int g = param.asInt (); int b = param.asInt (); pixel.clear (); piksel.setBrightness (20); for (int i = 0; i <= NUM_PIXELS; i ++) { pixel.setPixelColor (i, pixel.Color (r, g, b)); } pixel.show (); }
Kodu Arduino Kartına Yükleme
Öncelikle Arduino IDE içerisindeki Arduino'nun PORT'unu seçmemiz, ardından kodu Arduino UNO'ya yüklememiz gerekiyor. Başarılı bir yüklemeden sonra, seri iletişim kurulumumuz için kullanılacak Bağlantı Noktası Numarasını not edin.
Bundan sonra, PC'nizdeki Blynk kitaplığının komut dosyası klasörünü bulun. Kitaplığı kurduğunuzda kurulur, benimki oradaydı, "C: \ Users \ PC_Name \ Documents \ Arduino \ libraries \ Blynk \ scripts"
Script klasöründe, not defteri ile düzenlememiz gereken seri iletişim için kullanılan toplu iş dosyası olan "blynk-ser.bat" adlı bir dosya bulunmalıdır. Dosyayı not defteri ile açın ve Port numarasını son adımda not ettiğiniz Arduino Port numaranızla değiştirin.
Düzenledikten sonra, dosyayı kaydedin ve üzerine çift tıklayarak toplu iş dosyasını çalıştırın. Ardından, aşağıda gösterildiği gibi bir pencere görüyor olmalısınız:
Not: Yukarıda gösterilen bu pencereyi göremiyorsanız ve yeniden bağlanmanız istenirse, bunun nedeni Arduino kalkanı ile PC bağlantısındaki hata olabilir. Bu durumda, PC ile Arduino bağlantınızı kontrol edin. Bundan sonra, COM port numarasının Arduino IDE'de gösterilip gösterilmediğini kontrol edin. Geçerli COM bağlantı noktasını gösteriyorsa, ilerlemeye hazırdır. Toplu iş dosyasını yeniden çalıştırmalısınız.
Nihai Gösteri:
Şimdi, devreyi ve işlevselliğini test etme zamanı. Blynk uygulamasını açın ve GUI'yi açın ve Oynat düğmesine tıklayın. Bundan sonra, LED Matrix'e yansıtılmasını istediğiniz renklerden herhangi birini seçebilirsiniz. Aşağıda gösterildiği gibi, benim durumumda Kırmızı ve Mavi rengi seçtim, Matrix'te görüntüleniyor.
Benzer şekilde, kodlamayı biraz özelleştirerek bu LED matrislerini kullanarak farklı animasyonlar yapmayı da deneyebilirsiniz.