Merhaba arkadaşlar, bu uygulamamızda standart karaşimşek uygulamalarından farklı olarak buton ile karaşimşek uygulamasını yaparak hem for döngüsü hemde if-else döngüsünü kullanarak daha verimli bir uygulama yapmayı hedefliyoruz.

Malzeme Listesi:

devremizi aşağıdaki şemaya uygun olarak kuralım. Ledlerin kutuplarına ve direnç değerlerine dikkat etmekte fayda var.

Peki neden 0 ve 1 numaralı dijital pinleri kullanmadık? Sebebi 0 numaralı pin (RX) ve 1 numaralı pin (TX)‘ler Arduino ile bilgisayarımız arasındaki iletişimi sağlayan haberleşme pinleridir ve bu pinlere programı yükleme esnasında herhangi bir devre elemanı bağlı olursa Arduino‘ya kodu atamayız. Haberleşmenin kesilmesine sebep olur.Programı Arduino’ya attıktan sonra bu pinleri kullanabiliriz. Bizim yapacağımız uygulamalarda pin sayısı yeterli olduğundan biz ihtiyaç duymadık.

Kod kısmına geçelim. Başlamadan şunu da belirtmek isteriz; kod yazarken en fazla hata kopyala-yapıştır yapılırken yapılmaktadır. Bunun için kodlarımızı kopyalamadan örneklere bakarak yazarsak hem kavrama kolaylığı hem de daha az hata ihtimalini elde ederiz. Bu uygulamamızın en önemli amacı for döngüsünü öğretmektir. For döngüsü belirli sayıdaki işlemleri art arda yapmak için kullanılır. Bir de bütün kodları yazarken süslü parantezlere dikkat etmekte fayda var.

void setup() fonksiyonu içerisindeki for döngüsü ile 2,3,4,5 ve 6 numaralı dijital pinleri pinMode() fonksiyonuyla çıkış (OUTPUT) ve buton adlı 7 numaralı pini giriş olarak ayarladık. void loop() kısmında ise buton durumunu kontrol ettik ve butona basılıysa (1) if komutunun koşulu sağlanmış olacak ve if komutunun içerisini çalıştıracak. if içerisinde bulunan birinci for döngüsü sırasıyla 2,3,4,5 ve 6 numaralı pinlere bağlı ledleri teker teker yakacak ve 100 milisaniye sonra söndürecektir. İkinci for döngüsü ise tersten başlayarak 6, 5, 4, 3 ve 2 numaralı pinlere bağlı ledleri 100 milisaniye aralıklar ile yakılıp, söndürecek. Else komutu ise butona basılı olmadığı durumda çalışacak ve 2, 3, 4, 5 ve 6 numaralı pinlere bağlı ledleri söndürecek. Artık Arduino’yu bilgisayarımıza bağlayabiliriz ve kodumuzu Arduino’ya atabiliriz.

#define buton 7
int buton_durum = 0;
void setup()
{
for (int i = 2; i < 7; i++)
{
pinMode(i, OUTPUT);
}
pinMode(buton, INPUT);
}
void loop()
{
buton_durum = digitalRead(buton);
if (buton_durum == 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 k = 2; k < 7; k++)
{
digitalWrite(k, LOW);
}
}
}

Bu dersimiz işinize yaradıysa ve hoşunuza gittiyse diğer derslerimize göz atmayı unutmayın 🙂

robolinkmarket.com

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz