💡 Dijital Giriş ve Çıkış Pinleri Nedir? Nasıl Kullanılır? (pinMode(), digitalWrite(), digitalRead())
💡 Dijital Giriş ve Çıkış Pinleri Nedir? Nasıl Kullanılır? (pinMode(), digitalWrite(), digitalRead())
Merhaba Arduino severler! Bu yazımızda Arduino'nun temel taşlarından olan dijital giriş ve çıkış pinlerini yakından tanıyacağız. Arduino projelerinizde sensörlerden veri okumak, LED'leri kontrol etmek veya motorları sürmek gibi birçok işlem için bu pinleri kullanmanız gerekecek. Hazırsanız, dijital dünyanın kapılarını aralayalım!
Dijital Pinler Ne İşe Yarar?
Arduino'nun dijital pinleri, sadece iki farklı durumda (HIGH veya LOW) sinyal gönderebilir veya alabilir. Bu durumlar genellikle "1" (HIGH) ve "0" (LOW) olarak temsil edilir. Arduino'nun çalışma voltajına bağlı olarak, HIGH genellikle 5V (veya 3.3V), LOW ise 0V anlamına gelir. Dijital pinler, sensörlerden basit aç/kapa sinyallerini okumak veya LED'leri yakıp söndürmek gibi temel işlemleri gerçekleştirmek için idealdir.
Pinleri Tanımlama: pinMode()
Fonksiyonu
Herhangi bir pini kullanmadan önce, o pinin giriş mi yoksa çıkış mı olarak kullanılacağını Arduino'ya bildirmemiz gerekir. İşte tam bu noktada pinMode()
fonksiyonu devreye giriyor. Bu fonksiyon, bir pinin davranışını tanımlamamızı sağlar.
pinMode(pinNumarasi, MOD);
- pinNumarasi: Ayarlamak istediğiniz pinin numarası (2-13 ve A0-A5 gibi).
- MOD: Pin modunu belirtir. Üç farklı seçenek vardır:
- INPUT: Pin, dışarıdan bir sinyal alacak şekilde ayarlanır (sensörlerden veri okuma gibi).
- OUTPUT: Pin, dışarıya bir sinyal gönderecek şekilde ayarlanır (LED'i yakma, motoru kontrol etme gibi).
- INPUT_PULLUP: INPUT moduna benzer, ancak dahili bir direnç etkinleştirilir. Bu, harici bir direnç kullanmadan pini belirli bir durumda tutmaya yardımcı olur.
Örnek:
// 7 numaralı pini çıkış olarak ayarla
pinMode(7, OUTPUT);
// 8 numaralı pini giriş olarak ayarla
pinMode(8, INPUT);
// 9 numaralı pini dahili dirençli giriş olarak ayarla
pinMode(9, INPUT_PULLUP);
Çıkış Pinlerini Kontrol Etme: digitalWrite()
Fonksiyonu
Bir pini OUTPUT
olarak ayarladıktan sonra, o pinden HIGH veya LOW sinyali göndermek için digitalWrite()
fonksiyonunu kullanırız. Bu fonksiyon, çıkış pinlerimizin davranışını kontrol etmemizi sağlar.
digitalWrite(pinNumarasi, DEGER);
- pinNumarasi: Kontrol etmek istediğiniz çıkış pininin numarası.
- DEGER: Pinin alacağı değer. İki seçenek vardır:
- HIGH: Pinden 5V (veya 3.3V) sinyali gönderilir.
- LOW: Pinden 0V sinyali gönderilir.
Örnek:
// 7 numaralı pini HIGH yap (LED'i yak)
digitalWrite(7, HIGH);
// 7 numaralı pini LOW yap (LED'i söndür)
digitalWrite(7, LOW);
Giriş Pinlerinden Veri Okuma: digitalRead()
Fonksiyonu
Bir pini INPUT
olarak ayarladıktan sonra, o pindeki sinyali okumak için digitalRead()
fonksiyonunu kullanırız. Bu fonksiyon, giriş pinlerimizdeki durumu (HIGH veya LOW) belirlememizi sağlar.
int okunanDeger = digitalRead(pinNumarasi);
- pinNumarasi: Okumak istediğiniz giriş pininin numarası.
- okunanDeger: Fonksiyonun döndürdüğü değer.
HIGH
(1) veyaLOW
(0) olabilir.
Örnek:
// 8 numaralı pindeki değeri oku
int sensorDegeri = digitalRead(8);
// Eğer sensör değeri HIGH ise
if (sensorDegeri == HIGH) {
// Bir şeyler yap...
} else {
// Başka bir şeyler yap...
}
Basit Bir LED Yakıp Söndürme Projesi
Şimdi öğrendiklerimizi kullanarak basit bir LED yakıp söndürme projesi yapalım. Bu projede, 13 numaralı pine bağlı bir LED'i her saniye yakıp söndüreceğiz.
Malzemeler:
- Arduino kartı
- LED
- 220 ohm direnç (LED'i korumak için)
- Breadboard (isteğe bağlı)
- Jumper kabloları
Bağlantılar:
- LED'in uzun bacağı (anot) -> 220 ohm direnç -> Arduino'nun 13 numaralı pini
- LED'in kısa bacağı (katot) -> Arduino'nun GND (toprak) pini
Kod:
int ledPin = 13; // LED'in bağlı olduğu pin
void setup() {
// 13 numaralı pini çıkış olarak ayarla
pinMode(ledPin, OUTPUT);
}
void loop() {
// LED'i yak
digitalWrite(ledPin, HIGH);
delay(1000); // 1 saniye bekle
// LED'i söndür
digitalWrite(ledPin, LOW);
delay(1000); // 1 saniye bekle
}
Bu kod, LED'i her saniye yakıp söndürecektir. Kodu Arduino'ya yükleyin ve sonucu gözlemleyin!
Daha Fazla İpucu ve Püf Noktası
- Direnç Kullanımı: LED'leri Arduino'ya bağlarken mutlaka bir direnç kullanın. Aksi takdirde, LED'iniz zarar görebilir veya yanabilir.
- Pull-up Dirençleri: Buton gibi elemanlarla çalışırken,
INPUT_PULLUP
modunu kullanarak harici bir direnç kullanmaktan kurtulabilirsiniz. - Pin Kısıtlamaları: Bazı pinler özel amaçlar için kullanılır (örneğin, 0 ve 1 numaralı pinler seri iletişim için kullanılır). Bu pinleri kullanırken dikkatli olun.
Umarım bu yazı, Arduino'nun dijital giriş ve çıkış pinleri hakkında size temel bir anlayış kazandırmıştır. Artık basit projeler yapmaya başlayabilir ve Arduino dünyasını keşfedebilirsiniz. Bol şans!
Etiketler: Arduino, Dijital Giriş, Dijital Çıkış, pinMode, digitalWrite, digitalRead, LED, Sensör, Elektronik
```
0 yorum: