Bu ders notu, Arduino ile LED yakma devresi kurarken ve kodlarken bilmen gereken temel elektronik kavramları, Arduino'nun çalışma mantığını ve basit programlama adımlarını kapsar.
Arduino, elektronik projeler geliştirmek için kullanılan açık kaynaklı bir mikrodenetleyici kartıdır. Bir bilgisayar gibi düşünebilirsin ama daha basit işler için tasarlanmıştır. Üzerindeki pinler sayesinde elektronik bileşenleri kontrol etmemizi sağlar.
💡 İpucu: Arduino'ya "beyin", pinlerine ise "kollar ve bacaklar" gibi düşünebilirsin. Kod yazarak bu kollara ne yapmaları gerektiğini söylersin.
LED, elektrik akımı geçtiğinde ışık yayan yarı iletken bir bileşendir. Elektronik projelerde sıkça kullanılır.
⚠️ Dikkat: LED'i ters bağlarsan çalışmaz. Ayrıca, doğrudan Arduino'ya bağlarsan fazla akım çekip hem LED'i hem de Arduino'yu bozabilirsin. Bu yüzden direnç kullanmak şarttır!
Dirençler, elektrik akımının geçişini sınırlayan elektronik bileşenlerdir. LED'leri korumak için hayati öneme sahiptirler.
💡 İpucu: Direnci, bir su hortumundaki vanaya benzetebilirsin. Vana ne kadar kısılırsa (direnç ne kadar büyükse), o kadar az su (akım) geçer.
Ohm Kanunu, elektrik devrelerindeki voltaj (gerilim), akım ve direnç arasındaki ilişkiyi açıklayan temel bir formüldür. LED devresi için doğru direnç değerini hesaplamamızı sağlar.
📝 Direnç Değeri Hesaplama: Bir LED için gerekli direnç değerini hesaplarken şu formülü kullanırız:
$R = \frac{V_{kaynak} - V_{LED}}{I_{LED}}$
⚠️ Dikkat: Hesaplama yaparken $I_{LED}$ değerini Amper cinsinden (örneğin 20mA yerine 0.02A) kullanmayı unutma!
Breadboard, elektronik bileşenleri lehim yapmadan kolayca takıp çıkararak devre kurmamızı sağlayan bir prototipleme aracıdır.
💡 İpucu: Breadboard'u bir LEGO tahtası gibi düşünebilirsin. Bileşenleri takıp çıkararak farklı devreler deneyebilirsin.
Arduino'ya ne yapması gerektiğini C++ tabanlı bir programlama diliyle söyleriz. LED yakma için bilmen gereken temel fonksiyonlar şunlardır:
void setup(): Bu fonksiyon, Arduino kartı çalıştığında veya sıfırlandığında sadece bir kez çalışır. Pin ayarları gibi başlangıç tanımlamaları buraya yazılır.void loop(): Bu fonksiyon, setup() çalıştıktan sonra sürekli olarak tekrar tekrar çalışır. LED'i yakıp söndürme gibi tekrarlayan işlemler buraya yazılır.pinMode(pinNumarası, mod): Bir pini giriş (INPUT) veya çıkış (OUTPUT) olarak ayarlar. LED yakmak için pini OUTPUT olarak ayarlamalıyız. (Örn: pinMode(13, OUTPUT);)digitalWrite(pinNumarası, durum): Dijital bir pinden elektrik sinyali gönderir. HIGH (açık, 5V) veya LOW (kapalı, 0V) durumunu belirler. (Örn: digitalWrite(13, HIGH); LED'i yakar.)delay(milisaniye): Belirtilen milisaniye kadar programın duraklamasını sağlar. (Örn: delay(1000); 1 saniye bekler.)💡 İpucu: setup() bir defalık hazırlık, loop() ise sürekli tekrar eden görevler içindir.