Arduino ile LED Yakmak
İlk Arduino Başlangıç Projeleri örneğimiz olan LED yakmak ile karşınızdayız. Evet LED yakmak programcılıktaki “Hello World” gibidir. Elektronik ile ilgilenen herkesin mutlaka gerçekleştirdiği ilk projesidir LED yakmak.
Merhabalar,
İlk Arduino Başlangıç Projeleri örneğimiz olan LED yakmak ile karşınızdayız. Evet LED yakmak programcılıktaki “Hello World” gibidir. Elektronik ile ilgilenen herkesin mutlaka gerçekleştirdiği ilk projesidir LED yakmak. LED bir diyot çeşididir ve akımı tek yönlü geçirir. (Zener diyotlar istisna olabilir) Tek yönlü akım geçiren bu elemanlar birçok alanda kullanılır. Örneğin televizyonlarda stand-by konumunda olup olmadığı hakkında bilgi verebilir. Yahut telefonlarımızda bildirim ışığı olarak kullanılır. Kullanım alanı çok fazla olan bu komponenti iyi bilmekte fayda vardır.
LED açılımı itibariyle güçlü ışık kaynaklarıdır. Light emitting diodes kelimelerinin baş harflerinin bir araya gelmesi ile LED diye tabir edilen bu devre elemanlarının çok çeşitleri vardır. Single LED, RGB LED, şerit LED, power LED gibi farklı amaçlar için kullanılan çeşitleri vardır. Temel elektronikte genellikle 5 mm’lik Single LED’ler kullanılmaktadır.
Aşağıda en basit Arduino-LED bağlantı şemasını görmektesiniz.
Devremizde 1 adet Arduino UNO, 1 adet breadboard, 1 adet 5 mm LED (kırmızı, sarı, mavi, yeşil istediğiniz renkte), dijital pin ile LED’in uzun bacağı olan anot(+) arasına bağlayacağımız 220 ohmluk bir direnç (kırmızı, kırmızı, kahvrengi) ve bir kaç tane de jumper kablosuna ihtiyacımız var.
Arduino 5V gerilim altında çalıştığından bu gerilim insana zarar vermez. Endişe duymadan jumper kablolarını rahatlıkla kullanabilirsiniz. Yalnız LED’in üzerinden geçecek akımı direnç ile kontrol etmek durumundayız. Normal şartlar altında 5 mm’lik bir LED’den 20 mA’lik akım geçmesi beklenir. Bunun üzeri direncin ömrünü azaltır, LED’in patlamasına da neden olabilir. Patlayan LED’in hiç de hoş olmayan bir kokusu olduğunu belirtmekte fayda görüyorum. 🙂
Arduino devre şemalarını bilgisayar ortamında gerçekleştirebileceğiniz birbirinde farklı özellikte yazılım platformları vardır. Proteus, Fritzing ya da TinkerCAD gibi. Biz şemalarımızı TinkerCAD ya da Fritzing üzerinden gerçekleştireceğiz. TinkerCAD ile Arduino Uygulamaları yazıma göz atabilirsiniz. Fritzing programını da şu linkten ücretsiz indirebilirsiniz.
Arduino IDE ile yukarıdaki devre şemasına göre ilk kodumuzu şöyle yazdık:
Kodumuzu yazdıktan sonra derleme ile hatamızın olup olmadığını kontrol etmek için Kontrol Et düğmesini tıklamalı ve “Derleme tamamlandı” bilgisini görmeliyiz. Söz konusu söz diziminde kaynaklı bir hatamız varsa Arduino IDE bize hata mesajını verecektir. Kodumuzu yüklemek için ise Araçlar menüsünden Arduino kartımızı ve kartımızın bağlı olduğu seri portu tercih ederek Yükle düğmesini tıklamalıyız. Yüklenen program sonucunda breadboard üzerindeki LED’imiz ile Arduino üzerinde yerleşik bulunan 13 numaralı dijital pine bağlı olan LED birlikte göz kırpmaya başlayacaktır. Bu örneğe BLINK adı verilmektedir. Board üzerindeki LED ile yerleşik LED aynı anda 1 saniye boyunca yanacak ve sönerek 1 saniye boyunca sönük kalacaktır. void loop() fonksiyonunda yer alan kodların tekrarlanacak kodlar olduğunu söylemiştik. Bu yanıp-sönme işlemi sürekli tekrarlanacaktır.
Arduino’daki pinler kullanılmadan önce giriş mi (INPUT), çıkış mı (OUTPUT) olduğu tanımlanmalıdır. Biz pinMode(LEDpini, OUTPUT); yerleşik fonksiyonu ile bu tanımlamayı yaptık.
Tanımlanan pinlerin nasıl davranması gerektiğini de belirtmemiz gerekmektedir. digitalWrite(LEDpini, HIGH); ve digitalWrite(LEDpini, LOW); kodları ile de tanımladığımız 13 numaralı dijital pinin önce HIGH yani (output 5 Volts-5 Volts çıkış), daha sonra da LOW (output 0 Volts-0 Volt çıkış) olarak davranmasını sağladık.
/* Arduino ile LED Yakmak
***** BLINK (Göz Kırpma) Programı *****
</BlogKod> 1 saniye aralıklı LED'i yakıp söndüren program </BlogKod> */
//İlk olarak pin tanımlaması yapalım
int LEDpini = 13; // 13 numaralı dijital pini LED için tanımladık
void setup() { //1 kez çalıştırılan kodlarımızı bu fonksiyona yazıyoruz
pinMode(LEDpini, OUTPUT);
}
void loop() { // Sürekli tekrarlanacak kodları bu fonksiyona yazıyoruz
digitalWrite(LEDpini, HIGH); // 13 numaralı pine bağlı LED'i yak
delay(1000); // 1 saniye bekle( LED 1 saniye boyunca yanar)
digitalWrite(LEDpini, LOW); // 13 numaralı pine bağlı LED'i söndür
delay(1000); // 1 saniye bekle( LED 1 saniye boyunca yanar)
}
Devremizi doğru kurdu isek, kodlarımızı doğru yazıp doğru bir şekilde Arduino’ya yüklediysek yanıp sönen bir LED görmüş olmalıyız. LED’lerden beklenen davranış gözlemlenmiyorsa devreyi kontrol etmekte, kodları gözden geçirmekte ve Arduino’nun doğru COM Port üzerinden bağlı olduğunu gözden geçirmekte fayda vardır.
Bir sonraki uygulamamız potansiyometre ile LED ışık şiddetinin kontrolü ile ilgili olacak. Görüşmek üzere…
hocam bende olmuyor ya
Devre şemanı görebilirsem daha isabetli yorum yapabilirim. blogkodcom@gmail.com adresime mail yoluyla şemanı atabilirsin.
allah tuttuğunu altın etsin sayende kodumuz çalıştı