Arduino Devresini Sırayla Kullanarak Yanıp Sönen 3 LED (R, G, B)

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





Gönderi, Arduino'yu kullanarak üç LED'in sırayla nasıl çalıştırılacağını veya yanıp söneceğini açıklıyor. Gönderi yazan ve gönderen: Jack Franko

PROGRAM
/* make RGB LEDs to blink in series one by one at interval
of 1000MS */

int R = 12int G = 11int B = 10
void setup(){ pinMode
(R,OUTPUT) pinMode
(G,OUTPUT) pinMode
(B,OUTPUT)

}
void loop(){ digitalWrite
(R,HIGH) delay (1000) digitalWrite
(R,LOW) delay (1000) digitalWrite
(G,HIGH) delay (1000) digitalWrite
(G,LOW) delay (1000) digitalWrite
(B,HIGH) delay (1000) digitalWrite
(B,LOW) delay (1000)

}



AÇIKLAMA

Bugün gidiyoruz
3 LED'i (KIRMIZI, YEŞİL, MAVİ) aralıklarla tek tek açıp kapatmayı öğrenmek için
1000 MS bu bir saniyedir.
int R = 12 int G = 11 int B = 10

daha önce öğrendiğimiz tamsayı ifadesinin farkında olduğumuz için,
bugün, sırasıyla 12, 11 ve 10 numaralı arduino pinlerine ayarlanacak olan R, G ve B tam sayılarını kullanacağız.
Ne yaptığımızı daha az karmaşık ve daha kolay anlamak için led renklerinin gizlice açılıp kapanması için R, G ve B kullanıyoruz.
Yukarıdaki programda gösterildiği gibi tüm tam sayıları ayarladıktan sonra, aşağıdaki gibi void kurulumu olan ana program kısmını ayarlayacağız.



void setup(){ pinMode
(R,OUTPUT) pinMode
(G,OUTPUT) pinMode
(B,OUTPUT)

burada pine modunu önceden ayarlanmış tamsayı yani çıktı olarak belirtiyoruz. 12 numaralı pin için R, 11 numaralı pin için G ve 10 numaralı pin için B pinmode ile arduino pinini, tüm pinlerin çalışacağı döngüyü ayarlamak için tamsayı tis süreli çıkış olarak belirledikten sonra. Burada 2. ana işlev, aşağıda belirtildiği gibi boş döngüdür.

void loop(){ digitalWrite
(R,HIGH) delay (1000) digitalWrite
(R,LOW) delay (1000) digitalWrite
(G,HIGH) delay (1000) digitalWrite
(G,LOW) delay (1000) digitalWrite
(B,HIGH) delay (1000) digitalWrite
(B,LOW) delay (1000)

} Burada döngü ifadesinde arduino'ya tamsayıda R ve void kurulumunda çıktı olarak belirtilen 12 numaralı pin ile çalışmasını söylüyoruz. Arduino'ya 12 no'lu pini “ON” anlamına gelen “high” konumuna getirmesini ve aritmetik dilde 1000MS olan “delay” fonksiyonu yardımıyla bir saniye beklemesini söyleyeceğiz. Aşağıda belirtilen script led'i açık konuma getirecek ve 1 saniye bekleyecek ancak Arduino 1 saniye bekledikten sonra ne yapacağını anlamayacak, bu da uzun süre pozisyonda kalmasına neden olacaktır.

digitalWrite
(R,HIGH) delay (1000)

bu yüzden bir saniye sonra arduino'ya pin no ”12” yani “R” yi “KAPALI” olan “düşük” konuma ayarlamasını söylemeliyiz.

digitalWrite
(R,LOW)

yukarıda belirtilen açıklama ledleri söndürecek. 1 saniye beklemek istemezsek, Arduino döngüyü okumaya devam edecek ve LED'i sık sık 'ON' konumuna getirecektir. Bu nedenle, bu aşamada Arduino'ya 12 numaralı pin'den sonra ' KAPALI ”1000 MS olan 1 saniye bekleyin.

delay (1000)

bu, KIRMIZI LED için belirttiğimiz 12 numaralı pin için tam bir döngüdür. Bu, led'i AÇIK konuma getirecek ve 1 saniye bekleyip LED'i KAPATACAK ve 1 saniye bekleyecektir. Bundan sonra YEŞİL ve MAVİ LED için aşağıdaki gibi aynı döngüyü ayarlamamız gerekir.

digitalWrite
(G,HIGH) delay (1000) digitalWrite
(G,LOW) delay (1000) digitalWrite
(B,HIGH) delay (1000) digitalWrite
(B,LOW) delay (1000)

bu program üç LED R, G ve B'yi uzun süre sırasıyla 'AÇIK' ve 'KAPALI' olacak şekilde ayarlayacaktır. İstediğiniz gibi açıp kapatmak için 3 LED'den fazlasını programlayabilirsiniz. Bu eğitimler Newbees'ın programı anlaması ve Arduino ile oynaması içindir.




Önceki: Ayarlanmış Kızılötesi (IR) Dedektör Devresi Sonraki: Bu Basit Set Sıfırlama Devresini IC 555 kullanarak yapın