SMD Direnç Kodları: 103, 4702, 01C ve 4R7 Nasıl Okunur?
SMD direnç kodları nasıl okunur? 3 ve 4 haneli kodlar, EIA-96 (01C), R harfi (4R7), 0603/0805/1206 boyutları, 104 kondansatör ve SMD transistör kodları.
SMD direnç kodları, yüzey montaj (SMD) dirençlerin üzerine renk bantları yerine basılan üç ya da dört karakterlik kısa yazılardır ve direncin değerini ohm cinsinden gösterir. Kuralı bir kez öğrendiğinde okuması çok kolaydır: 103 = 10 kΩ, 4702 = 47 kΩ, 4R7 = 4,7 Ω ve 01C = 10 kΩ. Üç haneli kodda ilk iki rakam değeri, son rakam arkasına eklenecek sıfır sayısını verir; dört haneli kodda ilk üç rakam değerdir. R harfi ondalık virgülün yerini tutar, iki rakam ve bir harften oluşan kodlar ise EIA-96 tablosundan okunur.
Arduino Nano, ESP32 geliştirme kartları, sensör modülleri ve regülatör kartlarının neredeyse tamamı bu küçük parçalarla doludur. Bir modülü tamir etmek, kartındaki LED'in hangi dirençle beslendiğini anlamak, bir pull-up direncinin değerini bulmak ya da kendi baskı devreni tasarlamak istediğinde bu kodları okuyabilmen gerekir. Bu rehberde dirençlerin yanında SMD kondansatör kodlarını (104 = 100 nF), 0603, 0805 ve 1206 gibi boyut kodlarını, SMD transistör ve diyotların üzerindeki kısa işaretleri ve üzerinde hiç yazı olmayan bir parçayı Arduino ile nasıl ölçeceğini de öğreneceksin.

