Arduino RGB Akan Sıralı Işık Devresi

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





Bu Arduino RGB sıralı ışık üreteci devresi, bağlı RGB LED üzerinden akıcı bir kırmızı, yeşil mavi desen oluşturacaktır.

Burada kullanılan LED, ortak anot tipi olan dört pinli 30mA RGB LED'dir, yani bu LED için ortak pinin gerekli işlemler için sürekli bir pozitif atanması gerekecektir. Ortak katot olarak belirtilen LED'ler, RGB aydınlatmaları için sürekli bir negatif veya topraklama gerektirir.



Bu proje için gerekli donanım:

Bir Arduino UNO kartı.
Bir 220 ohm, 1/4 watt direnç
Bir RGB, 5 mm, 30 mA LED (ortak anot tipi)
Bağlantı Telleri
Havya,
9V adaptör AC / DC

Arduino kullanılarak önerilen RGB LED sıralı ışık devresinin bağlantı detayları yukarıdaki şemada görülebilir.



Bağlantıların uygulanması oldukça kolaydır, sadece LED kablolarını Arduino burgu pin çıkışlarına takın, güç soketini değiştirin ve RGB LED'i kırmızı, yeşil, mavi yanan sıralı bir şekilde görselleştirin.

Kod, bireysel tercihlere ve seçimlere göre tamamen özelleştirilebilir,

Kod:

Daha sonra bu RGB LED sıralı akan ışık devresinin taslak kodu aşağıda verildiği gibi bulunabilir:

/ *
RGB LED renk akışı
[Oldukça] pürüzsüz görüntüler
RGB LED üzerinde renk dizisi

Jeremy Fonte tarafından
Telif hakkı (c) 2012 Jeremy
Fonte. Her hakkı saklıdır.
Bu kod,
MIT lisansı:

https://opensource.org/licenses/MIT*/

int r = 0
int g = 0
int b = 0

int ri = 1
int gi = 3
int bi = 2

// sıfırlama düğmesine bastığınızda kurulum rutini bir kez çalışır:
geçersiz kurulum () {
// dijital pini şu şekilde başlat
bir çıktı.
pinMode (8, ÇIKIŞ)
pinMode (9, ÇIKIŞ)
pinMode (10, ÇIKIŞ)
pinMode (11, ÇIKIŞ)

digitalWrite (9, YÜKSEK)
}

// döngü rutini sonsuza kadar tekrar tekrar çalışır:
geçersiz döngü () {
r = r + ri
g = g + gi
b = b + bi

eğer (r> 255) {
r = 255
ri = -1 * rastgele (1, 3)
}
else if (r<0) {
r = 0
ri = rastgele (1, 3)
}

eğer (g> 255) {
g = 255
gi = -1 * rastgele (1, 3)
}
else if (g<0) {
g = 0
gi = rastgele (1, 3)
}

eğer (b> 255) {
b = 255
bi = -1 * rastgele (1, 3)
}
else if (b<0) {
b = 0
bi = rastgele (1, 3)
}

analogWrite (8, r)
analogWrite (10, g)
analogWrite (11; b)
gecikme (20)
}




Önceki: Arduino Musical Tune Generator Circuit Sonraki: Arduino LCD KeyPad Shield (SKU: DFR0009) Veri Sayfası