Arduino Ders 3: LED Yakıp Söndürme (Blink)

Merhaba arkadaşlar. Arduino serimizdeki ilk uygulamamızda LED yakıp söndürmeyi öğreneceğiz.
Gerekli Malzemeler:
  • Arduino Uno
  • Breadboard
  • LED
  • 220 Ω direnç
  • İki ucu erkek jumper kablo
Şimdi sıra Arduino programımızı hazırlamakta.
Arduino programımızı açıyoruz. Şu sırayı takip ederek “Blink” isimli örnek programı açıyoruz:
Dosya > Örnekler > 01.Basics > Blink



Bu kodu beraber inceleyelim:
pinMode(13, OUTPUT);
Bu satır, kart üzerindeki 13 numaralı pini çıkış verecek şekilde ayarlıyor. Kullanacağımız pin çıkış veya giriş olarak belirlenmez ise programın devamında yazacağımız giriş veya çıkış fonksiyonları, o pini kullanamaz.
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
Bu kısım ise öncelikle 13 numaralı pine HIGH lojik seviyesine, yani 5V’a ayarlıyor, 1000 milisaniye (1 saniyeye eşittir) hiçbir işlem yapmadan bekliyor ve bu sefer 13 numaralı pini lojik LOW yani 0V veya toprak hattı seviyesine ayarlıyor. Bu işlemi yaptıktan sonra mikokontrolcü, delay fonksiyonu sayesinde tekrardan 1 saniye hiçbir işlem yapmadan bekliyor.
Bu koddaki delay komutlarının sürelerini değiştirerek LED’in açık ve kapalı kaldığı süreleri değiştirebiliriz. Eğer başka bir pin kullanmak istersek tek yapmamız gereken pinMode ve digitalWrite fonksiyonlarında bulunan pin numarasını kullanmak istediğimiz pin numarası ile değiştirmek. LED’imize 220 Ω’luk bir direnci seri bağlamayı unutmuyoruz!

____________________________________________________________________________

Farklı bir Pin'de LED Yakmak

Merhaba arkadaşlar. Bugün arduinomuzu programlamaya başlayacağız. Daha önce hiç programlama tecrübesi, elektronik tecrübesi olmayan arkadaşlar korkmayın. Dersleri okuyup uyguladıktan sonra sıfırdan ileri seviyeye kadar ilerleyebileceksiniz. Önceki temel dersleri okumadıysanız ilk önce bunları okuyarak sırayla ilerlemeniz derslerin anlaşılması açısından daha faydalı olacaktır. Arduinoyu programlamak için ilk önce arduinonun kendi sitesinden (https://www.arduino.cc/en/Main/Software) Arduino IDE programını indirip kuruyoruz. Daha sonra arduinomuzu USB kablosu ile bilgisayarımıza bağlıyoruz. İndirdiğimiz programı açtıktan sonra ilk önce kullandığımız arduino modelini seçmemiz gerekiyor. Tools menüsünden Board kısmına gelip arduino modelimizi seçiyoruz. Yine Tools bölümünden Serial Port kısmından arduinonun bağlı olduğu portu seçiyoruz. Eğer arduinonun bilgisayar bağlantısında sorun varsa bu menü silinik gözüküyor ve port seçilemiyor. Bu ayarları da yaptıktan sonra artık arduinomuz programlamaya hazır durumdadır.

Arduino programı void setup(){} ve void loop(){}olmak üzere iki ana bölümden oluşmaktadır. void setup kısmına yazdığımız programlar arduino çalıştığında sadece bir defa çalışan ayar programlarıdır. Bu alanda projemizde arduinonun hangi pinleri kullandığımızı tanımlarız. void loop ise arduinomuza yaptırmak istediğimiz ana programı yazarız. Buradaki kodlar arduino tarafından sırayla okunur ve işleme sokulur. Tüm satırlar bitince tekrar void loop içindeki ilk satıra döner ve bu döngü arduino çalıştığı sürece devam eder.

Devremizi resimdeki gibi bağladıktan sonra dikkat etmemiz gereken nokta ledin +(uzun bacak) bacağını arduinoya -(kısa bacak) bacağını gnd hattına bağlamak olacaktır. Ters bağlandığı takdirde çalışmayacaktır.

Şimdi gelelim kodlama kısmına. İlk olarak void setup(){} kısmında arduinomuzun hangi pinlerini kullandığımızı tanımlıyoruz. Bunun için süslü parantez({})ler arasına pinMode(arduino pin numarası , OUTPUT);kodunu yazıyoruz. Biz D9 pinini kullandığımız için kodumuz pinMode(9 , OUTPUT); şeklinde olacak. Böylece arduinomuza sadece 9 numaralı pini kullandığımızı ve çıkış olduğunu söyledik. Çıkış olması o pin aktif olduğu zaman 5v elektrik vermesi gerektiğini belirtmektedir. Eğer OUTPUT yerine INPUT kodu kullansaydık o pinden 5v vermek yerine pini okuyup dışarıdan elektrik verince ölçüp haber vermesi gerektiğini söylemiş olurduk. Diğer derste detaylı anlatılacaktır.
Burada dikkat edilecek noktalar pinMode kısmında M harfi büyük harf, OUTPUT kodu büyük harf ve en sonunda noktalı virgül; olmasıdır. Programlama dillerinde o satırın bittiğini noktalı virgülle ; belirttiğimiz için her satır sonu kullanmamız gerekmektedir. Bir ince detay da süslü parantezlerin{} bir küme olduğu ve içine birden çok eleman yazılabilip her elemandan sonra; yazılması gerektiğidir.

Ayar kısmında ayarlarımızı yaptıktan sonra asıl programı yazdığımız void loop(){} kısmına geliyoruz. ledi yakmamız için ledi bağladığımız pine 5v elektrik verilmesi istiyoruz. Bunun için süslü parantezler arasına digitalWrite(arduino pin numarası, HIGH); komutu kullanacağız. Biz D9 pinini kullandığımız için kodumuz digitalWrite(9, HIGH); şeklinde olacak. Ledimizin söndürmek istediğimiz zaman digitalWrite(9, LOW); kodunu kullanarak o pindeki enerjiyi kesmiş oluruz. Ledimizin bir saniye aralıkla yanıp sönmesini sağlamak için araya delay(milisaniye); kodu kullanmamız gerekecektir. Bu kod içine yazılan süre kadar arduinonun beklemesini, süre dolduktan sonra diğer satırlara geçmesini söylemektedir. Programlama dillerinde günlük hayatta kullandığımızın aksine 1000 milisaniye 1 saniye etmektedir. bu yüzden bekleme kodumuz delay(1000); şeklinde olacaktır. Tüm kodlarımızı derleyecek olursak yazmak istediğimiz program şu şekildedir.

void setup()  // Sadece bir kere arduino başlatılırken çalışan kodlar yazılır.
{
pinMode(9, OUTPUT);  // D9 pinini çıkış olarak tanımladık.
}
void loop()  // Sürekli çalışmasını istediğimiz ana program kodları yazılır. 
{
digitalWrite(9, HIGH);  // D9 pinine 5V çıkış verdik.
delay(1000);  // Arduinonun 1000 milisaniye işlem yapılması durdurularak bekletilir.
digitalWrite(9, LOW);  // D9 pininin enerjisini kestik.
delay(1000);  // Program en başa hemen dönüp ledi çalıştırmadan önce kapalı beklettik.
}
Eğer delay kodunu kullanmasaydık ledi yakıp söndürme arasındaki süreyi arduinomuzun hızı belirleyecekti. Çok hızlı olduğu için gözün algılayamadığı kısa sürede ledi kapattıktan hemen sonra geri açacak ve sürekli yanıyor gibi gözükecekti. 

Yorum Gönder

Daha yeni Daha eski