Ana Sayfa · Akademi · Robotik ve Kodlama · Arduino · Arduino Nedir?

Arduino Nedir?

Arduino'nun ne olduğunu, micro:bit'ten farkını ve kart–IDE–kod döngüsünü öğren.

DERS PUSULASI

Bu sayfayı ne için kullanacaksın?

Ana fikir

Arduino, üzerine kod yükleyerek LED, sensör, motor ve düğme gibi parçaları kontrol edebildiğimiz açık kaynaklı bir mikrodenetleyici kartıdır.

Üretilecek kanıt

Henüz kart olmadan, kâğıt üzerinde bir eskizin adımlarını planla. Amaç: Bir düğmeye basıldığında LED yansın, bırakıldığında sönsün. Şu soruları yanıtla: Hangi pin giriş, hangi pin çıkış olmalı? setup() içinde neyi ayarlarsın? loop() içinde önce ne okumalısın? Okuduğun değere göre LED'i açıp kapatmak için hangi koşulu kullanırsın? Kod olmadan sözde kodla…

Kontrol tuzağı

pinMode'u unutmak setup() içinde bir pini OUTPUT olarak ayarlamayı unutursan digitalWrite beklediğin gibi çalışmayabilir. Her pinin görevini başta belirle. Direnç kullanmadan LED bağlamak LED'i doğrudan pine bağlarsan üzerinden çok akım geçer ve LED zarar görebilir. LED ile birlikte her zaman bir akım sınırlama…

Sonraki bağlantı

Kartlar ve Temel Bileşenler: Arduino Uno üzerindeki pinleri, breadboard'u ve ilk projelerde kullanacağın temel elektronik parçaları yakından tanıyoruz.

Modül kaynakları: Python Tutorial · Arduino Learn

SeviyeBaşlangıç
Yaş10–16
Süre25–35 dk
Ön koşulElektroniğe Giriş; Sensörler ve Aktüatörler
İçerikStandart ders · 1.283 kelime
Son güncelleme

Bir cümlelik özet

Arduino, üzerine kod yükleyerek LED, sensör, motor ve düğme gibi parçaları kontrol edebildiğimiz açık kaynaklı bir mikrodenetleyici kartıdır.

Neden önemli?

Bir önceki derste bisiklet güvenlik ışığını kablolar ve dirençlerle kurmuştuk. Devre çalışıyordu ama davranışı sabitti: ışık ya yanıyor ya sönüyordu. Peki karanlık olunca kendiliğinden yanmasını, ya da düğmeye basınca yanıp sönmesini isteseydik?

İşte burada mikrodenetleyici devreye giriyor. Mikrodenetleyici, tek bir çip üzerinde küçük bir bilgisayardır: girişleri okur, karar verir ve çıkışları kontrol eder. Arduino, bu çipi kolayca programlanabilir bir karta yerleştirir.

Arduino'yu öğrenmek önemlidir çünkü yazdığın kod ile fiziksel dünya arasındaki köprüyü kurar. Python'da ekrana "Merhaba" yazdırıyordun; Arduino ile gerçek bir LED'i yakabilir, bir sıcaklık sensörünü okuyabilir veya bir kapıyı açan motoru sürebilirsin. Yazılım ile elektroniğin buluştuğu yer buradır.

Kısa tanım: Arduino, giriş ve çıkışları koda göre yöneten, açık kaynaklı ve başlangıç için tasarlanmış bir mikrodenetleyici geliştirme kartıdır.

Mikrodenetleyici kartı olarak Arduino

Kart ne yapar?

Arduino kartının üzerinde bir işlemci çipi, bağlantı için sıralanmış pinler ve bilgisayara bağlanan bir USB girişi bulunur. Kod yazıp bu pinlere görev veririz.

Pinler iki temel işi görür:

Pinler ayrıca iki türde çalışır. Dijital pinler yalnız iki durumu anlar: açık (HIGH) veya kapalı (LOW). Analog pinler ise bir aralıktaki değeri okur; örneğin bir ışık sensörünün 0 ile 1023 arasındaki değerini.

Günlük hayattan örnek: Otomatik gece lambası

Bir çocuğun odasındaki gece lambasını düşün. İçinde küçük bir kart, bir ışık sensörü ve bir LED var. Oda kararınca sensörün değeri düşer, kart bunu okur ve LED'i yakar. Sabah ışık artınca lamba sönür. Bu tam olarak bir mikrodenetleyicinin yaptığı iştir: oku, karar ver, uygula.

Günlük hayattan örnek: Çamaşır makinesi

Çamaşır makinesindeki program düğmesini çevirdiğinde, içindeki mikrodenetleyici suyu ne kadar ısıtacağını, tamburu ne zaman döndüreceğini ve ne zaman duracağını koda göre yönetir. Arduino bunun öğrenmeye uygun, açık ve küçük bir versiyonudur.

Arduino ile micro:bit farkı

micro:bit dersinden mikrodenetleyici fikrini zaten tanıyorsun. Arduino da aynı temel fikri kullanır ama bazı önemli farkları vardır.

Arduino ile micro:bit farkı tablosu
Özellikmicro:bitArduino Uno
EkranÜzerinde 5x5 LED varEkran yok, harici parça eklenir
SensörDahili (ivme, sıcaklık, pusula)Genelde harici bağlanır
BağlantıKrokodil kablo ile kolayGenelde breadboard ve kablolar
ProgramlamaBlok veya PythonC/C++ (Arduino dili)
EsneklikHızlı başlangıçDaha fazla pin ve kontrol

micro:bit hızlı denemeler için hazır bir kutu gibidir; birçok parça içine yerleştirilmiştir. Arduino ise daha çıplaktır: parçaları sen bağlarsın. Bu ilk bakışta zor görünse de sana devrenin nasıl çalıştığını gerçekten öğretir ve daha büyük projelere izin verir.

Açık kaynak olması da önemlidir: Arduino'nun tasarımı ve yazılımı herkese açıktır. Bu yüzden dünyada binlerce uyumlu kart, örnek proje ve ücretsiz kaynak vardır.

Kart, IDE ve kod döngüsü

Kodu nasıl yazarız?

Arduino kartına kodu bir bilgisayar programıyla yazıp yükleriz. Bu programa Arduino IDE denir (IDE, "Integrated Development Environment", yani tümleşik geliştirme ortamı demektir). IDE'de kod yazarız, bilgisayara USB ile bağlı karta yükleriz ve kart o kodu tekrar tekrar çalıştırır.

Her Arduino programı (buna eskiz ya da İngilizcesiyle *sketch* denir) iki temel bölümden oluşur:

void setup() {
  // Bir kez çalışır: başlangıç ayarları
}

void loop() {
  // Sürekli tekrar eder: asıl davranış
}

setup() bölümü kart açıldığında bir kez çalışır. Burada pinlerin giriş mi çıkış mı olduğunu belirleriz. loop() bölümü ise durmadan tekrarlanır; asıl davranış buradadır.

İlk gerçek örnek: LED yakıp söndürme

Karttaki 13 numaralı pine bir LED bağladığımızı düşün (LED'i korumak için mutlaka bir dirençle). Aşağıdaki eskiz LED'i bir saniye yakıp bir saniye söndürür:

void setup() {
  pinMode(13, OUTPUT);   // 13. pini cikis yap
}

void loop() {
  digitalWrite(13, HIGH); // LED'i yak
  delay(1000);            // 1000 ms bekle
  digitalWrite(13, LOW);  // LED'i sondur
  delay(1000);            // 1000 ms bekle
}

Buradaki mantık, algoritma dersindeki tekrar yapısının aynısıdır: aynı adımlar sonsuza kadar döner. delay(1000) bin milisaniye, yani bir saniye bekler.

Bilgisayarla konuşmak: Serial

Kartın ne yaptığını görmek için bilgisayara mesaj gönderebiliriz. Buna seri iletişim denir. Bir düğmenin durumunu okuyup ekrana yazdıralım (düğme 2. pine, aşağı çekme direnciyle bağlı):

void setup() {
  Serial.begin(9600);    // Iletisimi baslat
  pinMode(2, INPUT);     // 2. pini giris yap
}

void loop() {
  int durum = digitalRead(2); // Dugmeyi oku
  Serial.println(durum);      // Ekrana yaz
  delay(200);
}

Serial.begin(9600) iletişimi başlatır, Serial.println() ise değeri IDE'deki Seri Monitör penceresine yazar. Bu, Arduino'da hata ayıklamanın en kullanışlı yollarından biridir.

Mini uygulama

Henüz kart olmadan, kâğıt üzerinde bir eskizin adımlarını planla. Amaç: Bir düğmeye basıldığında LED yansın, bırakıldığında sönsün.

Şu soruları yanıtla:

  1. Hangi pin giriş, hangi pin çıkış olmalı? setup() içinde neyi ayarlarsın?
  2. loop() içinde önce ne okumalısın?
  3. Okuduğun değere göre LED'i açıp kapatmak için hangi koşulu kullanırsın?

Kod olmadan sözde kodla yazabilirsin:

setup: 2. pin giris, 13. pin cikis
loop:
  dugmeyi oku
  eger dugme basiliysa
    LED'i yak
  degilse
    LED'i sondur

Fikrini oluşturduğunda, bunu bir sonraki derste gerçek Arduino koduna çevireceğiz.

Sık yapılan hatalar

pinMode'u unutmak

setup() içinde bir pini OUTPUT olarak ayarlamayı unutursan digitalWrite beklediğin gibi çalışmayabilir. Her pinin görevini başta belirle.

Direnç kullanmadan LED bağlamak

LED'i doğrudan pine bağlarsan üzerinden çok akım geçer ve LED zarar görebilir. LED ile birlikte her zaman bir akım sınırlama direnci kullan (genellikle 220 veya 330 ohm).

Noktalı virgülü unutmak

Arduino dilinde her komut satırı ; ile biter. Unutursan IDE hata verir ve kodu yükleyemezsin. Bu çok sık yapılan bir hatadır.

setup ile loop'u karıştırmak

Bir kez yapılması gereken ayarları loop() içine koyarsan gereksiz yere tekrar ederler. Tekrar etmesi gereken davranışı setup() içine koyarsan hiç tekrar etmez.

Güvenlik notu

Ders özeti

Kontrol soruları

  1. Arduino kartındaki bir pinin "giriş" ve "çıkış" olması ne anlama gelir?
  2. setup() ve loop() bölümleri arasındaki temel fark nedir?
  3. Dijital bir pin ile analog bir pin arasındaki fark nedir?
  4. Bir LED'i Arduino'ya bağlarken neden direnç kullanırız?
  5. Neden bir motoru doğrudan Arduino pininden sürmemeliyiz?

Cevaplar

  1. Giriş, pinin dış dünyadan bilgi okuması (örneğin düğme veya sensör); çıkış, pinin dış dünyaya sinyal göndermesidir (örneğin LED yakmak).
  2. setup() kart açıldığında yalnız bir kez çalışır ve başlangıç ayarlarını içerir; loop() ise durmadan tekrarlanır ve asıl davranışı barındırır.
  3. Dijital pin yalnız iki durumu anlar: açık (HIGH) veya kapalı (LOW). Analog pin ise bir aralıktaki değeri okur (örneğin 0–1023), bu yüzden ışık veya sıcaklık gibi kademeli değerleri ölçebilir.
  4. Direnç, LED üzerinden geçen akımı sınırlar. Direnç olmadan çok akım geçer ve LED zarar görebilir.
  5. Motorlar çok akım çeker; bu akım kartın pinine zarar verir. Bu yüzden bir motor sürücü ve ayrı güç kaynağı gerekir.

Kaynak ve doğrulama notu

“Arduino Nedir?” dersi için doğrulama odağı Mikrodenetleyici kartı olarak Arduino ile Günlük hayattan örnek: Otomatik gece lambası arasındaki ilişkinin örnekler üzerinde tutarlı çalışmasıdır. Arduino uyumlu kartlarda pin, gerilim ve akım sınırları modele göre değişebilir. Kod derlense bile devre güvenli olmayabileceğinden, motor ve servo gibi yükler uygun sürücü ve harici besleme ile kullanılmalıdır.

Sonraki ders

Kartlar ve Temel Bileşenler: Arduino Uno üzerindeki pinleri, breadboard'u ve ilk projelerde kullanacağın temel elektronik parçaları yakından tanıyoruz.

Quiz’i BaşlatArduino bölümüne dön
SORU HAVUZU

Bu dersi 10 soruyla pekiştir

Bu ders için 20 soruluk bir havuz hazırlandı. Her başlangıçta 10 soru ve seçenekler yeniden karıştırılır.