Arduinoya yeni başlayanların ilk yaptığı uygulama led yak ve söndür, yani blink uygulamasıdır. Ardından buton ile led yakma gelir. Bu iki uygulamadan sonra pek led yakma animasyonlarıyla uğraşılmaz.
Bu konumuzda sizlere led yakmaya yeni bir bakış açısı getirmeye çalışacağız. Led yakmanın bir tık ötesi, kendi tabirimle led animasyon dediğim 3 adet örnek uygulama göstereceğim. Bu üç uygulamada da led animasyonunun hızını bir potansiyometre yardımı ile kontrol edeceğiz.
3 adet led showunda da bütün bağlantılar aynı. Farklı olan sadece kodlardır . Şimdi bu showlar için öncelikle aşağıda bulunan şemaya göre bağlantılarımızı yapalım.
Bağlantılarını hatasız bir şekilde yaptıysanız sıra geldi kodlarımıza. Şimdi sizlere hangi kod ledlere nasıl bir animasyon veriyor birlikte vereceğim. Kodları kopyalayıp direk uygulamak kolayınıza gelebilir. Ama ben kodları aynı zamanda anlamanızı ve geliştirerek farklı uygulamalar yapmanızı tavsiye ederim.
ilk led showumuz aşağıdaki animasyondaki gibi:
Bu animasyonun kodları aşağıdaki gibidir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
void setup() { pinMode(0, INPUT); for(byte a=2;a<9;a++){ pinMode(a, OUTPUT); } } void loop() { for(byte a=2;a<9;a++){ for(byte x=2;x<9;x++){ digitalWrite(x, LOW); } digitalWrite(a, HIGH); delay(analogRead(A0)); } } |
Bir diğer animasyonumuz ise aşağıdaki gibi :
Bu led animasyonunun kodları da aşağıdaki gibi:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
void setup() { Serial.begin(9600); pinMode(0, INPUT); for(byte a=2;a<9;a++){ pinMode(a, OUTPUT); } digitalWrite(5,HIGH); } void loop() { digitalWrite(5,HIGH); delay(analogRead(A0)); for(byte a=1;a<4;a++){ digitalWrite(5+a, HIGH); digitalWrite(5-a, HIGH); delay(analogRead(A0)); } delay(analogRead(A0)); for(byte x=3;x>0;x--){ digitalWrite(5+x, LOW); digitalWrite(5-x, LOW); delay(analogRead(A0)); } digitalWrite(5,LOW); delay(analogRead(A0)); } |
üçüncü ve son led animasyonumuz da aşağıdaki görüldüğü gibi:
Toplayarak yanan bu animasyonun kodu da aşağıdaki gibidir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
void setup() { pinMode(0, INPUT); for(byte a=2;a<9;a++){ pinMode(a, OUTPUT); } } void loop() { for(byte n=2;n<9;n++){digitalWrite(n, LOW);} for(byte z=8;z>2;z--){ for(byte b=2;b<9;b++){ for(byte x=2;x<z;x++){digitalWrite(x, LOW);} digitalWrite(b, HIGH); delay(analogRead(0)); }}} |
Sorularınız varsa yorum bölümünden bizlere yazabilirsiniz. Konuyu benğendiyseniz beğenip paylaşmayı unutmayın kolay gelsin.