LED Yakıp Söndürme
Arduino serisinin ilk uygulamasında LED yakıp söndürmeyi, Blink örneğini ve farklı bir pine LED bağlamayı öğreneceğiz.
Merhaba arkadaşlar. Arduino serimizdeki ilk uygulamamızda LED yakıp söndürmeyi öğreneceğiz.
- Arduino Uno
- Breadboard
- LED
- 220 Ω direnç
- İki ucu erkek jumper kablo
LED’i Arduino pinine bağlarken mutlaka seri direnç kullanmalıyız. 220 Ω direnç, Arduino Uno gibi 5V kartlarda LED ve pin için güvenli ve yaygın bir seçimdir.
void setup() {
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
pinMode(13, OUTPUT);
Bu satır, kart üzerindeki 13 numaralı pini çıkış olarak ayarlar. LED’i yakıp söndürmek için kullanacağımız pinin çıkış olarak tanımlanması gerekir.
digitalWrite(13, HIGH);
13 numaralı pine HIGH lojik seviyesi gönderir. Arduino Uno gibi 5V kartlarda bu, ilgili pine yaklaşık 5V verilmesi anlamına gelir.
delay(1000);
Programın 1000 milisaniye, yani 1 saniye beklemesini sağlar.
digitalWrite(13, LOW);
13 numaralı pine LOW lojik seviyesi gönderir. Bu durumda pin yaklaşık 0V seviyesine çekilir ve LED söner.
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 pinMode ve digitalWrite fonksiyonlarında bulunan pin numarasını kullanmak istediğimiz pin numarası ile değiştirmeliyiz.
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 Arduino’nun kendi sitesinden Arduino IDE programını indirip kuruyoruz. Daha sonra Arduinomuzu USB kablosu ile bilgisayarımıza bağlıyoruz. Programı açtıktan sonra ilk önce kullandığımız Arduino modelini seçmemiz gerekiyor. Araçlar menüsünden Kart bölümüne gelip Arduino modelimizi seçiyoruz. Yine Araçlar bölümünden Port kısmından Arduinonun bağlı olduğu portu seçiyoruz. Eğer Arduinonun bilgisayar bağlantısında sorun varsa bu menü pasif görünebilir ve port seçilemeyebilir. Bu ayarları yaptıktan sonra Arduinomuz programlamaya hazırdır.
Arduino programı void setup() ve void loop() olmak üzere iki ana bölümden oluşur. setup() kısmına yazdığımız kodlar Arduino çalıştığında bir defa çalışır. Bu alanda projemizde hangi pinleri kullandığımızı tanımlarız. loop() kısmına 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 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 LED’in +(uzun bacak) bacağını Arduino pinine, −(kısa bacak) bacağını ise GND hattına bağlamak olacaktır. Ters bağlandığı takdirde LED çalışmayacaktır. LED’i korumak için seri direnç kullanmayı unutmamalıyız.
Ş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ü parantezler 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 9 numaralı pini kullandığımızı ve bu pinin çıkış olduğunu söyledik.
Burada dikkat edilecek noktalar pinMode kısmında M harfinin büyük olması, OUTPUT ifadesinin büyük harflerle yazılması ve en sonunda noktalı virgül bulunmasıdır. Programlama dillerinde o satırın bittiğini noktalı virgül ile belirttiğimiz için her komut satırının sonunda noktalı virgül kullanmamız gerekir.
Ayar kısmında ayarlarımızı yaptıktan sonra asıl programı yazdığımız void loop() kısmına geliyoruz. LED’i yakmak için LED’i bağladığımız pine enerji vermek istiyoruz. Bunun için süslü parantezler arasına digitalWrite(arduino pin numarası, HIGH); komutunu kullanacağız. Biz D9 pinini kullandığımız için kodumuz digitalWrite(9, HIGH); şeklinde olacak. LED’i söndürmek istediğimiz zaman digitalWrite(9, LOW); kodunu kullanarak o pindeki çıkışı LOW seviyesine almış oluruz. LED’in bir saniye aralıkla yanıp sönmesini sağlamak için araya delay(milisaniye); kodunu ekleriz. Günlük hayatta 1 saniye olarak bildiğimiz süre, programlamada 1000 milisaniye olarak yazılır. Bu yüzden bekleme kodumuz delay(1000); şeklindedir.
void setup() {
pinMode(9, OUTPUT);
}
void loop() {
digitalWrite(9, HIGH);
delay(1000);
digitalWrite(9, LOW);
delay(1000);
}
Eğer delay kodunu kullanmasaydık LED’i yakıp söndürme arasındaki süreyi Arduinonun işlem hızı belirleyecekti. Bu süre çok kısa olacağı için LED gözümüze sürekli yanıyormuş gibi görünebilirdi.