Adım 1
Arduino Güç Alır
USB kablosu takılınca Arduino'nun 5V regülatörü devreye girer ve kart üzerindeki PWR (yeşil) LED yanar. Tüm pinler başlangıçta INPUT modundadır, yani enerji vermezler.
USB → 5V regülatör → ATmega328P + breadboard rayları
🎓 Yeni Başlayanlar İçinArduino'nun beynisi ATmega328P mikrodenetleyicisidir. 5V regülatör USB'den gelen 5V'u sabitler. Kart üzerindeki PWR LED'inin yanması "güç tamam" demektir.
Adım 2
setup() Fonksiyonu Çalışır (Bir Kez)
Arduino bootloader'ı yükledikten sonra void setup() fonksiyonunu tam olarak bir kez çalıştırır. Burada pinMode(13, OUTPUT) ile D13 pini çıkış moduna alınır.
setup() → pinMode(D13, OUTPUT) → pin artık 5V verebilir
🎓 Yeni Başlayanlar İçinsetup()'ı bir ülkenin anayasası gibi düşün: bir kez yazılır, sonra hep uygulanır. Pin'in OUTPUT olması "artık bu pin'den 5V verebilirim" demek.
Adım 3
loop() Başlar — Buton Durumu Okunur
loop()'un her turunda digitalRead(2) ile butonun o anki durumu okunur. INPUT_PULLUP modu sayesinde buton basılı değilken HIGH (5V), basılıyken LOW (0V) değeri gelir.
digitalRead(D2) → butonDurum = HIGH veya LOW
🎓 Yeni Başlayanlar İçinButon basılınca pin GND'ye kısa devre olur → 0V. Bırakılınca dahili pull-up direnci onu 5V'a çeker. Bu yüzden "ters" mantık: basılı = LOW.
Adım 4
if Kontrolü: Buton Basılı mı?
if (butonDurum == LOW) karar yapısı çalışır. Eğer buton basılıysa (LOW) if bloğu, değilse else bloğu çalışır. Bu basit mantık Arduino'nun temel karar mekanizmasıdır.
if (LOW) → EVET veya HAYIR → iki yol
🎓 Yeni Başlayanlar İçinif-else programlamanın temel yapı taşıdır. "Eğer şu buysa bunu yap, değilse şunu yap" mantığı.
Adım 5
Buton BASILIYSA → LED YANAR
digitalWrite(13, HIGH) ile LED pin'ine 5V verilir. Akım Arduino D13 → direnç → LED → GND yolunu izler. LED ışık yayar, yerleşik L LED'i de yanar.
D13=5V → R(220Ω) → LED → GND · Akım ≈ 14mA
🎓 Yeni Başlayanlar İçinAkım yüksek potansiyelden (5V) düşüğe (0V/GND) akar. LED'in içindeki yarı iletken katman ışık yayar.
Adım 6
Buton BIRAKILDI → LED SÖNER
Buton bırakılınca butonDurum tekrar HIGH olur. else bloğu çalışır: digitalWrite(13, LOW) ile D13 pin'inden 0V verilir, LED söner.
D13=0V → potansiyel fark = 0V → akım = 0 → LED sönük
🎓 Yeni Başlayanlar İçinLED'in yandığı an "akım geçiyor" demektir. Pin LOW olunca potansiyel farkı kalkar, akım durur, LED söner.
Adım 7
loop() Tekrar Başa Sarar
loop()'un sonuna gelince Arduino otomatik olarak başa döner. Her saniyede binlerce kez buton okunur, karar verilir, LED güncellenir. Arduino güç aldığı sürece bu döngü sonsuza kadar devam eder.
loop sonu → buton oku → karar → LED güncelle → loop sonu → ...
🎓 Yeni Başlayanlar İçinArduino'nun ATmega328P işlemcisi saniyede 16 milyon komut çalıştırır. loop() her milisaniyede tekrarlandığı için gecikme neredeyse hissedilmez.
Adım 8
Sonuç: Sürekli Çalışan Bir Sistem
Arduino'nun gücü kesilene kadar yukarıdaki tüm adımlar milisaniye hızında tekrar eder. Bu basit örnek, Arduino'nun nasıl fiziksel dünyayı dijital olarak kontrol ettiğini gösterir. LED'den motorlara, sensörlerden ekranlara her şey aynı prensiple çalışır.