ARDUINO DERS 3

ARDUINO İLE LED YAKMA


BU DERSTE NELER ÖĞRENECEĞİZ?

Bu derste,

  • LED yakmak için gerekli devreyi,
  • Arduino ile LED yakmayı,
  • Kullandığımız direncin etkisini ve
  • Arduino’nun farklı dijital portlarını kullanmayı
öğreneceğiz.

 

GEREKLİ MALZEMELER

Öncelikle, bu derste hangi malzemeleri kullanacağımızı görelim.

 
 
Arduino Uno R3 1 Adet Kırmızı LED 1 Adet 150Ω Direnç 1 Adet 1kΩ Direnç Bağlantı Kabloları (Jumper) Devre Tahtası (Breadboard)
Arduino Uno Kırmızı LED 150Ohm Direnç 1kOhm Direnç Jumper Breadboard
 

LED YAKMA DEVRESİ

Program yazma kısmına geçmeden önce gerekli devreye bir göz atalım. Bu devre için sadece iki elektronik parça kullanıyoruz: bir adet LED ve bir adet 150 Ω direnç. Kuracağımız devrenin şemasını aşağıda görebilirsiniz. Bu devre ile LED Yakma yazımızdaki devre birbirine çok benziyor. Bu ikisinin tek farkı, burada LED’i güç kaynağına değil de Arduino’nun dijital portuna bağlamamız.

Arduino LED Yakma-Devre Şeması

Devre Şeması

LED’i yakabilmek için, Arduino’nun dijital portunda 5V gerilim oluşur. Bu voltaj tek bir LED için biraz yüksek bir değer. LED üzerine düşen voltajı düşürmek ve aynı zamanda akımı sınırlandırmak için bir de direnç kullanıyoruz.

 

Kırmızı LED normal parlaklığında yanarken üzerindeki voltaj düşümü 2V’tur (Bknz. LED’in Çalışma Voltajı). 5V’un geriye kalan 3V’u direnç üzerinde kalır. Böylece hem direnç hem de LED’ten geçen ortak akım 3V/150Ω=20mA olur. Daha yüksek bir direnç takmak, akımı azaltıp LED’in daha sönük yanmasını sağlayacaktır. LED’in parlaklığı ile ilgili detaylı bilgiyi LED’in parlaklığı bağlantısında bulabilirsiniz.

 

Bu devrede LED’in yönüne dikkat etmeliyiz. LED, yönü olan bir elektronik parçadır. Yani doğru yönde takmazsak LED yanmaz. LED’in yönünü bulmak için bir kaç yöntem bulunmakta (detaylar için LED BACAKLARI - ANOT VE KATOT dosyasını okuyabilirsiniz.) ama bunlardan en kolayı bacakların uzunluklarına bakmak.

LED Anot-Katot

LED'in Bacakları

LED’lerin bacaklarından biri diğerinden biraz daha uzun olur. Uzun olan bacak anottur, kısa olan ise katot. LED’in yanması için akımın anottan katota doğru akması gerekir. Buradaki güç kaynağımız Arduino’nun portu olduğundan, LED’in anot bacağını (uzun olan bacağı) Arduino’nun portuna bağlamalıyız. LED’in diğer bacağını ise direnç tarafına bağlamalıyız.

 
Arduino LED devresi

LED Yakma Devresi

Yukarıda kurduğumuz gerçek devreyi görebilirsiniz. Arduino üzerinde devre kuracak bir mekanizma olmadığı için, LED ve direnci küçük bir devretahtası üzerine yerleştiriyoruz. LED’in anot bacağı ve Arduino’nun 13. dijital portunu birbirine bağlamak için iki tarafı da erkek olan bir bağlantı kablosu kullanıyoruz. LED’in katot tarafı ile direncin bir bacağını devretahtasında aynı satırdaki farklı deliklere sokarak birbirine bağlamış oluyoruz . Direncin diğer bacağını ise, gene iki tarafı da erkek olan bir bağlantı kablosu ile Arduino’nun GND çıkışına bağlıyoruz.

 

Gerekli devreyi öğrendiğimize göre artık programlama kısmına başlayabiliriz.

 

ARDUİNO İLE LED YAKALIM

Bu kısımda üç şey yapacağız:

  • İlk olarak, Arduino’nun örnekler kısmındaki “Blink” programını yükleyeceğiz; ama bu defa yukarıda anlatılan devreyi kurarak kendi taktığımız LED’i yakıp söndüreceğiz.
  • Daha sonra, LED’i yakmak için farklı portlar kullanacağız.
  • Son olarak ise, farklı dirençler kullanıp, direnç değerinin LED’in parlaklığı üzerindeki etkisine bakacağız.
LED Yakma

İlkiyle başlayalım. Bir önceki derste, “Blink” örneğini Arduino’ya yüklemeyi öğrenmiştik. Blink örneğinin kodlarını aşağıda görebilirsiniz.

