Arduino · Elektronik

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.

Burak tarafından yayımlandı

Boş zamanlarımda sürekli bilgisayar başında olan, kendin yap elektronik devreleriyle uğraşan, arduino ve raspberry pie ile seviyeli bir ilişkisi olan, diğer taraftan mezun olduğum istatistikle ilgili çalışmalar yapmaya çalışan birisiyim. Hayatımda bilgi teknolojilerinin yeri çok fazla. Sürekli öğrenmek ve bilinenden başka yollar denemek en büyük hobim diyebilirim.