SMD direnç nedir, neden renk kodu yok?
SMD (Surface Mount Device), bacakları delikten geçmeyen ve doğrudan baskı devre kartının yüzeyindeki pedlere lehimlenen parça demektir. Bir SMD direnç, iki ucu metal kaplı küçük bir seramik bloktur; üstündeki siyah koruyucu katman hem direnç malzemesini korur hem de kodu taşır. 0805 boyutundaki bir direnç yalnızca 2 × 1,25 mm olduğu için üzerine dört renk bandı çizmek pratik değildir; bu yüzden değer, beyaz rakamlarla basılan bir kodla yazılır. 0402 ve daha küçük dirençlerde bu kod için bile yer yoktur, bu parçalar tamamen yazısızdır. Kodun yalnızca direnç değerini söylediğini unutma: güç ve gerilim sınırı gövde boyutundan, tolerans ise çoğunlukla kodun türünden anlaşılır.
| Kod türü | Örnek | Nasıl okunur? | Değer | Genelde nerede? |
|---|---|---|---|---|
| 3 haneli | 103 | 10 ve 3 sıfır | 10 kΩ | %5 toleranslı, 0603 ve üstü |
| 4 haneli | 4702 | 470 ve 2 sıfır | 47 kΩ | %1 toleranslı, 0805 ve üstü |
| R'li | 4R7 | R = ondalık virgül | 4,7 Ω | 10 Ω'un altındaki değerler |
| EIA-96 | 01C | Tablodaki 100 × 100 | 10 kΩ | %1 toleranslı 0603 dirençler |
| Sıfır | 0, 00, 000 | Köprü (jumper) | 0 Ω | Hat birleştirme, seçenek ayarı |
3 haneli SMD direnç kodu nasıl okunur?
En yaygın biçim üç haneli koddur. İlk iki rakam değerin anlamlı kısmıdır, üçüncü rakam ise bu sayının arkasına kaç sıfır ekleneceğini, yani 10'un kuvvetini gösterir. 103 kodunda 10'un arkasına üç sıfır eklenir: 10 000 Ω = 10 kΩ. Aynı şekilde 472 = 47 ve iki sıfır = 4700 Ω = 4,7 kΩ; 221 = 220 Ω; 334 = 330 kΩ; 105 = 1 000 000 Ω = 1 MΩ olur. Bu kodlar genellikle ±%5 toleranslı dirençlerde kullanılır ve değerler E24 serisinden gelir: 10, 11, 12, 13, 15, 16, 18, 20, 22, 24, 27, 30, 33, 36, 39, 43, 47, 51, 56, 62, 68, 75, 82 ve 91 ile bunların 10'un katları. Okuduğun değer bu listeye uymuyorsa ya kodu ters okuyorsundur ya da parça direnç değildir.
| Kod | Değer | Arduino ve modüllerde sık kullanım |
|---|---|---|
| 100 | 10 Ω | Küçük seri dirençler, akım sınırlama |
| 220 | 22 Ω | USB veri hatlarındaki seri dirençler |
| 221 | 220 Ω | 5 V ile LED akım sınırlama |
| 331 | 330 Ω | LED ve transistör beyz direnci |
| 102 | 1 kΩ | Kart üzerindeki güç ve durum LED'leri |
| 472 | 4,7 kΩ | I2C ve 1-Wire pull-up dirençleri |
| 103 | 10 kΩ | Reset ve buton pull-up dirençleri |
| 473 | 47 kΩ | Gerilim bölücüler |
| 104 | 100 kΩ | Pil gerilimi ölçen bölücüler |
| 105 | 1 MΩ | Yüksek empedanslı girişler |
4 haneli kod ve R harfi: 4702, 1002, 4R7
Dört haneli kod ±%1 toleranslı hassas dirençlerde kullanılır. Mantık aynıdır, yalnız anlamlı kısım üç rakamdır: ilk üç rakam değeri, dördüncü rakam sıfır sayısını verir. 1002 = 100 ve iki sıfır = 10 000 Ω = 10 kΩ; 4702 = 47 kΩ; 1001 = 1 kΩ; 1000 = 100 Ω; 2201 = 2,2 kΩ; 1004 = 1 MΩ. Üç anlamlı rakam, E96 serisindeki 49,9 kΩ (4992) ya da 4,99 kΩ (4991) gibi ara değerlerin de yazılabilmesini sağlar. Kısacası aynı 10 kΩ'luk direnç, üreticisine ve hassasiyetine göre karşına 103, 1002 ya da 01C olarak çıkabilir; üçü de aynı değerdir.
10 Ω'un altındaki değerleri sıfır sayısıyla yazmak mümkün olmadığından ondalık virgülün yerine R harfi konur. 4R7 = 4,7 Ω, 2R2 = 2,2 Ω, 1R0 = 1 Ω, R47 = 0,47 Ω demektir. Dört karakterli sürümde kural aynıdır: 10R0 = 10 Ω, 4R70 = 4,7 Ω. Çok küçük değerler genellikle akım ölçmek için kullanılan şönt dirençlerdir: R100 = 0,1 Ω (INA219 gibi akım ölçüm modüllerinde görürsün), R010 = 0,01 Ω, yani 10 mΩ. Devre şemalarında ve malzeme listelerinde aynı mantık k ve M harfleriyle de kullanılır: 4k7 = 4,7 kΩ, 2M2 = 2,2 MΩ. Bu yazım, virgül baskıda kaybolduğunda 4,7 kΩ'un 47 kΩ ile karışmasını önlemek için tercih edilir.
EIA-96 kodu nasıl okunur? (01C, 68X, 85B)
0603 boyutundaki %1'lik dirençlere dört rakam sığmaz. Bunun için EIA-96 adlı üç karakterlik bir sistem kullanılır: ilk iki rakam (01–96), E96 serisindeki değerin sıra numarasıdır, son harf ise çarpandır. 01 numaralı değer 100, 68 numaralı değer 499, 85 numaralı değer 750'dir. Böylece 01C = 100 × 100 = 10 kΩ, 68X = 499 × 0,1 = 49,9 Ω, 85B = 750 × 10 = 7,5 kΩ olur. Burada rakamlardan hesap yapamazsın, değeri tablodan bulman gerekir. En hızlı yol kodu SMD kodu aracına yazmaktır; araç 3 ve 4 haneli kodları, R'li yazımı ve EIA-96'yı tanır.
| Harf | Çarpan | Örnek |
|---|---|---|
| Z | × 0,001 | 01Z = 0,1 Ω |
| Y ya da R | × 0,01 | 01Y = 1 Ω |
| X ya da S | × 0,1 | 68X = 49,9 Ω |
| A | × 1 | 01A = 100 Ω |
| B ya da H | × 10 | 85B = 7,5 kΩ |
| C | × 100 | 01C = 10 kΩ |
| D | × 1000 | 51D = 332 kΩ |
| E | × 10 000 | 01E = 1 MΩ |
| F | × 100 000 | 01F = 10 MΩ |
| Kod | Değer | Kod | Değer |
|---|---|---|---|
| 01 | 100 | 51 | 332 |
| 05 | 110 | 55 | 365 |
| 09 | 121 | 59 | 402 |
| 13 | 133 | 63 | 442 |
| 18 | 150 | 66 | 475 |
| 22 | 165 | 68 | 499 |
| 26 | 182 | 73 | 562 |
| 30 | 200 | 77 | 619 |
| 34 | 221 | 85 | 750 |
| 42 | 267 | 96 | 976 |
Alt çizgi, sıfır ohm ve diğer özel durumlar
- Alt çizgi: Bazı üreticiler %1 toleranslı ama E24 değerindeki dirençlerde üç haneli kodun altına bir çizgi çeker. Çizgi değeri değiştirmez; parçanın hassas olduğunu ve okuma yönünü gösterir.
- 0, 00 ya da 000: Sıfır ohmluk köprü (jumper) direncidir. Baskı devrede iki hattı birleştirmek ya da bir seçeneği açıp kapatmak için kullanılır; 0603 ve 0805 boyutlarında genellikle 1–2 A taşır.
- Yazısız dirençler: 0402, 0201 ve daha küçük parçalarda hiç kod yoktur. Değer ancak ölçülerek ya da makaranın etiketinden öğrenilir.
- Direnç dizileri: Tek gövdede yan yana dört direnç bulunan dizilerde tek bir kod basılır; 103 yazan bir dizi dört adet 10 kΩ direnç içerir. Arduino Uno gibi kartlarda sık görülür.
- Silindirik (MELF) dirençler: Bu SMD dirençler küçük bir silindir biçimindedir ve bacaklı dirençler gibi renk bantları taşır. Renkleri Renk kodu aracıyla çözebilirsin.
- SMD bobinler: Bobinlerde de benzer kodlar kullanılır ama birim mikrohenridir: 101 = 100 µH, 4R7 = 4,7 µH. Bunları Bobin kodu aracıyla okuyabilirsin.
SMD boyutları: 0603, 0805 ve 1206 ne demek?
Boyut kodu parçanın değerini değil, fiziksel ölçüsünü gösterir. Yaygın kullanılan inç sisteminde ilk iki rakam uzunluğu, son iki rakam genişliği inçin yüzde biri cinsinden verir: 0805, 0,08 × 0,05 inç yani yaklaşık 2,0 × 1,25 mm'dir. Metrik sistemde aynı parça milimetrenin onda biri cinsinden 2012 olarak yazılır. Gövde büyüdükçe direncin dayanabileceği güç ve gerilim artar. Elle lehimleme için en rahat boyutlar 1206 ve 0805'tir; 0603 cımbız ve ince bir havya ucuyla rahatça lehimlenir, 0402 ve altı ise büyüteç ve sabır ister. Aşağıdaki değerler tipiktir, tam sınırlar üreticiye göre biraz değişir.
| İnç kodu | Metrik kod | Ölçü (mm) | Tipik güç | Tipik en yüksek gerilim | Üzerindeki kod |
|---|---|---|---|---|---|
| 0201 | 0603 | 0,6 × 0,3 | 1/20 W | 25 V | Yok |
| 0402 | 1005 | 1,0 × 0,5 | 1/16 W | 50 V | Genellikle yok |
| 0603 | 1608 | 1,6 × 0,8 | 1/10 W | 75 V | 3 haneli ya da EIA-96 |
| 0805 | 2012 | 2,0 × 1,25 | 1/8 W | 150 V | 3 ya da 4 haneli |
| 1206 | 3216 | 3,2 × 1,6 | 1/4 W | 200 V | 3 ya da 4 haneli |
| 1210 | 3225 | 3,2 × 2,5 | 1/2 W | 200 V | 3 ya da 4 haneli |
| 2010 | 5025 | 5,0 × 2,5 | 3/4 W | 200 V | 3 ya da 4 haneli |
| 2512 | 6332 | 6,3 × 3,2 | 1 W | 200 V | 3, 4 haneli ya da R'li |
Güç değerleri genellikle 70 °C ortam sıcaklığı için verilir ve sıcaklık arttıkça düşer; bu yüzden sınırın yarısı civarında çalışmak iyi bir alışkanlıktır. Direncin harcadığı gücü P = V × I ya da P = I² × R ile hesapla. Örnek: 5 V'tan beslenen kırmızı bir LED'i 20 mA ile sürmek için (5 − 2) / 0,02 = 150 Ω gerekir; direncin üzerindeki güç 3 V × 0,02 A = 0,06 W'tır. 0603 (0,1 W) bunu taşır ama 0805 daha rahattır. Aynı LED'i 12 V'tan beslersen 510 Ω gerekir ve güç 10 V × 0,02 A = 0,2 W'a çıkar; bu durumda 1206 sınırda kalır, 1210 ya da daha büyük bir gövde seçmelisin. Hesapların mantığı için Ohm Kanunu yazısına göz atabilirsin.
SMD kondansatör kodları: 104 = 100 nF
Kondansatör kodları dirençlerle aynı mantıkta okunur ama birim pikofarad (pF)'dır: ilk iki rakam değer, üçüncü rakam sıfır sayısıdır. 104 = 10 ve dört sıfır = 100 000 pF = 100 nF = 0,1 µF. 103 = 10 nF, 102 = 1 nF, 105 = 1 µF, 106 = 10 µF. Birimleri çevirirken 1 µF = 1000 nF = 1 000 000 pF olduğunu hatırla. Üçüncü hanede 8 ya da 9 görürsen bu sıfır sayısı değil çarpandır: 9 = × 0,1 ve 8 = × 0,01; yani 229 = 2,2 pF, 479 = 4,7 pF. Değerin arkasındaki harf toleransı gösterir: J = ±%5, K = ±%10, M = ±%20. Harfin ortada olduğu yazımda harf hem birimi hem virgülü gösterir: 4n7 = 4,7 nF, p47 = 0,47 pF, 2u2 = 2,2 µF. Kodları hızlıca çevirmek için Kondansatör kodu aracını kullanabilirsin.
| Kod | pF | nF / µF | Tipik kullanım |
|---|---|---|---|
| 220 | 22 pF | 0,022 nF | 16 MHz kristalin yanındaki kondansatörler |
| 101 | 100 pF | 0,1 nF | Filtre ve parazit bastırma |
| 102 | 1000 pF | 1 nF | Filtre |
| 103 | 10 000 pF | 10 nF | Buton ve sensör hatlarında parazit süzme |
| 104 | 100 000 pF | 100 nF = 0,1 µF | Her entegrenin besleme ucundaki dekuplaj |
| 474 | 470 000 pF | 470 nF | Regülatör ve filtre devreleri |
| 105 | 1 000 000 pF | 1 µF | Regülatör çıkışı |
| 106 | 10 000 000 pF | 10 µF | AMS1117 gibi regülatörlerin giriş ve çıkışı |
Burada önemli bir gerçek var: seramik SMD kondansatörlerin (MLCC) çoğunun üzerinde hiç yazı yoktur. Kahverengi, bej ya da gri renkteki bu küçük blokların değeri ancak makaranın etiketinden ya da kapasite ölçebilen bir multimetreyle öğrenilir. Yukarıdaki AMS1117 kartında gördüğün 106 ve 104 yazıları da kondansatörlerin üzerinde değil, kartın baskısındadır. Eski parçalarda ya da bazı üreticilerde bir harf ve bir rakamdan oluşan iki karakterlik kod görülebilir: harf E24 serisindeki değeri (A = 1,0; E = 1,5; J = 2,2; N = 3,3; S = 4,7; W = 6,8), rakam ise pF cinsinden sıfır sayısını verir; S3 = 4,7 × 1000 pF = 4,7 nF. Makara etiketinde göreceğin X7R, X5R ve C0G (NP0) ise dielektrik türüdür: C0G sıcaklıkla neredeyse hiç değişmez, X7R ve X5R ise uygulanan DC gerilim arttıkça kapasitesinin önemli bir kısmını kaybedebilir.

Tantal kondansatörler genellikle sarı, turuncu ya da siyah dikdörtgen gövdelidir. Üzerlerinde pF kodu (106 = 10 µF, 476 = 47 µF, 107 = 100 µF) ve çoğu zaman bir gerilim harfi bulunur: J = 6,3 V, A = 10 V, C = 16 V, D = 20 V, E = 25 V, V = 35 V. Bazı üreticiler harf yerine gerilimi doğrudan yazar. SMD alüminyum elektrolitikler ise küçük metal silindirlerdir; değer µF olarak doğrudan basılır ve üstteki siyah yarım ay eksi (−) ucu gösterir. Film ve büyük seramik kondansatörlerde gördüğün 2A104J gibi yazılar da üç parçaya ayrılır: 2A = 100 V, 104 = 100 nF, J = ±%5. Diğer sık gerilim kodları 1C = 16 V, 1E = 25 V, 1H = 50 V ve 2J = 630 V'tur. Kondansatör türlerinin ayrıntıları Kondansatör Nedir? yazısında.
SMD transistör ve diyot kodları (1AM, J3Y, A7, M7)
SOT-23 gibi küçük kılıflara tam parça adı sığmadığından transistör ve diyotların üzerine 2–3 karakterlik bir işaret kodu (marking code) basılır. Bu kodlar tek bir standarda bağlı değildir: aynı kod iki farklı üreticide bambaşka parçalar anlamına gelebilir, kodun sonundaki küçük harf ise çoğunlukla üretim yeri ya da tarih kodudur. Bir parçayı tanımlarken üç bilgiyi birlikte kullan: kılıf tipi, işaret kodu ve parçanın devredeki görevi. Bipolar transistörlerde SOT-23 bacak sırası genellikle 1 = beyz, 2 = emiter, 3 = kollektördür; 2N7002 gibi MOSFET'lerde ise 1 = gate, 2 = source, 3 = drain. Bacak sıraları ve muadiller için Transistörler aracına, çalışma mantığı için Transistör Nedir? yazısına bakabilirsin.
| Kod | Kılıf | Parça | Ne işe yarar? |
|---|---|---|---|
| 1AM | SOT-23 | MMBT3904 | NPN transistör (2N3904'ün SMD hâli) |
| 2A | SOT-23 | MMBT3906 | PNP transistör (2N3906'nın SMD hâli) |
| 1P | SOT-23 | MMBT2222A | NPN transistör |
| 1F | SOT-23 | BC847B | NPN transistör (BC547B karşılığı) |
| 3F | SOT-23 | BC857B | PNP transistör (BC557B karşılığı) |
| J3Y | SOT-23 | S8050 | NPN transistör, modüllerde çok yaygın |
| 2TY | SOT-23 | S8550 | PNP transistör |
| 702 | SOT-23 | 2N7002 | N-kanal küçük sinyal MOSFET |
| A7 | SOT-23 | BAV99 | Seri bağlı çift anahtarlama diyodu |
| T4 | SOD-123 | 1N4148W | Hızlı anahtarlama diyodu |
| M7 | SMA | 1N4007 karşılığı | 1 A, 1000 V doğrultucu diyot |
| SS14 | SMA | SS14 | 1 A, 40 V Schottky diyot |
Yazısız ya da okunmayan direnci ölçmek: Arduino ile ohmmetre
Kod silinmişse, parça 0402 boyutundaysa ya da sonuçtan emin değilsen en güvenilir yol ölçmektir. Multimetreyle ölçerken direnci mümkünse devreden sök ya da en azından bir ucunu kaldır; devredeki paralel yollar ölçtüğün değeri gerçekte olduğundan düşük gösterir. Elinde multimetre yoksa Arduino ile basit bir ohmmetre yapabilirsin. Devre bir gerilim bölücüdür: değeri bilinen bir referans direnci (Rref) ile ölçülecek direnci (Rx) seri bağlar, ortadaki noktanın gerilimini analog pinden okursun. Arduino'nun analog okuması besleme gerilimine oranlı olduğundan formül çok sadedir: Rx = Rref × okunan / (1024 − okunan). En doğru sonucu Rx, Rref'e yakınken alırsın: 10 kΩ referansla 1 kΩ–100 kΩ arasındaki dirençleri yaklaşık ±%2 doğrulukla ölçebilirsin. 100 Ω civarı için 1 kΩ, megaohm seviyesi için 1 MΩ referans kullan ve RREF sabitini güncelle; referansın gerçek değerini bir kez multimetreyle ölçüp koda yazmak doğruluğu belirgin şekilde artırır.
| Bağlantı | Arduino Uno | ESP32 | Raspberry Pi Pico |
|---|---|---|---|
| Rref'in üst ucu | 5V | 3V3 | 3V3(OUT) |
| Rref ile Rx'in birleştiği nokta | A0 | GPIO 34 | GP26 (ADC0) |
| Rx'in alt ucu | GND | GND | GND |
1// Basit ohmmetre: 5V - Rref - A0 - Rx - GND / Simple ohmmeter: 5V - Rref - A0 - Rx - GND
2const float RREF = 10000.0; // bilinen direnç, multimetreyle ölçtüğün değeri yaz / known resistor, enter its measured value
3const int OLCUM_PIN = A0;
4
5void setup() {
6 Serial.begin(9600);
7}
8
9void loop() {
10 long toplam = 0;
11 for (int i = 0; i < 16; i++) { // 16 okumanın ortalaması / average of 16 readings
12 toplam += analogRead(OLCUM_PIN);
13 delay(2);
14 }
15 float ham = toplam / 16.0;
16
17 if (ham > 1018) {
18 Serial.println(F("Acik devre / Open circuit"));
19 } else if (ham < 2) {
20 Serial.println(F("Kisa devre / Short circuit"));
21 } else {
22 float rx = RREF * ham / (1024.0 - ham); // Rx = Rref * ham / (1024 - ham)
23 Serial.print(F("Rx = "));
24 if (rx >= 1000) {
25 Serial.print(rx / 1000.0, 2);
26 Serial.println(F(" kOhm"));
27 } else {
28 Serial.print(rx, 1);
29 Serial.println(F(" Ohm"));
30 }
31 }
32 delay(1000);
33}Kodu Arduino'ya çözdürmek: Seri Monitör ile SMD kod çözücü
Aşağıdaki program bu yazıda anlatılan tüm direnç kurallarını uygular: 3 ve 4 haneli kodları, R'li yazımı, EIA-96'yı ve 0 ohm köprüleri tanır. Seri Monitör'ü 9600 baud ve "Yeni Satır" (Newline) satır sonu ayarıyla aç, 4702 ya da 68X gibi bir kod yaz ve Enter'a bas. R harfi hem ondalık virgül hem de EIA-96 çarpanı olabildiğinden program R içeren kodları önce ondalık yazım olarak yorumlar (47R = 47 Ω); SMD kodu aracı da aynı kuralı izler. E96 tablosu PROGMEM ile flaş bellekte tutulduğu için Uno'nun 2 KB'lık RAM'ini harcamaz. Kod hiçbir değişiklik yapmadan ESP32'de de derlenip çalışır. Seri Monitör'ü ilk kez kullanıyorsan Arduino Serial Monitor yazısına göz at.
1// SMD direnç kodu çözücü: Seri Monitör'e kodu yaz, değeri gör / SMD resistor code decoder: type a code in the Serial Monitor, see the value
2const uint16_t E96[96] PROGMEM = {
3 100, 102, 105, 107, 110, 113, 115, 118, 121, 124, 127, 130, 133, 137, 140, 143,
4 147, 150, 154, 158, 162, 165, 169, 174, 178, 182, 187, 191, 196, 200, 205, 210,
5 215, 221, 226, 232, 237, 243, 249, 255, 261, 267, 274, 280, 287, 294, 301, 309,
6 316, 324, 332, 340, 348, 357, 365, 374, 383, 392, 402, 412, 422, 432, 442, 453,
7 464, 475, 487, 499, 511, 523, 536, 549, 562, 576, 590, 604, 619, 634, 649, 665,
8 681, 698, 715, 732, 750, 768, 787, 806, 825, 845, 866, 887, 909, 931, 953, 976
9};
10
11// EIA-96 harf çarpanı; bilinmeyen harfte -1 / EIA-96 letter multiplier; -1 for an unknown letter
12float eiaCarpan(char c) {
13 switch (c) {
14 case 'Z': return 0.001;
15 case 'Y': case 'R': return 0.01;
16 case 'X': case 'S': return 0.1;
17 case 'A': return 1;
18 case 'B': case 'H': return 10;
19 case 'C': return 100;
20 case 'D': return 1000;
21 case 'E': return 10000;
22 case 'F': return 100000;
23 default: return -1;
24 }
25}
26
27// Kodu ohma çevirir, geçersizse -1 döner / Converts the code to ohms, returns -1 if invalid
28float smdCoz(String kod) {
29 kod.trim();
30 kod.toUpperCase();
31 int n = kod.length();
32 if (n == 0 || n > 5) return -1;
33
34 int r = kod.indexOf('R');
35 if (r >= 0) { // R ondalık virgüldür: 4R7, R47, 47R / R is the decimal point
36 if (kod.lastIndexOf('R') != r || n < 2) return -1;
37 for (int i = 0; i < n; i++) {
38 if (i != r && !isDigit(kod[i])) return -1;
39 }
40 kod.replace('R', '.');
41 return kod.toFloat(); // "4.7" -> 4.7, ".47" -> 0.47
42 }
43
44 if (n == 3 && isDigit(kod[0]) && isDigit(kod[1]) && isAlpha(kod[2])) { // EIA-96: 01C
45 int sira = kod.substring(0, 2).toInt();
46 float carpan = eiaCarpan(kod[2]);
47 if (sira < 1 || sira > 96 || carpan < 0) return -1;
48 return pgm_read_word(&E96[sira - 1]) * carpan;
49 }
50
51 for (int i = 0; i < n; i++) {
52 if (!isDigit(kod[i])) return -1;
53 }
54 if (n <= 2) return kod.toInt() == 0 ? 0 : -1; // 0 ya da 00: köprü direnci / 0 or 00: jumper
55 long taban = kod.substring(0, n - 1).toInt(); // 3 hane: 2 rakam, 4 hane: 3 rakam / significant digits
56 int sifir = kod[n - 1] - '0'; // son hane: sıfır sayısı / last digit: number of zeros
57 float deger = taban;
58 for (int i = 0; i < sifir; i++) deger *= 10;
59 return deger;
60}
61
62void ohmYaz(float r) {
63 if (r >= 1e6) { Serial.print(r / 1e6, 3); Serial.println(F(" MOhm")); }
64 else if (r >= 1e3) { Serial.print(r / 1e3, 3); Serial.println(F(" kOhm")); }
65 else { Serial.print(r, 3); Serial.println(F(" Ohm")); }
66}
67
68void setup() {
69 Serial.begin(9600);
70 Serial.println(F("SMD kodunu yaz (or. 103, 4702, 4R7, 01C) / Type an SMD code"));
71}
72
73void loop() {
74 if (Serial.available()) {
75 String kod = Serial.readStringUntil('\n');
76 kod.trim();
77 if (kod.length() == 0) return;
78 float r = smdCoz(kod);
79 Serial.print(kod);
80 Serial.print(F(" = "));
81 if (r < 0) Serial.println(F("gecersiz kod / invalid code"));
82 else ohmYaz(r);
83 }
84}ESP32 ve Raspberry Pi Pico ile ölçüm
ESP32'de ohmmetre kodunu kullanmak için ölçüm pinini 34 yap ve Rref'in üst ucunu 3V3 pinine bağla. GPIO 34, Wi-Fi açıkken de çalışan ADC1 grubundadır. ESP32'nin ADC'si Uno'daki gibi besleme gerilimine oranlı değildir ve uçlara yakın değerlerde doğrusal da değildir; bu yüzden formüldeki 1024'ü 4096 yapmak yüzde 10'u aşan hatalar verebilir. Bunun yerine kalibre edilmiş milivolt döndüren analogReadMilliVolts() fonksiyonunu kullan ve formülü Rx = Rref × V / (3300 − V) olarak yaz; V milivolttur, 3300 yerine 3V3 pininde multimetreyle ölçtüğün gerilimi yazarsan sonuç daha da iyileşir. ADC 3,1 V civarında doyuma ulaştığı için açık devre eşiğini 3000 mV civarına çek ve ölçtüğün direnci referansa yakın tut. Raspberry Pi Pico'da aşağıdaki MicroPython kodu hem SMD kodlarını çözer hem de GP26 üzerinden direnç ölçer. Pico'nun read_u16() fonksiyonu 0–65535 arasında bir değer döndürdüğü için formüldeki 1024 burada 65535 olur. Pico'ya yeni başlıyorsan önce Raspberry Pi Pico Nedir? yazısına göz at.
1from machine import ADC
2import time
3
4E96 = [100, 102, 105, 107, 110, 113, 115, 118, 121, 124, 127, 130, 133, 137, 140, 143,
5 147, 150, 154, 158, 162, 165, 169, 174, 178, 182, 187, 191, 196, 200, 205, 210,
6 215, 221, 226, 232, 237, 243, 249, 255, 261, 267, 274, 280, 287, 294, 301, 309,
7 316, 324, 332, 340, 348, 357, 365, 374, 383, 392, 402, 412, 422, 432, 442, 453,
8 464, 475, 487, 499, 511, 523, 536, 549, 562, 576, 590, 604, 619, 634, 649, 665,
9 681, 698, 715, 732, 750, 768, 787, 806, 825, 845, 866, 887, 909, 931, 953, 976]
10EIA = {"Z": 0.001, "Y": 0.01, "R": 0.01, "X": 0.1, "S": 0.1, "A": 1,
11 "B": 10, "H": 10, "C": 100, "D": 1000, "E": 10000, "F": 100000}
12
13def smd_coz(kod):
14 kod = kod.strip().upper()
15 if "R" in kod: # R ondalık virgüldür: 4R7, R47 / R is the decimal point
16 if kod.count("R") != 1 or not kod.replace("R", "").isdigit():
17 return None
18 return float(kod.replace("R", "."))
19 if len(kod) == 3 and kod[:2].isdigit() and kod[2] in EIA: # EIA-96: 01C
20 sira = int(kod[:2])
21 return E96[sira - 1] * EIA[kod[2]] if 1 <= sira <= 96 else None
22 if kod.isdigit():
23 if len(kod) <= 2:
24 return 0.0 if int(kod) == 0 else None # 0 ya da 00: köprü / 0 or 00: jumper
25 return int(kod[:-1]) * 10 ** int(kod[-1]) # son hane sıfır sayısı / last digit = number of zeros
26 return None
27
28def ohm_yaz(r):
29 if r >= 1e6:
30 return "{:.3g} MOhm".format(r / 1e6)
31 if r >= 1e3:
32 return "{:.3g} kOhm".format(r / 1e3)
33 return "{:.3g} Ohm".format(r)
34
35adc = ADC(26) # GP26 = ADC0
36RREF = 10000 # 3V3 ile GP26 arasındaki bilinen direnç / known resistor between 3V3 and GP26
37
38def olc():
39 toplam = 0
40 for _ in range(32): # 32 okumanın ortalaması / average of 32 readings
41 toplam += adc.read_u16()
42 time.sleep_ms(2)
43 ham = toplam / 32
44 if ham > 65000:
45 return None # açık devre / open circuit
46 return RREF * ham / (65535 - ham)
47
48for kod in ("103", "4702", "4R7", "01C", "68X"):
49 print(kod, "=", ohm_yaz(smd_coz(kod)))
50
51while True:
52 rx = olc()
53 print("Rx =", ohm_yaz(rx) if rx is not None else "acik devre / open circuit")
54 time.sleep(1)Sık yapılan hatalar ve çözümleri
| Hata | Neden olur? | Çözüm |
|---|---|---|
| 100 yazan direnci 100 Ω sanmak | Son rakam sıfır sayısıdır | 100 = 10 Ω; 100 Ω, 101 ya da 1000 diye yazılır |
| 01C'yi 100 Ω sanmak | EIA-96 kodu bir sıra numarasıdır | 01 = 100, C = × 100; sonuç 10 kΩ |
| 104 yazan her parçayı 100 kΩ sanmak | Kondansatör kodu pF cinsindendir | Parçanın türünü anla; kondansatörde 104 = 100 nF |
| Devrede ölçünce değer düşük çıkıyor | Paralel bağlı başka parçalar | Direnci sök ya da bir ucunu kaldırıp ölç |
| Sipariş edilen parçalar çok küçük geldi | İnç ve metrik 0603 karıştı | Siparişte metrik karşılığı (1608) kontrol et |
| Tantal kondansatör ısındı | Ters takıldı | Bantlı uç artıdır; parçayı yenisiyle değiştir |
| Kod mantıksız bir değer veriyor | Parça ters okunuyor ya da direnç değil | 180 derece çevirip yeniden oku, gerekirse ölç |
SMD kodlarıyla pratik yapmak için fikirler
- Kartını incele: Arduino Nano ya da ESP32 kartının üzerindeki dirençlerin kodlarını oku; LED'lerin yanındaki 102 ya da 103 kodlarını bulup hangi LED'in hangi dirençle beslendiğini çıkar.
- Ekranlı ohmmetre: Yukarıdaki ohmmetreyi bir I2C LCD ekranla birleştirip taşınabilir bir direnç ölçer yap.
- Kapasite ölçer: Yazısız seramik kondansatörleri bir direnç üzerinden doldurup RC zaman sabitini ölçerek değerlerini bul; yöntem Kondansatör Nedir? yazısında.
- Kendi baskı devren: 0805 boyutunda direnç ve kondansatörlerle ilk PCB'ni tasarla; adımlar EasyEDA ile PCB tasarımı yazısında.
- Pil gerilimi ölçer: İki SMD dirençle bir bölücü kurup 9 V'luk bir pilin gerilimini Arduino ile ölç; direnç seçimini Gerilim bölücü aracıyla yap.
- Parça kutusu düzeni: Söktüğün SMD parçaları kodlarıyla etiketlenmiş kutularda sakla; yazısız parçaların değerini ölçüp etikete yaz.
SMD kodlarını okumak ilk bakışta şifre çözmek gibi görünse de birkaç kuralı öğrendiğinde kartlardaki her direnç ve kondansatör sana ne iş yaptığını anlatmaya başlar. Renk bantlı dirençlerin mantığını tekrar etmek istersen Direnç Nedir? yazısına göz atabilirsin. BlueGrays uygulamasında LED yakmadan LDR ile ışık ölçmeye, NTC ile sıcaklık ölçümünden dijital voltmetreye kadar dirençlerin kilit rol oynadığı projeleri adım adım devre şemaları ve kodlarıyla bulabilirsin.
Sıkça sorulan sorular
SMD direnç üzerindeki 103 ne demek?
103, 10 ve arkasına üç sıfır demektir: 10 000 Ω, yani 10 kΩ. Üç haneli kodlarda ilk iki rakam değeri, son rakam sıfır sayısını verir. Aynı 10 kΩ direnç %1 toleranslı sürümde 1002, 0603 boyutunda ise EIA-96 koduyla 01C olarak yazılabilir.
SMD dirençte 100 yazıyorsa kaç ohm?
100 kodu 10 Ω'dur, 100 Ω değil: 10 ve sıfır tane sıfır. 100 Ω'luk bir direnç üç haneli kodda 101, dört haneli kodda 1000 olarak yazılır. Bu, SMD kodlarında en sık yapılan okuma hatasıdır.
01C SMD direnç kaç ohm?
01C bir EIA-96 kodudur ve 10 kΩ'a karşılık gelir. 01, E96 serisindeki ilk değer olan 100'ü, C harfi ise × 100 çarpanını gösterir. Bu kodlar %1 toleranslı 0603 dirençlerde kullanılır ve değer ancak tablodan ya da bir kod çözücü araçtan okunabilir.
SMD kondansatörde 104 ne demek?
104, pikofarad cinsinden 10 ve dört sıfır demektir: 100 000 pF = 100 nF = 0,1 µF. Ancak seramik SMD kondansatörlerin çoğunda hiç yazı bulunmaz; 104 yazısını genellikle bacaklı disk kondansatörlerde, tantal kondansatörlerde ya da kartın baskısında görürsün.
0805 ile 1206 SMD direnç arasındaki fark nedir?
Fark boyuttadır ve buna bağlı olarak güç sınırındadır. 0805 yaklaşık 2,0 × 1,25 mm ve tipik olarak 1/8 W, 1206 ise 3,2 × 1,6 mm ve 1/4 W'tır. Değerleri aynı kodlarla yazılır; daha fazla güç harcayan devrelerde ve elle lehimlemede 1206 daha rahattır.
Üzerinde yazı olmayan SMD direnç nasıl ölçülür?
Multimetreyi ohm kademesine al ve direnci mümkünse devreden sökerek ölç; devredeyken paralel yollar değeri düşük gösterir. 0402 ve daha küçük dirençlerde kod basılmadığı için ölçmek tek yoldur. Multimetre yoksa bilinen bir referans dirençle Arduino üzerinde basit bir ohmmetre kurabilirsin.
Bu yazıdan sonra yapabileceğin projeler
Tüm projeleri gör
Led Yakma
Elektroniğin ilk merhabası: tek bir LED'i yakıp söndürmek. Arduino LED'i çok kısa aralıklarla yakıp söndürür, ışık hızlı hızlı göz kırpar. Kartın bir ışığı nasıl yönettiğini en sade haliyle görür, son

Ldr İle Işık Şiddeti Okuma
Odanın ne kadar aydınlık olduğunu sayıyla görmek ister misin? Işığa duyarlı küçük bir parça olan LDR ortam ışığını ölçer ve Arduino bu değeri yarım saniyede bir bilgisayar ekranına yazar. Elinle üstün

ESP32 ile LED Yakma
ESP32 ile temel GPIO çıkışı kullanımını öğretir. Bir LED'i dijital pinden açıp kapatarak yanıp sönme efekti elde ederiz. Arduino UNO'daki klasik blink projesinin ESP32 versiyonu; Arduino ortamındaki temel blink komutları aynıdır, ancak ESP32'nin pin yerleşimi ve 3,3 V GPIO seviyeleri Arduino UNO'dan farklıdır.

ESP32 LDR Modülü ile Işık Şiddeti Okuma
LDR modülünün ham ADC değerini ve karanlık/aydınlık referanslarına göre hesaplanan göreli ışık yüzdesini Serial Monitor'da gerçek zamanlı izleme. Bu yüzde lux ölçümü değildir. Modülün kalibrasyon mantığını öğretir. Proje 10'un öncesinde yapılması ideal; çünkü eşik değerini belirlemek için kullanılır.

Raspberry Pi Pico Harici LED Yakma (Breadboard)
Pico'nun dahili LED'inden sonraki adım: breadboard'a harici LED bağlayıp GP14 pini üzerinden kontrol etmek. Bu proje ile Pico'nun herhangi bir genel amaçlı GPIO pinini output olarak nasıl kullanacağını, LED'in polaritesini (uzun bacak = anot/+, kısa bacak = katot/–) ve neden akım sınırlama direnci (220Ω) şart olduğunu öğreniyorsun. Direnci koymazsan LED'e aşırı akım gider ve yanabilir. Devre çok basit: Pico GP14 → 220Ω direnç → LED (+) → LED (–) → Pico GND. Wokwi'de simüle edebilir, gerçek bread

LCD Ekran ile Dijital Voltmetre
Pilin ya da adaptörün ne kadar gerilim verdiğini kendi yaptığın ölçü aletiyle öğren. İki dirençten oluşan bir bölücü yüksek gerilimi kartın okuyabileceği seviyeye indirir, Arduino da gerçek değeri hes

NTC ve 2x16 Lcd Ekran İle Sıcaklık Ölçümü
Ortamın sıcaklığını küçük bir boncuk gibi görünen sensörle ölç. NTC adlı bu parça ısındıkça elektriği daha kolay geçirir; Arduino bu değişimi okuyup bir formülle santigrat dereceye çevirir ve iki satı

RGB Led Kullanımı
Tek bir LED'in içinde üç renk saklı: RGB LED önce kırmızı, sonra yeşil, sonra mavi yanar; her renk yarım saniye yanıp yarım saniye söner ve sıra baştan başlar. Arduino'ya bir RGB LED ve üç direnç bağl
Diğer yazılar
BlueGrays uygulaması
Bu devreyi telefonunda adım adım kur
Devre şeması, kod ve parça listesi tek ekranda. 200'den fazla Arduino, ESP32 ve Pico projesi seni bekliyor.
Telefonunla tara
Kamerayı koda tut; telefonunun uygulama mağazası açılır.
ya da mağazada aç

