Arduino Uygulamaları-7 Karaşimşek Nasıl Yapılır
90'lı yılların efsane dizisindeki; KITT adında yapay zekaya sahip arabanın ön tarafında bulunan, meşhur ve aslında çok basit olan kayar Led uygulamasının tüm sırlarını ifşalıyoruz.:) Aslında burada sırasıyla yanıp sönen bir Led uygulaması mevcut, biz projemizde 8 adet ledi Arduino'da "for" döngüsünde çevirip sırasıyla yanıp sönmesini sağlayacağız. Ledlerin yanıp kısa devreye düşmemesi için 220Ω'luk 8 adet direnç kullanacağız. Bir bacağını Led'e bağladığımız dirençlerin bir bacağını da Arduino da kullanacağımız digital girişlere bağlıyoruz. Jumper ara bağlantı kablosuyla Arduino ya bağlantımızı sağlayabiliriz. Dipnot; direncin yönü olmadığı için istediğimiz tarafa bağlayabiliriz.
-->Devrenin Malzemeleri
- Arduino Uno
- 8 Adet Kırmızı Led
- 8 adet Direnç
- Breadboard (Büyük Boy)
- Jumper Kablolar
-->Devrenin Montajı
Kısa (katot) bacağını GND'ye taktığımız LED'in uzun (anot) bacağını dirence bağladıktan sonra direncin diğer bacağını da Arduino'nun ilgili Digital çıkışına bağlıyoruz. Basit bir montajdan sonra gelelim kod kısmına;
-->Devrenin Kod'u
Yazımızın başında da dediğimiz gibi Kod'da "for" döngüsünü kullanacağız. Aslında burada ledleri sırasıyla "INPUT" - "OUTPUT" gibi ayarlayıp bunuda sırasıyla verdiğimiz delay ile yakıp söndürebiliriz ama hem karışıklığı gidermek hem de daha verimli ve kolay olan "for" döngüsünü kullanacağız. Bu döngü aslında 8 Led için bize çok verimli gelmeyebilir. 1000 ledli bir kayar Led uygulamasını düşündüğümüz zaman aslında "for" döngüsünün hayat kurtarıcı olduğunu anlayabiliriz.
const int LEDdizisi[] = {2,3,4,5,6,7,8,9};
void setup () {
for(int i=0; i<8 ;i++)
{ /* For dongusuyle LEDdizisi elemanlarina ulasiyoruz /
pinMode(LEDdizisi[i], OUTPUT); / LED pinleri cikis olarak ayarlandi */
}
}
void loop() {
for(int i=0; i<8; i++){ /* Tum LEDleri sirayla 50 milisaniye yakip sonduruyoruz */
digitalWrite(LEDdizisi[i],HIGH);
delay(50);
digitalWrite(LEDdizisi[i],LOW);
}
for(int j=7;j>-1; j--)
{ /* LEDleri geri yonde 50 milisaniye yakip sonduruyoruz */
digitalWrite(LEDdizisi[j],HIGH);
delay(50);
digitalWrite(LEDdizisi[j], LOW);
}
}
Digital girdileri Arduino'nun D2 girişinden başlayarak yaptığımız ve sırasıyla 2,3,4,5,6,7,8,9 pinlerini kullandığımız uygulamamızda kodu yükleyip montajı yaptıktan sonra elektriği verip devremizi çalıştırabiliriz.
Arduino Mega kullanırsak 54 adet Digital çıkış elde edebiliriz bu sayede projemizde 54 tane Led 'i kontrol edebiliriz.