#12 derste
öğrendiğimiz for döngü yapısını kullanarak biraz daha detaylı bir proje
ürettik. Buton ile Kara Şimşek uygulaması için gerekli devre elemanlarına
arduino başlangıç setleriyle kolayca ulaşabilirsin. Elimden geldiği kadar
detaylı anlatmaya çalıştım. Umarım faydalı olur.
Kara Şimşek Devre Nedir?
"Kara şimşek devresi: sırayla bir yöne doğru
yanma/sönme işlemi yapan, son LED’e geldiğinde ise bu işlemi ters yönde
gerçekleştiren bir LED dizisinden oluşmaktadır. Hadi şimdi bu devre için neler
gerektiğine bakalım."
Gerekli malzemeler:
- Arduino Uno
- Breadboard
- 5 x LED
- 5 x 220Ω Direnç
- 1 tane 10 K Direnç
- 15 tane Jumper Kablo
- 1 tane 4 bacaklı Buton
4 Bacaklı Buton Nasıl Çalışır?
"Yukarıda fotoğrafı gösterilen 4 bacaklı butonu bir çok
elektronik cihazda görebiliriz. Fiyatının ucuzluğu, kolay bulunabilirliği ve
devre tahtasına uygun olması nedenleriyle elektronik devrelerde sıklıkla
kullanılır. İki bacaklı versiyonuna göre mekanik olarak daha kararlı olduğu
söylenebilir. Dört bacaklı olması nedeniyle devre tahtasına ve baskı devreye
daha sağlam tutunur. Fotoğraftaki butonlar 6mmx6mm boyutlarında, fakat farklı
boyutlarda dört bacaklı butonlar da piyasada mevcuttur.
Bu butonda toplam dört adet bacak bulunmaktadır. Butona basıldığı zaman A1 ve A2 bacakları kısa devre olur. Başka bir değişle A1-A2 arasında bir
iletim hattı kurulur. Elimizi çektiğimiz zaman ise A1-A2 arası açık devre haline gelir, yani, iletim kesilir. Benzer
şekilde, B1-B2 hattı, butona basıldığında kısa devre, basılmadığında ise açık
devre haline gelir. A1 ile B1 bacakları butonun içinde birbirine bağlıdır. A2
ile B2'de içeriden kısa devre olan bacaklardır."
BUTON İLE KARA ŞİMŞEK DEVREMİZ
KODLARIMIZ
int buton=7;
void setup() {
for(int i=2; i<7; i++)
{
pinMode(i,OUTPUT);
}
pinMode(buton,INPUT);
}
void loop() {
int butondurum=digitalRead(buton);
if(butondurum==1)
{
for(int a=2; a<7; a++)
{
digitalWrite(a,HIGH);
delay(100);
digitalWrite(a,LOW);
}
for(int b=7; b>2; b--)
{
digitalWrite(b,HIGH);
delay(100);
digitalWrite(b,LOW);
}
}
else
{
for(int c=2; c<7; c++)
{
digitalWrite(c,LOW);
}
}
}






Yorumlar
Yorum Gönder