İçeriğe geç

Arduino ile kara şimşek yapımı

Bugün uzun zamandır yazmak istediğim Arduino’yla ilgili basit ve başlangıç seviyesinde olan bir projeyi yazmak istiyorum. 80-90 kuşağında yaşama fırsatı bulmuş herkesin çok iyi bildiği Araba Kitt’in efsanevi ışıklarını bilmeyen ya da unutan arkadaşları şöyle tıktalım.

Nelere ihtiyacımız var?

  • 1 adet Arduino Uno ve bilbisayar bağlantı kablosu.
  • 8 adet led ve 8 adet 470 Ohm direnç.
  • Breadboard(Devreyi kurabileceğimiz bir platform diyebiliriz)
  • 9 adet jumper kablo

Haydi başlayalım

İlk olarak projeyi elektronik ortamda çizelim. İsteyen arkadaşlar bunu atlayabilirler bu zorunlu bir kısım değildir. Fritzing kullanıyorum hem ücretsiz hem de gayet başarılı.

Şimdi ise Arduino’yu bilgisayara bağlayıp, Arduino sitesinden indirdiğimiz IDE geliştirme ortamına tıklıyoruz. Eğer geliştirme ortamını henüz yüklemediyseniz, şurdan indirip yükleyebilirsiniz.

/* 
  8 led ve ledleri sürmek için 8 adet 470 ohm direnç
  Arduino Uno
  Kablo(jumper)
*/

const int led_pini[]={2,3,4,5,6,7,8,9}; //sabitleri tanımlıyoruz.
const int bekleme_suresi=30; // ledlerin yanma sürelerini burdan ayarlıyoruz.

void setup() {
  for (int led =0; led <8; led++) /*her bir led için teker teker kod yazmaktansa döngüye sokuyoruz. toplam 8 led var ve bu 8 led i arduinoya led değişkeni altında 0'dan 8 e kadar tanımlıyoruz.*/
  {
    pinMode(led_pini[led], OUTPUT); // ledler çıkış olarak atandı  
  }
}
void loop() {
  for (int led=0; led<7; led++) //
  {
    digitalWrite(led_pini[led], HIGH); //led[0] yandı, yani 1.led.
    delay(bekleme_suresi);             //yanık halde bekledi
    digitalWrite(led_pini[led + 1], HIGH); //bir sonraki led yandı
    delay(bekleme_suresi);               //yine bekledi
    digitalWrite(led_pini[led], LOW);    //ilk yanan led söndü
    delay(bekleme_suresi);             /*yine bekledi ve bu döngü sonsuza soldan sağa doğru kayan ışıklar bitene kadar devam edecek.*/
   }

  for (int led = 7; led>0; led--)        /*burda da sağdan sola doğru kayması için verilen komutlar var. Çlaışma mantığı üstteki ile tamamen aynı*/
  {
    digitalWrite(led_pini[led], HIGH);
    delay(bekleme_suresi);
    digitalWrite(led_pini[led - 1], HIGH);
    delay(bekleme_suresi);
    digitalWrite(led_pini[led], LOW);
    delay(bekleme_suresi); 
  }
}

İsterseniz bu çalışma şeklini şurdaki youtube bağlantısından izleyebilirsiniz.

Aklınıza takılan bir soru olursa lütfen sormaktan çekinmeyin.

Kolay gelsin.

3 Yorum

  1. hilal hilal

    rica etsem,daha anlaşılır olması için fritzing şemasını da ekler misiniz?

  2. hilal hilal

    bir de hocam 470 ohm yerine 220 ohm direnç kullansak olur mu?

    • Merhaba Hilal hanim,
      220 ohm kullanmanız durumunda ledler yine çalışacaktır. Sadece daha fazla akım çekerler, bu tarz bir proje için göz ardı edilebilir. İstenen devreyi çizdim. İyi çalışmalar dilerim.

hilal için bir yanıt yazın Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir