Bir cümlelik özet
Arduino Uno kartının pinlerini ve güç bağlantılarını tanır, LED, direnç, buton, breadboard ve jumper gibi temel bileşenlerin ne işe yaradığını öğreniriz.
Neden önemli?
Bir önceki derste Arduino'nun küçük bir bilgisayar gibi çalıştığını gördük. Ama bir bilgisayarın klavyesi ve ekranı vardır; Arduino'nun ise pinleri vardır. Karta bir LED bağlamak, bir butonu okumak veya bir sensör dinlemek istediğimizde bunu pinler üzerinden yaparız.
Kartın hangi bölümünün ne işe yaradığını bilmezsek, kodumuz doğru olsa bile devre çalışmaz. Örneğin LED'i yanlış pine bağlarsak hiçbir şey olmaz; direnç koymayı unutursak LED zarar görebilir. Bu ders, kod yazmadan önce bilmemiz gereken "harita"yı çıkarır.
Şunu düşün: Bir müzik setinin tüm düğmelerini tanımadan istediğin şarkıyı çalamazsın. Arduino da böyle. Önce parçaları tanıyalım.
Arduino Uno kartını tanıyalım
Arduino Uno, avuç içi büyüklüğünde mavi bir karttır. Üzerindeki her bölümün bir görevi vardır. Kartı elimize aldığımızda dört ana bölge görürüz: güç girişi, dijital pinler, analog pinler ve ortadaki işlemci.
USB ve güç girişi
Kartın bir köşesinde dikdörtgen bir USB girişi bulunur. Bu girişi bilgisayara bağladığımızda iki iş birden olur:
- Karta kod yükleriz (programı bilgisayardan Arduino'ya aktarırız).
- Karta güç veririz (5 volt).
USB'nin yanında yuvarlak bir güç jakı vardır. Bilgisayar olmadan çalışmak istersek buraya bir pil paketi veya adaptör bağlarız. Bu derste yalnızca USB veya pil paketi gibi düşük gerilimli kaynaklar kullanacağız.
Kısa tanım: Pin, karttan dışarı çıkan ve üzerine kablo takılan metal bir bağlantı noktasıdır. Arduino dış dünyayla pinler üzerinden konuşur.
Dijital pinler
Kartın uzun kenarında 0'dan 13'e kadar numaralanmış pinler vardır. Bunlara dijital pin denir. Dijital pinler yalnızca iki durumu anlar: açık (HIGH, 5 volt) veya kapalı (LOW, 0 volt).
Bir LED'i yakıp söndürmek veya bir butonun basılıp basılmadığını okumak için dijital pinleri kullanırız. Bir dijital pini hem çıkış (bir şey çalıştırmak) hem de giriş (bir şey dinlemek) olarak ayarlayabiliriz.
Bazı dijital pinlerin yanında ~ işareti vardır (3, 5, 6, 9, 10, 11). Bu işaretli pinler, analogWrite ile bir LED'i tam parlak yerine yarı parlak yakabilir. Buna daha sonraki derslerde döneceğiz.
Analog pinler
Kartın diğer kenarında A0'dan A5'e kadar numaralanmış pinler bulunur. Bunlara analog pin denir. Analog pinler sadece açık/kapalı değil, arada birçok değeri okuyabilir.
Örneğin bir ışık sensörü karanlıkta 0'a yakın, aydınlıkta 1023'e yakın bir değer üretir. analogRead komutuyla bu ara değeri öğreniriz. Bir potansiyometreyi (ses düğmesi gibi çevrilen parça) çevirdiğimizde de değer yavaş yavaş değişir.
Güç pinleri: 5V, 3.3V ve GND
Kartta üzerinde yazı olan özel pinler de vardır:
- 5V: Bileşenlere 5 volt verir. Çoğu LED ve buton bununla çalışır.
- 3.3V: Bazı sensörler 5 volttan zarar görür; onlara 3.3 volt veririz.
- GND (Ground / Toprak): Devrenin "geri dönüş" ucudur. Her devrenin bir GND bağlantısı olmalıdır.
Bunu bir su borusu gibi düşünebilirsin: 5V borunun akan ucu, GND ise suyun geri döndüğü uçtur. İkisi olmadan "akış" tamamlanmaz.
Temel bileşenler
Şimdi karta bağlayacağımız parçaları tanıyalım. Bu parçalar küçük bir başlangıç kutusunda bulunur.
LED (ışık veren diyot)
LED, akım geçince ışık veren küçük bir lambadır. İki bacağı vardır ve yönü önemlidir:
- Uzun bacak: artı (+), anot.
- Kısa bacak: eksi (−), katot, GND tarafına bağlanır.
LED'i ters bağlarsak yanmaz ama bozulmaz. Yanlış olan, direnç kullanmadan bağlamaktır.
Direnç
Direnç, akımı sınırlayan bir parçadır. LED'e çok fazla akım giderse LED zarar görür veya bilir. Araya bir direnç koyunca akım güvenli seviyede kalır.
Bir LED için genellikle 220 ohm veya 330 ohm direnç kullanırız. Direncin yönü yoktur; iki ucundan hangisini takarsan tak, çalışır. Direnç, LED için bir emniyet kemeri gibidir.
Buton
Buton (push button), basınca iki nokta arasını birleştiren bir anahtardır. Basılıyken akım geçer, bırakınca kesilir. Butonu dijital bir pine bağlayıp digitalRead ile durumunu okuruz.
Kapı zili gibi düşün: Bastığın sürece çalar, bıraktığında susar.
Breadboard
Breadboard (deneme tahtası), lehim yapmadan devre kurduğumuz delikli bir tahtadır. Delikler içten belli bir düzende birbirine bağlıdır:
- Ortadaki sıralar dikey olarak (kısa gruplar halinde) birbirine bağlıdır.
- Kenardaki uzun hatlar (+ ve − işaretli) genellikle güç için kullanılır.
Aynı gruptaki deliklere takılan bacaklar birbirine bağlanmış sayılır. Böylece parçaları kablo lehimlemeden birleştiririz ve istediğimizde söküp değiştiririz.
Jumper kabloları
Jumper, iki ucu metal uçlu, renkli bağlantı kablolarıdır. Arduino pinlerini breadboard'a veya bileşenlere bağlamak için kullanılır. Renkler sadece bizim işimizi kolaylaştırmak içindir; alışkanlık olarak kırmızıyı güç (+), siyahı GND (−) için kullanırız.
Pin haritası nedir?
Kodda bir pin numarası yazdığımızda, kartın tam olarak hangi metal ucunu kastettiğimizi bilmemiz gerekir. İşte kartın üzerindeki numaraların ne işe yaradığını gösteren zihinsel resme pin haritası denir.
Küçük bir örnekle bağlayalım. Aşağıdaki devrede LED'i 13. dijital pine bağladık:
- Arduino pin 13 → direnç (220 ohm) → LED uzun bacak
- LED kısa bacak → Arduino GND
Bu devrenin kodu şöyledir:
// 13. pine bağlı LED'i yakıp söndürür
void setup() {
pinMode(13, OUTPUT); // pin 13 bir cikis
}
void loop() {
digitalWrite(13, HIGH); // LED yansin
delay(1000); // 1 saniye bekle
digitalWrite(13, LOW); // LED sonsun
delay(1000); // 1 saniye bekle
}
Koddaki 13 sayısı, pin haritasında 13 yazan fiziksel pini gösterir. Kabloyu 12. pine takıp kodda 13 yazarsak, ikisi aynı yeri göstermediği için LED yanmaz. Kod ile kablo aynı pini göstermelidir. Pin haritasının önemi tam olarak budur.
İkinci bir örnek: Bir butonu 2. pine bağlayıp durumunu okuyalım.
// 2. pine bagli butonun durumunu seri ekrana yazar
void setup() {
pinMode(2, INPUT_PULLUP); // buton icin dahili direnc
Serial.begin(9600); // seri haberlesme baslasin
}
void loop() {
int durum = digitalRead(2); // butonu oku
Serial.println(durum); // degeri ekrana yaz
delay(200);
}
Burada da 2 sayısı, kartta 2 yazan dijital pini gösterir. Buton takılı değilse veya başka pine takılıysa okuduğumuz değer yanıltıcı olur.
Mini uygulama
Aşağıdaki eşleştirmeyi kağıda çiz. Solda bileşenler, sağda görevler var. Doğru olanları çizgiyle birleştir:
| Bileşen | Görevi |
|---|---|
| LED | ? |
| Direnç | ? |
| Buton | ? |
| Breadboard | ? |
| GND pini | ? |
Görev seçenekleri: "ışık verir", "akımı sınırlar", "basınca devreyi kapatır", "lehimsiz devre kurmayı sağlar", "devrenin geri dönüş ucudur".
Sonra kartına bakarak (veya bir Arduino Uno resmine bakarak) şu üç soruyu yanıtla:
- Dijital pinler hangi numaralar arasında?
- Analog pinlerin başında hangi harf var?
- Kaç tane GND pini bulabiliyorsun?
Bu görevi bir yetişkinle birlikte, gerçek kartı elinde tutarak yaparsan pinlerin yerini çok daha kolay aklında tutarsın.
Sık yapılan hatalar
Direnci unutmak
LED'i doğrudan 5V'a bağlarsan çok fazla akım geçer ve LED zarar görebilir. LED'in önüne her zaman bir direnç koy.
LED'i ters bağlamak
Uzun bacak artı (+) tarafına, kısa bacak GND tarafına gelmelidir. Ters bağlanan LED yanmaz. Yanmıyorsa önce bacakları kontrol et.
GND bağlantısını atlamak
Sadece 5V yeterli değildir. Devre ancak GND ile tamamlanır. Bir şey çalışmıyorsa çoğu zaman eksik olan GND kablosudur.
Kod ile kabloyu farklı pinlerde tutmak
Kodda pinMode(13, ...) yazıp kabloyu 12. pine takarsan devre çalışmaz. Numaraların aynı olduğundan emin ol.
Breadboard sıralarını yanlış anlamak
Aynı grupta olmayan deliklere takılan bacaklar birbirine bağlı değildir. Bağlantı kurmadan önce hangi deliklerin ortak olduğunu düşün.
Güvenlik notu
- Bu derste yalnızca düşük gerilimli kaynaklar kullanıyoruz: USB (5V) veya küçük pil paketleri. Asla priz veya şebeke elektriğiyle çalışma.
- Motor, pompa veya güçlü bileşenleri Arduino pinine doğrudan bağlama. Bunlar çok akım çeker ve kartı bozar. Motorlar için ayrı bir motor sürücü ve ayrı bir güç kaynağı gerekir; bu konuyu ileride öğreneceğiz.
- Bileşenleri takıp çıkarırken kartın USB'sini bilgisayardan çıkarmak daha güvenlidir.
- Bacakları veya kabloları ısınan bir parça hissedersen hemen gücü kes ve bir yetişkine haber ver.
- Elektronik parçaları sudan ve nemden uzak tut.
- Devre kurma ve ilk denemeleri bir yetişkinle birlikte yap.
Ders özeti
- Arduino Uno kartında USB/güç girişi, dijital pinler (0–13), analog pinler (A0–A5) ve güç pinleri (5V, 3.3V, GND) bulunur.
- Dijital pinler açık/kapalı iki durumu, analog pinler ise arada birçok değeri okur.
- LED ışık verir ve yönü önemlidir; direnç akımı sınırlayarak LED'i korur.
- Buton devreyi basınca kapatan bir anahtardır; breadboard ve jumper lehimsiz devre kurmayı sağlar.
- Pin haritası, koddaki numara ile karttaki fiziksel pinin aynı yeri göstermesini sağlar.
Kontrol soruları
- Dijital pinler hangi iki durumu anlar ve bu durumların gerilim karşılığı nedir?
- Analog pinlerle dijital pinler arasındaki temel fark nedir?
- LED'in önüne neden direnç koyarız?
- GND pini bir devrede ne işe yarar?
- Kodda
pinMode(9, OUTPUT)yazdık ama LED yanmıyor. Pin haritası açısından ilk kontrol etmen gereken şey nedir?
Cevaplar
- Dijital pinler HIGH (açık, 5 volt) ve LOW (kapalı, 0 volt) olmak üzere iki durumu anlar.
- Dijital pin yalnızca açık/kapalı (iki değer) okurken, analog pin arada birçok değeri (örneğin 0–1023) okuyabilir.
- Direnç akımı sınırlar. Direnç olmazsa LED'den çok fazla akım geçer ve LED zarar görebilir.
- GND, devrenin geri dönüş ucudur. Akımın tamamlanması için her devrede bir GND bağlantısı gerekir.
- Kablonun gerçekten 9. pine takılı olup olmadığını kontrol etmeliyiz. Kod 9'u gösteriyorsa kablo da 9. pinde olmalı; farklı pindeyse LED yanmaz.
Kaynak ve doğrulama notu
“Kartlar ve Temel Bileşenler” dersi için doğrulama odağı Arduino Uno kartını tanıyalım ile Dijital pinler 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
Arduino IDE: Kodu yazıp karta yüklediğimiz programı tanıyacak, ilk sketch'imizi Arduino'ya göndereceğiz.