a01108b3kit

Arduino İle Kara Şimşek Devresi

      Knight Rider orijinal ismiyle 80’li yıllara damga vuran Kara Şimşek dizisinde Michael Knight’ın efsane arabası KITT’in yanan ışıklarını unutmak mümkün değil. Bu dersimizde bizde KITT’in yanan ışıklarını nasıl yapabileceğimizi öğreneceğiz. 

      Öncelikle kullanacağımız malzemelerimizin listesini yapalım.

     Kullanılacak Malzemeler :

  • Arduino Uno
  • Breadboard
  • 7 adet LED
  • 7 adet 220 Ω direnç
  • Jumper kablo (iki ucu erkek)

      Aşağıda FRITZING uygulamasında gösterilen modellemeye göre devremizi kuruyoruz.

Ekran Resmi 2021-05-03 11.09.16

      Devremizi kurarken LED’lerimizin kısa bacaklarını yani (-) uçlarını GND’ye , uzun bacaklarını yani (+) uçlarını ise 220 Ω dirençler ile Arduino çıkış pinlerine bağlamaya dikkat edelim. Aksi takdirde devremiz çalışmayacaktır.

      Şimdi Arduino ile kodumuzu yazma aşamasına geçebiliriz.

      Bu uygulamada for döngüsünü kullandık. For döngüsü bir kod bloğunun istediğimiz sayıda çalışmasını sağlar. Kodlamada for döngüsünün kullanımı aşağıda görülmektedir. Yani for döngüsü ile yapmak istediğimiz işlemin başlangıç ve bitiş değerlerini belirlediğimiz bir şarta göre kontrol edebiliriz. Bu uygulama da tamda böyle bir duruma ihtiyacımız var. Çünkü ledlerimizin sırayla yanıp sönmesini istiyoruz.

Ekran Resmi 2021-05-03 12.20.48

      Kara şimşek uygulamasında kullanacağımız kod aşağıdaki görselde belirtilmiştir.

Ekran Resmi 2021-05-03 13.36.38

       Arduino ile kodumuzu yazarken öncelikle 7 adet LED için integer tipinde bir dizi tanımlıyoruz. Daha sonra void setup içerisine bir for döngüsü yazıyoruz. int karakterinde bir “i” değişkeni tanımlayarak başlangıç değerini 0 yapıyoruz. i değişkeni 7’den küçük olduğu sürece i’nin değerini 1 arttırmasını istiyoruz. Böylece for döngüsünün 7 kez tekrarlanmasını sağlamış oluyoruz. Ayrıca pinMode komutu ile oluşturduğumuz değişken pinlerimizi çıkış pini olarak tanımlıyoruz. 

      Void loop içerisine ledlerimizi sırasıyla yakıp söndürecek 2 for döngüsü daha yazıyoruz. İlk for döngüsünde dizideki değişkenler i=0 ile başlar ve i değeri 7’den küçükse i’nin değeri 1 arttırılır. Bu döngü ilk LED’den yedinci LED’e kadar devam eder ve döngüden çıkılır.  i=0 dizideki ilk sırada bulunan 2 nolu çıkış pinine bağlı LED’i 30 milisaniye boyunca yakar ve sonra söndürür. Artık i’nin değeri 1 artacak ve i=1 olacaktır. Bu da dizide ikinci sırada bulunan 3 nolu çıkış pinine bağlı LED’i aktif edip 30 milisaniye yakacak ve söndürecektir. Bu durum yedinci LED yanıp sönene kadar devam edecektir. 

      İkinci for döngüsüne baktığımızda i=5’ den başladığını ve i’nin 0 dan büyük olana kadar bu döngünün sürmesini istediğimizi görmekteyiz. Bunun en önemli nedeni ilk döngüde birinci ve sekizinci LED’lerim yanıp sönmüştür. Bu döngüde arada kalan 5 tane LED’in geriye doğru yanıp sönmesini istiyoruz. Bunun için bu döngü i=5 ile başlar ve i değişkeni 0’ dan büyük olana kadar ( ikinci led yanıp sönene kadar ) azalarak devam eder ve döngüden çıkılır. Bundan sonra ilk döngü tekrar başlayacak ve birinci led yanıp sönerek bu işlemler ard arda  tekrarlanacaktır.

      Devremizi çalıştırdığımızda LED’lerin sırayla ileri ve geri yönde yanıp söndüğünü göreceğiz. İsterseniz koddaki delay komutundan süreyi değiştirebilir ve devrenizin LED’lerinin daha hızlı yada daha yavaş döndüğünü görebilirsiniz. 

Haydi 4. derse —>