/*

Blink

Turns on an LED on for one second, then off for one second, repeatedly.

 

Most Arduinos have an on-board LED you can control. On the Uno and

Leonardo, it is attached to digital pin 13. If you're unsure what

pin the on-board LED is connected to on your Arduino model, check

the documentation at http://www.arduino.cc

 

This example code is in the public domain.

 

modified 8 May 2014

by Scott Fitzgerald

*/

 
 

// the setup function runs once when you press reset or power the board

void setup() {

// initialize digital pin 13 as an output.

pinMode(13, OUTPUT);

}

 

// the loop routine runs over and over again forever:

void loop() {

digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)

delay(1000); // wait for a second

digitalWrite(13, LOW); // turn the LED off by making the voltage LOW

delay(1000); // wait for a second

}

Bu örneği Arduino’ya tekrar yükleyip aşağıdaki devreyi kuralım. Eğer, en son bu programı yüklediyseniz tekrar yükleme yapmanıza gerek yok, çünkü gücünü kezseniz dahi yüklediğiniz program Arduino’dan silinmez. Örneğin, bir yıl sonra ilk kez güç verdiğinizde gene içine en son yüklediğiniz programı çalıştıracaktır.

Arduino LED devresi

LED Yakma Devresi

Böylece Arduino ve devre elemanlarından oluşan ilk devremizi kurmuş oluyoruz. Bu örneği çalıştırdığımızda sadece Arduino üzerindeki küçük LED değil, aynı zamanda devre tahtasına yerleştirdiğimiz LED’de yanıp sönecektir.

SİZ DE DENEYİN-ALIŞTIRMA

Bu program yüklüyken, LED’in 13 numaralı dijital portla bağlantısını keselim. LED’i 12 numaraya bağlayıp yanıp yanmadığına bakalım. Aynı şeyi diğer numaralar için de tekrarlayabilirsiniz.

Çıkış Portunu Değiştirme

Programda üç satırda 13 sayısını görmekteyiz.

  • pinMode(13, OUTPUT);
  • digitalWrite(13, HIGH);
  • digitalWrite(13, LOW);

Üç satırda da 13 yerine 12 yazıp, programı tekrar Arduino’ya yükleyelim. Devrede bir değişiklik yapmadıysak, LED’in yanıp sönmeyi bıraktığını görürüz. Çünkü, artık çıkışı 13 numaradan değil, 12 numaradan veriyoruz. LED’in yanıp sönebilmesi için uzun bacağı 12 numaraya bağlamalıyız.

 
Arduino LED devresi

12. Port ile LED Yakma Devresi

SİZ DE DENEYİN-ALIŞTIRMA

5’inci dijital porta bağlı bir LED’in yanıp sönmesini sağlayacak şekilde programı değiştirip, Arduino’ya yükleyin. LED’in uzun bacağını 5 numaraya bağlamayı unutmayın.

Farklı Dirençler Takarsak Ne Olur?

Son olarak, direnç değerini değiştiriyoruz. Şu ana kadar LED yakmak için 150Ω direnç kullanmıştık. Şimdi programı değiştirmeden, 150Ω yerine 1kΩ direnç kullanalım. 1kΩ daki k, bin sayısını ifade eder (metre, kilometre ilişkisindeki gibi), yani 1kΩ=1000Ω’dur, bir önceki kullandığımız direncin yaklaşık yedi katı. Bu da, akıma karşı yedi kat fazla direnç gösterileceğini ve akımın bir öncekinden çok daha az geçeceğini gösterir. Programda bir değişiklik yapmadığımız için LED yanıp sönmeye devam edecektir. Yalnız, LED üzerinden geçen akım azaldıkça, parlaklığı da azalır. Bu nedenle 1kΩ direnç kullanıldığında LED’in çok daha sönük yandığını görürüz. Fotoğraftan çok belli olmuyor olabilir, ama denediğinizde siz de aradaki farkı rahatlıkla görebilirsiniz.

 
Arduino LED 1kOhm

1kΩ Direnç Kullanıldığında

SİZ DE DENEYİN-ALIŞTIRMA

Devremizde 4.7kOhm’luk direnç kullanıp LED’in parlaklığındaki değişime bakalım.

Bir sonraki dersimizde yukarıda yükleyip denediğimiz programı satır satır inceleyip, hangi komutun ne anlama geldiğini, hangi satırın ne işe yaradığını ve tüm Arduino programlarında olması zorunlu kısımları öğreneceğiz. Sonunda, Arduino programlamaya başlıyoruz :).

BİR SONRAKİ DERS

DERS 4-ARDUINO PROGRAMLAMAYA GİRİŞ

Arduino programlamanın temellerini 4. derste atıyoruz. Bir portu giriş veya çıkış yapmayı, dijital bir porttan veri göndermeyi ve bazı Arduino fonksiyonlarını 4. derste öğreniyoruz.


Copyright © 2016 DEVRE OKULUTüm Hakları Saklıdır.