Bu yazı, Fiziksel Programlama dersi rehberinin ilk derin yazısıdır ve Arduino'nun dış dünyayla nasıl konuştuğunu dört başlıkta anlatır: dijital çıkış, analog çıkış, dijital giriş ve analog giriş. Her başlıkta hangi pinin kullanıldığı, hangi fonksiyonun çağrıldığı ve değerin hangi aralıkta olduğu verilir; ardından çözümlü örnekler, sık hatalar ve cevaplı alıştırmalar gelir. Devre hesaplarının dayandığı Ohm kanununu Ohm ve Kirchhoff Kanunları, devre elemanlarını Elektronik Devre Elemanları yazısında anlattık.
Arduino'da giriş ve çıkış nedir?
Arduino UNO R3, ATmega328P mikrodenetleyicisine dayanan bir karttır. Üzerinde 14 dijital giriş/çıkış pini vardır; bunların 6'sı PWM çıkışı verebilir. Ayrıca 6 analog giriş pini bulunur.[1] Analog girişler kartta A0'dan A5'e kadar adlandırılır.[2]
Giriş, Arduino'nun dışarıdan bilgi okumasıdır (bir butonun basılı olup olmadığı, bir potansiyometrenin konumu). Çıkış, Arduino'nun dışarıyı etkilemesidir (bir LED'i yakmak, bir motorun hızını ayarlamak). Bu bilgi ya dijitaldir, yani yalnız iki durumdan biridir, ya da analogdur, yani bir aralıktaki herhangi bir değeri alabilir.
| İş | Fonksiyon | UNO'da pin | Değer aralığı |
|---|---|---|---|
| Dijital çıkış | digitalWrite | 0-13 (ve A0-A5) | LOW (0 V) ya da HIGH (5 V) |
| Analog çıkış (PWM) | analogWrite | 3, 5, 6, 9, 10, 11 | 0-255 |
| Dijital giriş | digitalRead | 0-13 (ve A0-A5) | LOW (0) ya da HIGH (1) |
| Analog giriş | analogRead | A0-A5 | 0-1023 |
Tablodaki pin ve aralık bilgileri Arduino'nun resmî belgelerinden alınmıştır.[2][3][4] Analog pinlerin dijital pin gibi de kullanılabileceğini Arduino'nun dijital pinler belgesi belirtir.[5]
Dijital çıkış: pinMode ve digitalWrite
Dijital çıkışta pin ya HIGH ya da LOW olur. Sayısal mantıktaki 1 ve 0'a karşılık gelir; 5 voltluk UNO'da HIGH 5 volt, LOW 0 volttur. Bu iki değerli mantığı Mantık Kapıları ve Boole Cebiri yazısında ayrıntılı anlattık.
Bir pini çıkış olarak kullanmak için önce pinMode(pin, OUTPUT) çağrılır. Çıkış olarak ayarlanan pin düşük empedanslı duruma geçer ve başka devrelere kayda değer akım verebilir; Arduino'nun belgesine göre ATmega pinleri 40 mA'e kadar akım verebilir ya da çekebilir.[5] UNO R3'ün pin şeması ise G/Ç pini başına en fazla 20 mA çekilmesini söyler.[2] Pine kısa devre yapmak ya da yüksek akımlı bir yükü doğrudan bağlamak pini, hatta bütün mikrodenetleyiciyi bozabilir.[5]
const int ledPin = 13;
void setup() {
pinMode(ledPin, OUTPUT); // pini çıkış yap
}
void loop() {
digitalWrite(ledPin, HIGH); // LED yanar (5 V)
delay(1000); // 1 saniye bekle
digitalWrite(ledPin, LOW); // LED söner (0 V)
delay(1000);
}
LED'i bağlarken: anot, katot ve direnç
LED bir diyottur ve akımı yalnız bir yönde iletir. Doğru bağlantıda anot (+) ucu direnç üzerinden Arduino pinine, katot (−) ucu GND'ye gider; ters takılan LED yanmaz. Hangi bacağın anot olduğu LED'in veri sayfasındaki çizimde gösterilir; yaygın LED'lerde anot bacağı daha uzundur. Üreticinin veri sayfasına göre bu tür bir LED'e en çok 5 V ters gerilim uygulanabilir.[6]
LED'in akımını sınırlamak için seri bir direnç gerekir. Direnç Ohm kanunuyla bulunur: dirençte kalan gerilim, kaynak gerilimi ile LED'in ileri gerilimi arasındaki farktır.
R = (V_kaynak − V_LED) / I
Örnek 1 (LED direnci). 5 mm kırmızı bir LED'in ileri gerilimi üreticiye göre 10 mA'de tipik 1,9 V, en çok 2,3 V'tur; sürekli akım sınırı 30 mA'dir.[6] 220 Ω'luk dirençle akım I = (5 − 1,9) / 220 = 14,1 mA olur. LED'in ileri gerilimi en yüksek değer olan 2,3 V olsaydı akım (5 − 2,3) / 220 = 12,3 mA olurdu. İki değer de UNO'nun pin başına 20 mA sınırının ve LED'in 30 mA sınırının altındadır; derslerde 220 Ω'un sık kullanılmasının nedeni budur.
| Direnç | Akım (V_LED = 1,9 V) | Durum |
|---|---|---|
| 150 Ω | 20,7 mA | 20 mA sınırını aşar |
| 220 Ω | 14,1 mA | Uygun |
| 470 Ω | 6,6 mA | Uygun, LED daha sönük |
| 1 kΩ | 3,1 mA | Uygun, LED belirgin biçimde sönük |
Arduino'nun belgesi de çıkış pinlerini başka devrelere 470 Ω ya da 1 kΩ'luk dirençlerle bağlamayı, en yüksek akımın gerekmediği durumlarda iyi bir alışkanlık olarak önerir.[5]
Analog çıkış: PWM ve analogWrite
Arduino UNO'nun gerçek bir analog çıkışı yoktur; analogWrite, pinde PWM (darbe genişlik modülasyonu) sinyali üretir.[3] PWM, sayısal yolla analog sonuç elde etme tekniğidir: pin hızla açılıp kapanır ve sinyalin açık kaldığı sürenin oranı (görev oranı) değiştirilir. Bu açılıp kapanma bir LED'de yeterince hızlı yapılırsa göz, 0 ile 5 volt arasında sabit bir gerilim varmış gibi algılar.[7]
- analogWrite(pin, değer) iki parametre alır; değer 0 (her zaman kapalı) ile 255 (her zaman açık) arasındadır.[3]
- UNO'da PWM yalnız 3, 5, 6, 9, 10 ve 11. pinlerde vardır; bu pinler kartta ~ işaretiyle gösterilir.[2][7]
- analogWrite'tan önce pinMode çağırmak gerekmez.[3]
- Arduino'nun PWM frekansı yaklaşık 500 Hz'dir; yani bir periyot yaklaşık 2 milisaniye sürer.[7]
- 5 ve 6. pinler millis ve delay ile aynı zamanlayıcıyı paylaştığı için düşük değerlerde (0 ile 10 arası gibi) görev oranı beklenenden yüksek çıkabilir; 0 değeri bu pinlerde çıkışı tam kapatmayabilir.[3]
Örnek 2 (görev oranı ve ortalama gerilim). Görev oranı değer / 255'tir; 5 voltluk kartta ortalama gerilim 5 × değer / 255 olur. analogWrite(255) yüzde 100, analogWrite(127) yaklaşık yüzde 50 görev oranı verir.[7]
| analogWrite değeri | Görev oranı | Ortalama gerilim |
|---|---|---|
| 0 | %0 | 0 V |
| 64 | %25,1 | 1,255 V |
| 127 | %49,8 | 2,490 V |
| 191 | %74,9 | 3,745 V |
| 255 | %100 | 5 V |
const int ledPin = 9; // ~9: PWM pini
void loop() {
for (int deger = 0; deger <= 255; deger++) {
analogWrite(ledPin, deger); // LED yavaşça parlaklaşır
delay(10);
}
}
Dikkat: analogWrite'ın analog pinlerle (A0-A5) ve analogRead ile ilgisi yoktur.[3] "Analog" sözcüğü iki fonksiyonda farklı şeyleri anlatır.
Dijital giriş: digitalRead, buton ve çekme direnci
Arduino pinleri varsayılan olarak giriştir; giriş olarak kullanırken pinMode ile ayrıca ayarlamak gerekmez. Giriş pini yüksek empedanslıdır: önündeki devreden çok az akım çeker, 100 MΩ'luk bir seri direnç gibi davranır.[5]
Bunun bir sonucu vardır: hiçbir şeye bağlı olmayan ya da ucu boşta kalan bir giriş pini ortamdaki elektriksel gürültüyü toplar ve rastgele değişen değerler okur.[5] Bu yüzden girişe tanımlı bir durum vermek gerekir:
- Dış çekme (pull-up) direnci: Giriş bir dirençle +5 V'a bağlanır; buton basılınca pin GND'ye çekilir.[5]
- Dış indirme (pull-down) direnci: Giriş bir dirençle GND'ye bağlanır; buton basılınca pin 5 V'a çekilir.[5]
- Bu iş için 10 kΩ iyi bir değerdir.[5]
- INPUT_PULLUP: Mikrodenetleyicinin içinde yazılımla açılabilen çekme dirençleri vardır; AVR tabanlı kartlarda değeri 20 ile 50 kΩ arasındadır. pinMode(pin, INPUT_PULLUP) ile açılır. Bu modda mantık terstir: HIGH sensörün kapalı, LOW açık olduğunu gösterir. Sensörün ya da butonun öteki ucu GND'ye bağlanır.[5]
const int butonPin = 2;
void setup() {
pinMode(butonPin, INPUT_PULLUP); // iç çekme direnci açık
Serial.begin(9600); // seri monitör için
}
void loop() {
int durum = digitalRead(butonPin);
Serial.println(durum); // basılı değilken 1, basılıyken 0
delay(200);
}
Serial.begin(9600) seri iletişimi başlatır; Serial.println ile yazdırılan değerler Arduino IDE'nin seri monitöründe görülür.[4]
Analog giriş: analogRead ve potansiyometre
Arduino UNO'da çok kanallı, 10 bitlik bir analog-dijital çevirici (ADC) vardır. analogRead, 0 volt ile çalışma gerilimi olan 5 volt arasındaki girişi 0 ile 1023 arasında bir tam sayıya çevirir. İki okuma arasındaki çözünürlük 5 V / 1024, yaklaşık 4,9 milivolttur.[4] 10 bitin 2¹⁰ = 1024 farklı değer verdiğini Sayı Sistemleri yazısında anlattık.
Potansiyometre üç uçlu ayarlı bir dirençtir. Orta ucu (silecek) analog pine, dış uçları GND ve 5 V'a bağlanır; topuz çevrildikçe orta uçtaki gerilim 0 ile 5 V arasında değişir.[4]
const int potPin = A3; // potansiyometrenin orta ucu A3'te
void setup() {
Serial.begin(9600);
}
void loop() {
int ham = analogRead(potPin); // 0-1023
float gerilim = ham / 1023.0 * 5.0; // volta çevir
Serial.print(ham);
Serial.print(" ");
Serial.println(gerilim, 3);
delay(200);
}
Örnek 3 (ham değeri volta çevirme). Arduino'nun belgesindeki dönüşüm gerilim = ham değer / 1023 × 5'tir.[4]
| analogRead değeri | Gerilim |
|---|---|
| 0 | 0 V |
| 205 | 1,002 V |
| 512 | 2,502 V |
| 767 | 3,749 V |
| 1023 | 5 V |
Hiçbir şeye bağlı olmayan analog pinden okunan değer de dalgalanır.[4] Okunan değerleri sayı yerine grafik olarak görmek için Arduino IDE'nin seri çizicisi (Serial Plotter) kullanılabilir; seri iletişim kullanan hemen her çizimde çalışır.[8]
Potansiyometreyle LED parlaklığı: analogRead'den analogWrite'a
İki fonksiyonun aralığı farklıdır: analogRead 0-1023, analogWrite 0-255 verir. Arduino'nun resmî örneği bu yüzden okunan değeri 4'e böler.[3]
const int ledPin = 9; // PWM pini
const int potPin = A3;
void setup() {
pinMode(ledPin, OUTPUT);
}
void loop() {
int deger = analogRead(potPin); // 0-1023
analogWrite(ledPin, deger / 4); // 0-255
}
Örnek 4. Potansiyometre orta konumda 512 okuyorsa LED'e 512 / 4 = 128 yazılır; en uçta 1023 okununca 1023 / 4 = 255 olur (tam sayı bölmesinde 255,75'in küsuratı atılır).
Tinkercad'de denemek
Devreyi kablolamadan önce Autodesk'in Tinkercad Circuits ortamında kurmak mümkündür: etkileşimli devre düzenleyicide sanal devre kurulur, bağlanır ve Arduino kodu yazılır; simülasyon başlatıldığında bileşenlerin nasıl tepki verdiği izlenir.[9] LED'in ters takılması ya da direncin unutulması gibi hatalar böylece gerçek bileşen bozulmadan görülebilir.
Öğrencilerin sık yaptığı hatalar
- LED'i dirençsiz bağlamak. Akımı sınırlayan bir şey kalmaz; UNO'nun pin başına 20 mA önerisi ve LED'in 30 mA sınırı aşılabilir.[2][6]
- LED'i ters takmak. Katot (−) ucu GND'ye gitmelidir; ters takılı LED iletmez ve yanmaz.
- PWM olmayan pine analogWrite yazmak. UNO'da PWM yalnız ~ işaretli 3, 5, 6, 9, 10 ve 11. pinlerdedir.[2]
- analogWrite'ı analog pinlerle karıştırmak. analogWrite A0-A5 pinleriyle ve analogRead ile ilgili değildir.[3]
- Aralıkları karıştırmak. analogRead 0-1023, analogWrite 0-255'tir; okunan değeri doğrudan analogWrite'a yazmak taşmaya yol açar.[4][3]
- Girişi boşta bırakmak. Butonla çekme ya da indirme direnci kullanılmazsa giriş rastgele değişir.[5]
- INPUT_PULLUP'ta mantığı unutmak. Bu modda basılı buton LOW (0) okunur.[5]
- Serial.begin'i unutmak. Seri monitörde hiçbir şey görünmez; setup içinde Serial.begin(9600) çağrılmalıdır.[4]
Alıştırmalar
- analogWrite(9, 64) çağrısı yüzde kaç görev oranı ve 5 voltluk kartta ortalama kaç volt verir?
- Bir potansiyometre 2,5 V veriyorsa analogRead yaklaşık hangi değeri döndürür?
- analogRead 307 okuyor. Girişteki gerilim yaklaşık kaç volttur?
- İleri gerilimi 1,9 V olan kırmızı LED'in akımı 20 mA'i geçmesin. En küçük direnç kaç ohm olmalıdır?
- 330 Ω'luk dirençle aynı LED'den yaklaşık kaç mA geçer?
- Bir öğrenci LED'i 7. pine bağlayıp analogWrite ile parlaklık ayarlamaya çalışıyor; LED ya tam yanıyor ya sönük kalıyor. Neden?
- Butonu INPUT_PULLUP ile 2. pine bağlayan öğrenci, basılıyken seri monitörde 0 görüyor. Devre bozuk mu?
- Potansiyometre analogRead ile 700 okunuyor. Değeri 4'e bölüp LED'e yazan programda analogWrite'a hangi değer gider?
Cevaplar
- Görev oranı 64 / 255 = yüzde 25,1, ortalama gerilim 5 × 64 / 255 = 1,255 V.
- 2,5 / 5 × 1023 = 511,5; yaklaşık 511 ya da 512 okunur.
- 307 / 1023 × 5 = 1,500 V (1,5004 V).
- R = (5 − 1,9) / 0,020 = 155 Ω; 155 Ω standart bir değer olmadığı için bir üst standart değer (örneğin 180 Ω) seçilir.
- (5 − 1,9) / 330 = 9,4 mA.
- UNO'da 7. pin PWM pini değildir; PWM yalnız 3, 5, 6, 9, 10 ve 11. pinlerdedir. LED'i bunlardan birine, örneğin 9. pine bağlamak gerekir.
- Hayır. INPUT_PULLUP'ta mantık terstir: basılı buton LOW (0), bırakılmış buton HIGH (1) okunur.
- 700 / 4 = 175 (tam sayı bölmesi); analogWrite'a 175 gider.
Terim tablosu
| Türkçe | İngilizce | Açıklama |
|---|---|---|
| Giriş/çıkış (G/Ç) | Input/output (I/O) | Kartın dışarıyla veri alışverişi |
| Dijital pin | Digital pin | HIGH ya da LOW değerli pin |
| Darbe genişlik modülasyonu | Pulse width modulation (PWM) | Açık kalma oranıyla ortalama gerilim üretme |
| Görev oranı | Duty cycle | Sinyalin açık kaldığı sürenin periyoda oranı |
| Analog-dijital çevirici | Analog-to-digital converter (ADC) | Gerilimi sayıya çeviren birim |
| Çözünürlük | Resolution | Bir adımın gerilim karşılığı (UNO'da 4,9 mV) |
| Çekme direnci | Pull-up resistor | Girişi tanımlı olarak HIGH'a çeken direnç |
| İndirme direnci | Pull-down resistor | Girişi tanımlı olarak LOW'a çeken direnç |
| İleri gerilim | Forward voltage | LED iletirken uçlarında düşen gerilim |
| Seri monitör | Serial Monitor | IDE'de seri verinin metin olarak görüldüğü pencere |
| Seri çizici | Serial Plotter | Seri veriyi grafik olarak gösteren araç |
Özet
- Dijital çıkış iki değerlidir: digitalWrite(pin, HIGH) pini 5 volta, LOW 0 volta çeker. LED'i doğrudan pine bağlamak yerine seri bir dirençle bağlamak gerekir; UNO'da bir G/Ç pininden en fazla 20 mA çekilmesi önerilir.
- Analog çıkış UNO'da gerçek bir gerilim değil PWM'dir: analogWrite(pin, değer) yalnız ~ işaretli 3, 5, 6, 9, 10 ve 11. pinlerde çalışır, değer 0 (hep kapalı) ile 255 (hep açık) arasındadır.
- Dijital giriş digitalRead ile 0 ya da 1 okur. Boşta kalan giriş rastgele değişir; bu yüzden 10 kΩ'luk dış direnç ya da INPUT_PULLUP ile girişe tanımlı bir durum verilir. INPUT_PULLUP'ta mantık terstir: basılı buton LOW okunur.
- Analog giriş analogRead ile A0 ile A5 arasındaki pinlerden okunur. UNO'nun 10 bitlik ADC'si 0 ile 5 volt arasını 0 ile 1023 arasına çevirir; bir adım yaklaşık 4,9 milivolttur.
- analogRead 0-1023, analogWrite 0-255 aralığında çalıştığı için potansiyometreyle LED parlaklığı ayarlanırken okunan değer 4'e bölünür.
Sonuç
Arduino'da giriş ve çıkışın özeti dört satırdır: digitalWrite iki değerli çıkış, analogWrite ~ işaretli pinlerde 0-255 arasında PWM, digitalRead iki değerli giriş, analogRead A0-A5'te 0-1023 arasında okuma. Bu dört fonksiyonun aralıklarını ve pinlerini bilen, LED'e direnç hesaplamayı Ohm kanunuyla yapabilen öğrenci, fiziksel programlama dersindeki uygulamaların çoğunu kurabilir. Bir sonraki adım, bu dört işi bir arada kullanan küçük projelerdir: butonla yanan LED, potansiyometreyle parlaklığı değişen LED ve okunan değeri seri çizicide izlemek. Bu fonksiyonları değişken, koşul, döngü ve fonksiyonlarla bir program içinde düzenlemeyi Arduino Programlama: Değişken, Koşul, Döngü ve Fonksiyon yazısında anlattık.
Sık sorulan sorular
Arduino'da dijital ve analog giriş çıkış nedir?
Dijital giriş ve çıkış yalnız iki durumla çalışır: HIGH (1, UNO'da 5 V) ve LOW (0, 0 V). Analog giriş ise bir gerilimi sayıya çevirir; UNO'da analogRead 0 ile 5 volt arasını 0 ile 1023 arasında okur. UNO'da analog çıkış gerçek bir ara gerilim değil, analogWrite ile üretilen ve 0 ile 255 arasında ayarlanan PWM sinyalidir.
Arduino UNO PWM pinleri hangileri?
Arduino UNO R3'te PWM çıkışı verebilen pinler 3, 5, 6, 9, 10 ve 11'dir; kart üzerinde ve pin şemasında ~ işaretiyle gösterilir. analogWrite bu pinlerde kullanılır. 5 ve 6. pinlerde çok düşük değerlerde görev oranı beklenenden yüksek çıkabilir, çünkü bu pinler millis ve delay ile aynı zamanlayıcıyı paylaşır.
analogWrite değer aralığı nedir?
analogWrite 0 ile 255 arasında bir değer alır: 0 her zaman kapalı, 255 her zaman açık demektir. Değer PWM'in görev oranını belirler; örneğin 127 yaklaşık yüzde 50 görev oranı verir ve 5 voltluk kartta ortalama gerilim yaklaşık 2,5 volt olur.
analogRead kaç ile kaç arasında değer verir?
Arduino UNO'nun analog-dijital çeviricisi 10 bitliktir; analogRead 0 ile 5 volt arasındaki gerilimi 0 ile 1023 arasında bir tam sayıya çevirir. Bir adım 5 / 1024, yaklaşık 4,9 milivolttur. Okunan değer gerilim = değer / 1023 × 5 ile volta çevrilebilir.
Arduino'da LED için kaç ohm direnç kullanılır?
Direnç, Ohm kanunuyla R = (5 V − LED'in ileri gerilimi) / istenen akım olarak bulunur. İleri gerilimi yaklaşık 1,9 V olan kırmızı bir LED için 220 ohm yaklaşık 14 mA akım verir; bu, UNO'da pin başına önerilen 20 mA sınırının ve LED'in 30 mA'lik sınırının altındadır. Bu yüzden derslerde 220 ohm yaygın kullanılır.
INPUT_PULLUP nedir?
INPUT_PULLUP, Arduino'daki mikrodenetleyicinin içindeki çekme (pull-up) direncini açan pin modudur; AVR tabanlı kartlarda bu direnç 20 ile 50 kΩ arasındadır. Böylece dış direnç gerekmez. Butonun öteki ucu toprağa (GND) bağlanır ve mantık tersine döner: buton basılı değilken HIGH, basılıyken LOW okunur.
Kaynaklar
Kaynakça ayarları
İkisi de varsayılan olarak kapalıdır; seçiminiz bu tarayıcıda hatırlanır.
- 1
Arduino (2026). UNO R3 (A000066). Arduino Documentation. ↑ Metinde göster
Kaynak 1UNO R3 (A000066)
Arduino (2026). Arduino Documentation.
ATmega328P tabanlı; 14 dijital giriş/çıkış pini (6'sı PWM), 6 analog giriş, 16 MHz rezonatör, USB bağlantısı.
Yazıda kullanıldığı yerler
Kaynağı aç ↗ - 2
Arduino (2026). UNO R3 Full Pinout (A000066). Arduino Documentation (PDF). ↑ Metinde: abcçde
Kaynak 2UNO R3 Full Pinout (A000066)
Arduino (2026). Arduino Documentation (PDF).
PWM pinleri ~D3, ~D5, ~D6, ~D9, ~D10, ~D11; analog girişler A0-A5; G/Ç pini başına en fazla akım 20 mA.
Yazıda kullanıldığı yerler
- Arduino'da giriş ve çıkış nedir? · 2 atıf
- Dijital çıkış: pinMode ve digitalWrite
- Analog çıkış: PWM ve analogWrite
- Öğrencilerin sık yaptığı hatalar · 2 atıf
Tümünü gör · 7 kaynak dahaDaha az göster
- 3
Arduino (2026). analogWrite(). Arduino Language Reference. ↑ Metinde: abcçdefgğ
Kaynak 3analogWrite()
Arduino (2026). Arduino Language Reference.
Pine PWM dalgası yazar; görev oranı 0 (hep kapalı) ile 255 (hep açık) arası; öncesinde pinMode gerekmez; analog pinlerle ve analogRead ile ilgisi yoktur; 5 ve 6. pinlerde düşük değerlerde görev oranı yüksek çıkabilir (millis/delay zamanlayıcısı); potansiyometre örneğinde analogRead değeri 4'e bölünür.
Yazıda kullanıldığı yerler
- Arduino'da giriş ve çıkış nedir?
- Analog çıkış: PWM ve analogWrite · 5 atıf
- Potansiyometreyle LED parlaklığı: analogRead'den analogWrite'a
- Öğrencilerin sık yaptığı hatalar · 2 atıf
- 4
Arduino (2026). analogRead(). Arduino Language Reference. ↑ Metinde: abcçdefg
Kaynak 4analogRead()
Arduino (2026). Arduino Language Reference.
UNO'da 10 bitlik çok kanallı ADC; 0-5 V girişi 0-1023 tam sayısına çevirir; çözünürlük 5 V / 1024 = 4,9 mV; potansiyometrenin orta ucu analog pine, dış uçları GND ve VCC'ye; Serial.begin(9600) ile seri monitöre yazdırma; gerilim = ham değer / 1023 × 5; bağlı olmayan analog pin dalgalanır.
Yazıda kullanıldığı yerler
- Arduino'da giriş ve çıkış nedir?
- Dijital giriş: digitalRead, buton ve çekme direnci
- Analog giriş: analogRead ve potansiyometre · 4 atıf
- Öğrencilerin sık yaptığı hatalar · 2 atıf
- 5
Arduino (2026). Digital Pins. Arduino Documentation. ↑ Metinde: abcçdefgğhıi
Kaynak 5Digital Pins
Arduino (2026). Arduino Documentation.
Pinler varsayılan olarak giriştir (yüksek empedans, 100 MΩ seri direnç eşdeğeri); boştaki giriş gürültüyle rastgele değişir; 10 kΩ çekme ya da indirme direnci; INPUT_PULLUP iç direnci AVR'de 20-50 kΩ, mantığı ters çevirir, sensörün öteki ucu GND'ye; OUTPUT pini 40 mA'e kadar verir ya da çeker, kısa devre pini bozabilir.
Yazıda kullanıldığı yerler
- Arduino'da giriş ve çıkış nedir?
- Dijital çıkış: pinMode ve digitalWrite · 2 atıf
- LED'i bağlarken: anot, katot ve direnç
- Dijital giriş: digitalRead, buton ve çekme direnci · 6 atıf
- Öğrencilerin sık yaptığı hatalar · 2 atıf
- 6
Kingbright (2026). WP7113ID T-1 3/4 (5mm) Solid State Lamp: Datasheet. ↑ Metinde: abc
Kaynak 6WP7113ID T-1 3/4 (5mm) Solid State Lamp: Datasheet
Kingbright (2026).
5 mm kırmızı LED; 10 mA'de ileri gerilim tipik 1,9 V, en çok 2,3 V; sürekli ileri akım en çok 30 mA; ters gerilim en çok 5 V.
Yazıda kullanıldığı yerler
Kaynağı aç ↗ - 7
Hirzel, T. (2022). Basics of PWM (Pulse Width Modulation). Arduino Documentation. ↑ Metinde: abcç
Kaynak 7Basics of PWM (Pulse Width Modulation)
Hirzel, T. (2022). Arduino Documentation.
PWM, sayısal yolla analog sonuç elde etme tekniği; açık kalma süresi darbe genişliği; Arduino'nun PWM frekansı yaklaşık 500 Hz, periyot 2 ms; analogWrite(255) yüzde 100, analogWrite(127) yüzde 50 görev oranı; PWM pinleri ~ ile gösterilir.
Yazıda kullanıldığı yerler
- Analog çıkış: PWM ve analogWrite · 4 atıf
- 8
Söderby, K. (2025). Using the Serial Plotter Tool. Arduino Documentation (Arduino IDE 2). ↑ Metinde göster
Kaynak 8Using the Serial Plotter Tool
Söderby, K. (2025). Arduino Documentation (Arduino IDE 2).
Seri çizici, karttan seri bağlantıyla gönderilen verileri grafik olarak gösterir; seri monitörün görsel karşılığıdır ve seri iletişim kullanan hemen her çizimde çalışır.
Yazıda kullanıldığı yerler
Kaynağı aç ↗ - 9
Autodesk (2026). Tinkercad Circuits. Autodesk Tinkercad. ↑ Metinde göster
Kaynak 9Tinkercad Circuits
Autodesk (2026). Autodesk Tinkercad.
Etkileşimli devre düzenleyiciyle sanal devre kurma, bağlama ve kodlama; Arduino ve micro:bit; devreyi kablolamadan önce bileşenlerin tepkisini simülasyonda izleme.
Yazıda kullanıldığı yerler
Kaynağı aç ↗
Atıf
APA 7
BÖTE Editör Ekibi. (2026, 4 Ekim). Arduino dijital ve analog giriş çıkış: PWM ve analogRead. BÖTE Blog. https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis
BibTeX
@online{bote-arduino-dijital-analog-giris-cikis,
author = {{BÖTE Editör Ekibi}},
title = {Arduino Dijital ve Analog Giriş Çıkış: PWM ve analogRead},
organization = {BÖTE Blog},
year = {2026},
date = {2026-10-04},
url = {https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis},
langid = {turkish}
} Sitene göm
Atıf kartını kendi sitenize ya da ders sayfanıza ekleyin. Kart APA 7 ve BibTeX kaydını birlikte taşır.
Her sitede çalışır, JavaScript gerektirmez; bağlantı arama motorlarınca da görülür.
<blockquote class="bote-atif" cite="https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis">
<p><strong><a href="https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis">Arduino Dijital ve Analog Giriş Çıkış: PWM ve analogRead</a></strong> · BÖTE Blog</p>
<p>BÖTE Editör Ekibi. (2026, 4 Ekim). Arduino dijital ve analog giriş çıkış: PWM ve analogRead. <i>BÖTE Blog</i>. https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis</p>
<details>
<summary>BibTeX</summary>
<pre>@online{bote-arduino-dijital-analog-giris-cikis,
author = {{BÖTE Editör Ekibi}},
title = {Arduino Dijital ve Analog Giriş Çıkış: PWM ve analogRead},
organization = {BÖTE Blog},
year = {2026},
date = {2026-10-04},
url = {https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis},
langid = {turkish}
}</pre>
</details>
</blockquote> Hazır atıf kartı; yazı güncellendiğinde kart da kendiliğinden güncellenir.
<iframe src="https://bote.web.tr/blog/embed/arduino-dijital-analog-giris-cikis"
title="Arduino Dijital ve Analog Giriş Çıkış: PWM ve analogRead: atıf kartı (BÖTE Blog)"
width="100%" height="360" loading="lazy"
style="border:0;max-width:680px"></iframe> README, GitHub, Notion ve statik site üreticileri için.
> **[Arduino Dijital ve Analog Giriş Çıkış: PWM ve analogRead](https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis)** · BÖTE Blog
>
> BÖTE Editör Ekibi. (2026, 4 Ekim). Arduino dijital ve analog giriş çıkış: PWM ve analogRead. *BÖTE Blog*. https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis
```bibtex
@online{bote-arduino-dijital-analog-giris-cikis,
author = {{BÖTE Editör Ekibi}},
title = {Arduino Dijital ve Analog Giriş Çıkış: PWM ve analogRead},
organization = {BÖTE Blog},
year = {2026},
date = {2026-10-04},
url = {https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis},
langid = {turkish}
}
``` React ve Next.js bileşeni.
const bibtex = `@online{bote-arduino-dijital-analog-giris-cikis,
author = {{BÖTE Editör Ekibi}},
title = {Arduino Dijital ve Analog Giriş Çıkış: PWM ve analogRead},
organization = {BÖTE Blog},
year = {2026},
date = {2026-10-04},
url = {https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis},
langid = {turkish}
}`;
export function BoteAtif() {
return (
<blockquote className="bote-atif" cite="https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis">
<p><a href="https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis"><strong>Arduino Dijital ve Analog Giriş Çıkış: PWM ve analogRead</strong></a> · BÖTE Blog</p>
<p>BÖTE Editör Ekibi. (2026, 4 Ekim). Arduino dijital ve analog giriş çıkış: PWM ve analogRead. <i>BÖTE Blog</i>. https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis</p>
<details>
<summary>BibTeX</summary>
<pre>{bibtex}</pre>
</details>
</blockquote>
);
} Vue 3 tek dosya bileşeni (Nuxt ile de çalışır).
<script setup>
const bibtex = `@online{bote-arduino-dijital-analog-giris-cikis,
author = {{BÖTE Editör Ekibi}},
title = {Arduino Dijital ve Analog Giriş Çıkış: PWM ve analogRead},
organization = {BÖTE Blog},
year = {2026},
date = {2026-10-04},
url = {https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis},
langid = {turkish}
}`;
</script>
<template>
<blockquote class="bote-atif" cite="https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis">
<p><a href="https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis"><strong>Arduino Dijital ve Analog Giriş Çıkış: PWM ve analogRead</strong></a> · BÖTE Blog</p>
<p>BÖTE Editör Ekibi. (2026, 4 Ekim). Arduino dijital ve analog giriş çıkış: PWM ve analogRead. <i>BÖTE Blog</i>. https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis</p>
<details>
<summary>BibTeX</summary>
<pre>{{ bibtex }}</pre>
</details>
</blockquote>
</template> Svelte ve SvelteKit bileşeni.
<script>
const bibtex = `@online{bote-arduino-dijital-analog-giris-cikis,
author = {{BÖTE Editör Ekibi}},
title = {Arduino Dijital ve Analog Giriş Çıkış: PWM ve analogRead},
organization = {BÖTE Blog},
year = {2026},
date = {2026-10-04},
url = {https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis},
langid = {turkish}
}`;
</script>
<blockquote class="bote-atif" cite="https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis">
<p><a href="https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis"><strong>Arduino Dijital ve Analog Giriş Çıkış: PWM ve analogRead</strong></a> · BÖTE Blog</p>
<p>BÖTE Editör Ekibi. (2026, 4 Ekim). Arduino dijital ve analog giriş çıkış: PWM ve analogRead. <i>BÖTE Blog</i>. https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis</p>
<details>
<summary>BibTeX</summary>
<pre>{bibtex}</pre>
</details>
</blockquote> Atıf verisini JSON olarak çekip sayfaya ekler.
// Sayfanızda <div id="bote-atif"></div> bulunmalı.
const yanit = await fetch("https://bote.web.tr/blog/atif/arduino-dijital-analog-giris-cikis.json");
const atif = await yanit.json();
const kutu = document.getElementById("bote-atif");
const baslik = Object.assign(document.createElement("a"), { href: atif.url, textContent: atif.title });
const apa = Object.assign(document.createElement("p"), { textContent: atif.apa });
const bib = Object.assign(document.createElement("pre"), { textContent: atif.bibtex });
kutu.append(baslik, apa, bib); APA 7 metnini yazdırır, BibTeX kaydını .bib dosyasına ekler.
import requests
atif = requests.get("https://bote.web.tr/blog/atif/arduino-dijital-analog-giris-cikis.json", timeout=10).json()
print(atif["apa"]) # APA 7
with open("kaynaklar.bib", "a", encoding="utf-8") as bib:
bib.write(atif["bibtex"] + "\n") # BibTeX biblatex ile APA 7 biçeminde kaynakça.
% 1) BibTeX kaydını kaynaklar.bib dosyasına ekleyin:
% @online{bote-arduino-dijital-analog-giris-cikis,
% author = {{BÖTE Editör Ekibi}},
% title = {Arduino Dijital ve Analog Giriş Çıkış: PWM ve analogRead},
% organization = {BÖTE Blog},
% year = {2026},
% date = {2026-10-04},
% url = {https://bote.web.tr/blog/arduino-dijital-analog-giris-cikis},
% langid = {turkish}
% }
% 2) Belgede APA 7 biçemiyle kullanın:
\documentclass{article}
\usepackage[style=apa]{biblatex}
\addbibresource{kaynaklar.bib}
\begin{document}
Ayrıntı için bkz. \parencite{bote-arduino-dijital-analog-giris-cikis}.
\printbibliography
\end{document} Yayın tarihi:
- · Yayımlandı. Pinler, değer aralıkları ve fonksiyonlar Arduino'nun resmî belgelerinden ve UNO R3 pin şemasından; LED değerleri üreticinin veri sayfasından. Bütün sayısal sonuçlar programla denetlendi.
Bu yazı faydalı oldu mu?
Yorumlar
Henüz yorum yok.

