Temeller · 13 dk okuma

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.

Üzerinde 102 kodlu SMD direnç bulunan AMS1117 3,3 V regülatör modülü
AMS1117 3,3 V regülatör modülü: sağdaki SMD direncin üzerinde 102 yazar; yanındaki baskıda da 1K, yani 1 kΩ yazdığını görebilirsin. Kartta görülen 106 ve 104 yazıları ise kondansatörlerin üzerinde değil, kartın baskısındadır; seramik SMD kondansatörlerin çoğunda hiç yazı olmaz.

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üÖrnekNasıl okunur?DeğerGenelde nerede?
3 haneli10310 ve 3 sıfır10 kΩ%5 toleranslı, 0603 ve üstü
4 haneli4702470 ve 2 sıfır47 kΩ%1 toleranslı, 0805 ve üstü
R'li4R7R = ondalık virgül4,7 Ω10 Ω'un altındaki değerler
EIA-9601CTablodaki 100 × 10010 kΩ%1 toleranslı 0603 dirençler
Sıfır0, 00, 000Kö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.

KodDeğerArduino ve modüllerde sık kullanım
10010 ΩKüçük seri dirençler, akım sınırlama
22022 ΩUSB veri hatlarındaki seri dirençler
221220 Ω5 V ile LED akım sınırlama
331330 ΩLED ve transistör beyz direnci
1021 kΩKart üzerindeki güç ve durum LED'leri
4724,7 kΩI2C ve 1-Wire pull-up dirençleri
10310 kΩReset ve buton pull-up dirençleri
47347 kΩGerilim bölücüler
104100 kΩPil gerilimi ölçen bölücüler
1051 MΩYüksek empedanslı girişler
En sık yapılan hata: 100 yazan direnç 100 Ω değil, 10 Ω'dur (10 ve sıfır tane sıfır). Aynı şekilde 220 = 22 Ω, 470 = 47 Ω'dur. 100 Ω'luk bir direnç üç haneli kodda 101, dört haneli kodda 1000 olarak yazılır. 104 koduna da dikkat et: dirençte 100 kΩ, kondansatörde ise 100 nF anlamına gelir, çünkü kondansatör kodları ohm değil pikofarad cinsindendir.

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,00101Z = 0,1 Ω
Y ya da R× 0,0101Y = 1 Ω
X ya da S× 0,168X = 49,9 Ω
A× 101A = 100 Ω
B ya da H× 1085B = 7,5 kΩ
C× 10001C = 10 kΩ
D× 100051D = 332 kΩ
E× 10 00001E = 1 MΩ
F× 100 00001F = 10 MΩ
KodDeğerKodDeğer
0110051332
0511055365
0912159402
1313363442
1815066475
2216568499
2618273562
3020077619
3422185750
4226796976
Kod sana mantıksız bir sonuç veriyorsa parçayı 180 derece çevirip yeniden oku. Küçük gövdelerde 6 ile 9 kolayca karışır: ters tutulan bir 681 direnci 189 gibi görünür ve 18 GΩ eder, ama böyle bir SMD direnç yoktur; doğru yön 680 Ω'dur. Bulduğun değerin standart bir değer olup olmadığını Standart değer aracıyla kontrol edebilirsin.

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ç koduMetrik kodÖlçü (mm)Tipik güçTipik en yüksek gerilimÜzerindeki kod
020106030,6 × 0,31/20 W25 VYok
040210051,0 × 0,51/16 W50 VGenellikle yok
060316081,6 × 0,81/10 W75 V3 haneli ya da EIA-96
080520122,0 × 1,251/8 W150 V3 ya da 4 haneli
120632163,2 × 1,61/4 W200 V3 ya da 4 haneli
121032253,2 × 2,51/2 W200 V3 ya da 4 haneli
201050255,0 × 2,53/4 W200 V3 ya da 4 haneli
251263326,3 × 3,21 W200 V3, 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.

Aynı adı taşıyan iki farklı boyut var: inç sistemindeki 0603 (1,6 × 0,8 mm) ile metrik sistemdeki 0603 (0,6 × 0,3 mm, inç olarak 0201) birbirinden çok farklıdır. Sipariş verirken ürün sayfasında metrik karşılığın (1608) yazdığını kontrol et; yoksa toz tanesi kadar parçalarla karşılaşabilirsin.

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.

KodpFnF / µFTipik kullanım
22022 pF0,022 nF16 MHz kristalin yanındaki kondansatörler
101100 pF0,1 nFFiltre ve parazit bastırma
1021000 pF1 nFFiltre
10310 000 pF10 nFButon ve sensör hatlarında parazit süzme
104100 000 pF100 nF = 0,1 µFHer entegrenin besleme ucundaki dekuplaj
474470 000 pF470 nFRegülatör ve filtre devreleri
1051 000 000 pF1 µFRegülatör çıkışı
10610 000 000 pF10 µFAMS1117 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.

Değeri gövdesine yazılmış elektrolitik kondansatörler
Elektrolitik kondansatörlerde değer ve gerilim kod yerine doğrudan yazılır (470 µF 16 V gibi); SMD alüminyum elektrolitiklerde de çoğunlukla böyledir.

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.

Tantal kondansatörde gövdedeki çizgi ya da bant artı (+) ucu gösterir; elektrolitik kondansatörde ise işaretli taraf eksidir. Bu ters mantık en sık yapılan montaj hatasıdır. Ters takılan tantal kondansatör kısa devre olur, ısınır ve alev alabilir; takmadan önce baskı devredeki + işaretine mutlaka bak.

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.

KodKılıfParçaNe işe yarar?
1AMSOT-23MMBT3904NPN transistör (2N3904'ün SMD hâli)
2ASOT-23MMBT3906PNP transistör (2N3906'nın SMD hâli)
1PSOT-23MMBT2222ANPN transistör
1FSOT-23BC847BNPN transistör (BC547B karşılığı)
3FSOT-23BC857BPNP transistör (BC557B karşılığı)
J3YSOT-23S8050NPN transistör, modüllerde çok yaygın
2TYSOT-23S8550PNP transistör
702SOT-232N7002N-kanal küçük sinyal MOSFET
A7SOT-23BAV99Seri bağlı çift anahtarlama diyodu
T4SOD-1231N4148WHızlı anahtarlama diyodu
M7SMA1N4007 karşılığı1 A, 1000 V doğrultucu diyot
SS14SMASS141 A, 40 V Schottky diyot
SMD diyotlarda gövdedeki çizgi katodu gösterir. SMD LED'lerde ise işaret üreticiye göre değişir: çoğunda katot tarafında yeşil bir çizgi, nokta ya da kesik köşe vardır ama bu kurala körü körüne güvenme. Multimetreyi diyot kademesine alıp uçlara dokunduğunda LED hafifçe yanıyorsa kırmızı probun olduğu taraf anottur. Ayrıntılar için Diyot Nedir? ve Multimetre Nasıl Kullanılır? yazılarına bakabilirsin.

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 UnoESP32Raspberry Pi Pico
Rref'in üst ucu5V3V33V3(OUT)
Rref ile Rx'in birleştiği noktaA0GPIO 34GP26 (ADC0)
Rx'in alt ucuGNDGNDGND
C++ (Arduino IDE)
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.

C++ (Arduino IDE)
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.

MicroPython
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

HataNeden olur?Çözüm
100 yazan direnci 100 Ω sanmakSon rakam sıfır sayısıdır100 = 10 Ω; 100 Ω, 101 ya da 1000 diye yazılır
01C'yi 100 Ω sanmakEIA-96 kodu bir sıra numarasıdır01 = 100, C = × 100; sonuç 10 kΩ
104 yazan her parçayı 100 kΩ sanmakKondansatör kodu pF cinsindendirParçanın türünü anla; kondansatörde 104 = 100 nF
Devrede ölçünce değer düşük çıkıyorParalel bağlı başka parçalarDirenci 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 veriyorParça ters okunuyor ya da direnç değil180 derece çevirip yeniden oku, gerekirse ölç
Bir modüldeki bozuk SMD direnci değiştirirken aynı değerde ve pedler izin veriyorsa aynı ya da bir büyük boyutta parça seç; güç sınırını unutma. Lehimlemek için ince uçlu bir havya, cımbız ve flux kullan: önce pedlerden birine az lehim koy, parçayı cımbızla tutup o pede oturt, sonra diğer ucu lehimle. Ayrıntılar Lehim Nasıl Yapılır? yazısında.

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.

Tüm projeleri gör
Led Yakma
#1Başlangıç

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

4.6(188)
1125
Ldr İle Işık Şiddeti Okuma
#11Başlangıç

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

4.6(81)
138
ESP32 ile LED Yakma
#103Başlangıç

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.

4.7(37)
99
ESP32 LDR Modülü ile Işık Şiddeti Okuma
#113Başlangıç

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.

4.6(36)
55
Raspberry Pi Pico Harici LED Yakma (Breadboard)
#148Başlangıç

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

4.5(2)
7
LCD Ekran ile Dijital Voltmetre
#56Orta
Premium

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

4.5(27)
36
NTC ve 2x16 Lcd Ekran İle Sıcaklık Ölçümü
#44Başlangıç
Premium

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ı

4.5(33)
44
RGB Led Kullanımı
#39Başlangıç
Premium

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

4.9(73)
98