Apa Itu Dioda? Cara Kerja, Jenis, Polaritas, dan Kegunaannya
Apa itu dioda dan bagaimana cara kerjanya? Anoda, katoda, gelang penanda, tegangan maju 0,7 V, 1N4007 vs 1N4148 vs 1N5819, flyback, penyearah jembatan, Zener, dan cara mengujinya.
Apa itu dioda? Singkatnya, dioda adalah komponen semikonduktor berkaki dua yang mengalirkan arus listrik hanya ke satu arah. Bayangkan katup satu arah di pipa air: arus mengalir dengan mudah dari anoda ke katoda dan hampir tertahan sepenuhnya ke arah sebaliknya. Berkat sifat sederhana ini, dioda mengubah arus bolak-balik dari stopkontak menjadi arus searah, melindungi rangkaianmu dari baterai yang terpasang terbalik, menelan lonjakan tegangan berbahaya dari relay dan motor, serta menjepit tegangan di level tertentu.
Kamu bertemu dioda setiap hari tanpa sadar: di dalam charger ponselmu, di colokan barrel jack Arduino Uno, di modul relay, dan di setiap LED di mejamu. Ya, LED adalah dioda yang memancarkan cahaya. Di artikel ini kamu akan mempelajari apa yang terjadi di dalam dioda, cara membedakan anoda dan katoda, dari mana asal tegangan maju 0,7 V, perbedaan 1N4007, 1N4148, dan 1N5819, ditambah proteksi polaritas terbalik, dioda flyback, penyearah jembatan, dioda Zener, dan cara menguji dioda dengan multimeter. Terakhir, kamu akan membuat alat uji kecil dengan Arduino yang bisa menentukan arah dan jenis dioda sendiri.

Apa itu dioda dan bagaimana cara kerjanya?
Di dalam dioda, dua lapisan semikonduktor yang berbeda bertemu: silikon tipe N yang kelebihan elektron dan silikon tipe P yang kekurangan elektron (kelebihan hole). Di tempat keduanya bersambung, terbentuk daerah deplesi tipis tempat pembawa muatan saling meniadakan, dan daerah ini bertindak seperti dinding yang menghalangi arus. Ketika kamu memberi tegangan positif ke anoda (sisi P) dan negatif ke katoda (sisi N), dengan kata lain ketika kamu memberi bias maju pada dioda, dinding itu menipis; begitu tegangannya melewati sekitar 0,6–0,7 V pada silikon, arus mulai naik dengan cepat. Ketika diberi bias mundur, dinding itu menebal dan hanya arus bocor yang sangat kecil, dalam orde mikroampere atau nanoampere, yang mengalir. Kalau tegangan mundur melewati batas dioda, terjadi breakdown: dioda biasa rusak pada titik ini, sedangkan dioda Zener justru dibuat untuk bekerja di daerah ini. Tabel di bawah berisi nilai datasheet dasar yang perlu dicek ketika memilih dioda.
| Parameter | Arti | Contoh 1N4007 |
|---|---|---|
| VF (tegangan maju) | Tegangan yang jatuh di dioda ketika sedang menghantar | Maks. 1,1 V (pada 1 A) |
| IF(AV) (arus maju rata-rata) | Arus rata-rata yang bisa dialirkan terus-menerus | 1 A |
| VRRM (tegangan mundur puncak berulang) | Tegangan mundur berulang tertinggi yang sanggup ditahan; di atasnya terjadi breakdown | 1000 V |
| IFSM (arus lonjakan) | Kemampuan bertahan dari satu pulsa arus singkat | 30 A (satu pulsa 8,3 ms) |
| IR (arus bocor mundur) | Arus kecil yang mengalir ketika diberi bias mundur | Maks. 5 µA (25 °C) |
| trr (waktu pemulihan mundur) | Waktu yang dibutuhkan arus untuk padam ketika beralih dari menghantar ke memblokir | Lambat, dalam orde mikrodetik |
Anoda, katoda, dan gelang: cara mengetahui polaritas dioda
Dioda punya dua kaki: anoda (A) dan katoda (K). Di skema rangkaian, dioda digambar sebagai segitiga dengan garis tegak di depannya: segitiga itu menunjuk seperti panah ke arah aliran arus, dari anoda ke katoda, dan garis tegaknya adalah katoda. Pada dioda sungguhan, garis ini dicat di badannya: gelang abu-abu atau putih pada 1N4007 yang hitam dan gelang hitam pada 1N4148 yang berbadan kaca menandai ujung katoda. Cara mudah mengingatnya: garis di simbol dan gelang di badan adalah ujung yang sama. Kalau ujung bergelang sebuah dioda di rangkaian berada di tegangan yang lebih positif, dioda sedang memblokir; kalau ujung tanpa gelangnya yang lebih positif, dioda sedang menghantar.
- Dioda berkaki aksial (1N4007, 1N5819): Satu gelang di badannya adalah katoda; kamu juga bisa membaca tulisannya untuk memastikan modelnya.
- Dioda kaca kecil (1N4148, Zener): Gelang hitamnya adalah katoda; tulisannya sangat kecil, jadi baca dengan kaca pembesar atau ukur dengan multimeter.
- Dioda SMD (surface-mount): Garis di salah satu sisi kemasan menandai katoda; dioda bertanda M7 di board Arduino adalah versi SMD dari 1N4007.
- LED: Kaki panjang adalah anoda dan kaki pendek adalah katoda; bagian rata di pinggiran LED juga menandai sisi katoda.
- Penyearah jembatan (bridge rectifier): Keempat pinnya bertanda ~ (input AC), + dan −.
- Kalau tandanya sudah pudar: Mode dioda di multimeter menunjukkan arahnya dalam hitungan detik; langkah-langkahnya kami jelaskan di bawah.
Tegangan maju: 0,7 V untuk silikon, 0,3 V untuk Schottky
Ketika dioda menghantar, ada tegangan kecil yang hampir konstan jatuh di atasnya; inilah yang disebut tegangan maju (VF). Angka yang dihafal semua orang untuk dioda silikon adalah 0,7 V, tapi angka itu tidak tetap: 1N4007 menjatuhkan sekitar 0,55 V pada beberapa miliampere dan 0,9–1,0 V pada 1 A. Ketika suhu naik, tegangan maju turun sekitar 2 mV per °C; nanti kita akan memakai sifat ini untuk mengubah dioda menjadi sensor suhu. Tegangan maju berarti panas: daya yang dibuang di dioda adalah P = VF × I. 1N4007 yang mengalirkan 1 A menghasilkan panas sekitar 1 W dan jadi terlalu panas untuk disentuh; pada arus yang sama, Schottky 1N5819 menjatuhkan paling banyak 0,6 V, jadi panasnya hampir separuhnya.
Jenis-jenis dioda
| Jenis | Tegangan maju | Fungsinya | Contoh | Dipakai di |
|---|---|---|---|---|
| Dioda penyearah | 0,6–1,1 V | Tahan tegangan mundur tinggi dan mengalirkan 1 A atau lebih; lambat | 1N4007, 1N5408 (3 A) | Adaptor daya, penyearahan, proteksi polaritas terbalik |
| Dioda sinyal kecil (switching) | 0,6–1,0 V | Beralih sangat cepat, arus kecil | 1N4148 | Jalur sinyal, rangkaian logika, keypad, relay kecil |
| Dioda Schottky | 0,15–0,6 V | Tegangan maju rendah dan sangat cepat; arus bocor lebih tinggi | 1N5819, SS34, BAT54 | Rangkaian baterai, pemilihan jalur daya, motor yang dikendalikan PWM |
| Dioda Zener | Vz pada arah mundur (~0,7 V maju) | Menghantar ke arah mundur pada tegangan tertentu (Vz) | 1N4733A (5,1 V), 1N4728A (3,3 V) | Penjepit tegangan dan referensi |
| LED | 1,8–3,4 V (tergantung warna) | Memancarkan cahaya ketika menghantar | LED 5 mm, LED di dalam WS2812B | Indikator, penerangan, display |
| Fotodioda | — | Menghasilkan arus ketika terkena cahaya | BPW34, penerima IR | Deteksi cahaya dan inframerah |
| Dioda TVS | Tegangan breakdown ke arah mundur | Menyerap lonjakan tegangan mendadak dengan sangat cepat | Seri SMBJ dan P6KE | Proteksi ESD dan lonjakan |
| Dioda germanium | 0,2–0,3 V | Tegangan maju rendah, teknologi lama | 1N34A | Rangkaian radio lama, deteksi sinyal |
LED juga dioda
Sesuai namanya, LED (Light Emitting Diode) adalah dioda yang memancarkan cahaya. Seperti dioda biasa, LED hanya mengalirkan arus dari anoda ke katoda; bedanya, energi yang dilepaskan ketika elektron dan hole bergabung kembali di sambungan P-N keluar sebagai cahaya, bukan panas. Bahan semikonduktornya menentukan warna, dan makin dekat warnanya ke biru, makin tinggi tegangan majunya: LED merah butuh sekitar 2 V, sedangkan LED biru dan putih butuh sekitar 3 V. Nilai untuk setiap warna bisa kamu temukan di alat tegangan LED.

Satu perbedaan penting antara dioda dan LED adalah batas tegangan mundurnya: 1N4007 tahan 1000 V, sedangkan datasheet LED pada umumnya hanya mengizinkan sekitar 5 V ke arah mundur. Karena itu, jangan memakai LED sebagai penyearah. Aturan kedua: selalu batasi arus LED dengan resistor seri, karena arusnya naik sangat cepat begitu tegangan maju terlewati. Untuk LED merah yang diberi daya 5 V, resistornya (5 − 2) / 0,015 ≈ 200 Ω, jadi nilai standarnya 220 Ω; hitungannya bisa kamu lakukan dengan kalkulator resistor LED. Untuk belajar lebih lanjut tentang pengkabelan LED dan memilih warna, baca Apa Itu LED?.
1N4007, 1N4148, dan 1N5819: mana yang dipakai dan kapan?
| Sifat | 1N4007 | 1N4148 | 1N5819 |
|---|---|---|---|
| Jenis | Penyearah silikon | Sinyal kecil silikon | Schottky |
| Kemasan | DO-41, badan hitam | DO-35, badan kaca | DO-41, badan hitam |
| Tegangan mundur maks. (VRRM) | 1000 V | 100 V | 40 V |
| Arus maju rata-rata | 1 A | 150–200 mA (tergantung pabrikan) | 1 A |
| Tegangan maju (VF) | ≤ 1,1 V (pada 1 A) | ≤ 1 V (pada 10 mA) | ≤ 0,6 V (pada 1 A), ~0,3 V pada arus kecil |
| Pemulihan mundur (trr) | Lambat (mikrodetik) | 4 ns | Praktis tidak ada |
| Arus bocor mundur (25 °C) | ≤ 5 µA | ≤ 25 nA (pada 20 V) | ≤ 0,5 mA (pada 40 V) |
| Pemakaian umum | Penyearahan, polaritas terbalik, flyback relay | Sinyal, logika, keypad, flyback relay kecil | Jalur daya baterai dan USB, flyback motor PWM |
Keluarga 1N4001 sampai 1N4007 hanya berbeda di batas tegangan mundurnya (50 V untuk 1N4001, 1000 V untuk 1N4007); karena harganya hampir sama, kebanyakan orang memakai 1N4007 untuk semua keperluan. 1N4148 adalah dioda berarus kecil tapi sangat cepat; ia tidak bisa mengalirkan ratusan miliampere terus-menerus, tapi tak tertandingi di rangkaian sinyal dan logika. 1N5819, dengan tegangan majunya yang rendah, menghemat volt yang berharga di rangkaian bertenaga baterai dan USB; kekurangannya hanya batas tegangan yang rendah, 40 V, dan arus bocor yang naik seiring suhu. Untuk arus sampai 3 A, beralihlah ke 1N5408 (silikon) atau keluarga SS34 / 1N5822 (Schottky). Untuk motor yang dikendalikan PWM, UF4007 yang cepat (75 ns) atau Schottky bekerja lebih dingin daripada 1N4007 yang lambat.
Proteksi polaritas terbalik: menyelamatkan rangkaianmu dari baterai yang terbalik
Memasang tempat baterai secara terbalik atau mencolokkan adaptor yang salah adalah salah satu penyebab paling umum rangkaian rusak. Solusi paling sederhana adalah dioda seri di input daya: kalau polaritasnya benar, dioda menghantar; kalau terbalik, arus tidak mengalir dan rangkaian tetap aman. Arduino Uno R3 sudah melakukannya: input DC barrel jack-nya punya dioda bertanda M7, versi SMD dari 1N4007. Itulah sebabnya kamu mengukur sekitar 8,3 V di pin VIN ketika board diberi daya dari adaptor 9 V. Harga dari dioda seri adalah kehilangan tegangan ini: lewatkan catu USB 5 V melalui 1N4007 dan sisanya sekitar 4,3 V; melalui 1N5819, sekitar 4,7 V.
| Metode | Kehilangan tegangan | Kelebihan | Kekurangan |
|---|---|---|---|
| Dioda silikon seri (1N4007) | 0,7–1 V | Sangat murah, tahan 1000 V | Kehilangan dan panas tinggi |
| Dioda Schottky seri (1N5819) | 0,3–0,6 V | Murah, kehilangan lebih kecil | Arus bocor tinggi, batas 40 V |
| MOSFET kanal-P | Beberapa mV sampai puluhan mV | Hampir tanpa kehilangan, arus besar | Rangkaiannya sedikit lebih rumit |
| Dioda paralel + sekring | Tidak ada | Tanpa kehilangan dalam operasi normal | Sekring putus ketika terbalik dan harus diganti |
Dioda juga dipakai untuk menggabungkan dua sumber daya; ini disebut diode-OR. Setiap sumber terhubung ke titik yang sama melalui dioda Schottky-nya masing-masing; sumber dengan tegangan lebih tinggi yang memberi daya ke beban, dan kedua sumber tidak bisa saling mendorong arus. Di Raspberry Pi Pico, VBUS dari USB sudah terhubung ke jalur VSYS melalui dioda Schottky. Kalau kamu ingin memberi daya Pico dari USB dan baterai sekaligus, cukup hubungkan baterai ke VSYS melalui dioda Schottky kedua (katoda ke arah VSYS), dan baterai tidak akan mengalirkan arus balik ke port USB. Arduino Nano original juga punya dioda Schottky (MBR0520) di jalur USB-nya, karena itu wajar kalau tegangan di pin 5V pada Nano bertenaga USB sedikit di bawah 5 V.
Dioda flyback: melindungi dari lonjakan relay dan motor
Beban induktif seperti kumparan relay, motor, solenoid, dan kipas melawan penurunan arus yang mendadak. Begitu transistor mati, energi magnet yang tersimpan di kumparan mencari jalan keluar dan, sesuai V = L × di/dt, menghasilkan lonjakan tegangan balik yang bisa mencapai ratusan volt. Lonjakan ini menjebol transistor, me-reset Arduino, atau merusak pin-pinnya. Obatnya adalah dioda flyback (disebut juga dioda freewheeling) yang dipasang terbalik paralel dengan kumparan: dalam operasi normal ia mendapat bias mundur dan tidak melakukan apa-apa; ketika arus diputus, ia memberi jalan bagi arus kumparan untuk berputar dan membatasi lonjakan sampai sekitar 0,7 V di atas tegangan catu.

- Tentukan terminal kumparan mana yang ke catu positif dan mana yang ke kolektor transistor (atau drain MOSFET).
- Solder ujung katoda yang bergelang ke terminal kumparan yang terhubung ke catu positif.
- Hubungkan anoda ke terminal kumparan yang menuju transistor; dioda harus paralel dengan kumparan tapi menghadap ke arah sebaliknya.
- Pilih diodanya: 1N4007 atau 1N4148 cukup untuk relay 5 V dan 12 V; untuk motor yang kecepatannya diatur dengan PWM, pakai Schottky cepat (1N5819) atau UF4007. Batas arus dioda harus lebih tinggi daripada arus kumparan.
- Letakkan dioda sedekat mungkin dengan kumparan; kabel yang panjang membuat sebagian lonjakan menyebar ke rangkaian.
- Cek arahnya sekali lagi sebelum menyalakan daya: dioda flyback yang terpasang terbalik akan menghubungsingkatkan catu begitu transistor menyala.
Penyearah jembatan: mengubah AC menjadi DC
Tegangan dari listrik PLN dan dari output trafo adalah arus bolak-balik (AC): frekuensinya 50 Hz di Indonesia dan Eropa (60 Hz di Amerika Utara), jadi ia menyelesaikan 50 siklus penuh per detik dan berbalik arah 100 kali per detik. Padahal Arduino butuh arus searah (DC), yang tidak berubah arah. Satu dioda hanya meloloskan setengah gelombang sinus yang positif; ini disebut penyearahan setengah gelombang. Penyearah jembatan, dengan empat dioda yang dirangkai berbentuk belah ketupat, membuat dua dioda menghantar di setiap setengah siklus dan membalik setengah siklus negatif menjadi positif juga; ini disebut penyearahan gelombang penuh. Kapasitor elektrolit besar di output mengubah tegangan yang berdenyut ini menjadi DC yang halus, mendekati nilai puncaknya.
Begini cara menghitungnya: nilai yang tercetak di trafo adalah nilai RMS, dan puncaknya √2 kali nilai itu. Trafo 9 V AC punya puncak 9 × 1,414 ≈ 12,7 V. Di jembatan, arus selalu melewati dua dioda, jadi sekitar 1,6 V hilang dan kapasitor terisi sampai sekitar 11 V. Ketika beban menarik arus, kapasitor mengosong di antara puncak-puncak; ripple ini kira-kira Vr = I / (2 × f × C). Dengan beban 0,5 A dan kapasitor 2200 µF, Vr = 0,5 / (2 × 50 × 0,0022) ≈ 2,3 V, jadi tegangannya berayun antara sekitar 8,8 dan 11 V. Regulator seperti 7805 bisa mengubahnya menjadi 5 V yang bersih. Cara kerja kapasitor ada di Apa Itu Kapasitor? dan regulatornya di Regulator Tegangan 7805.
| Penyearah | Jumlah dioda | Frekuensi ripple (listrik 50 Hz) | Catatan |
|---|---|---|---|
| Setengah gelombang | 1 | 50 Hz | Paling sederhana; dengan kapasitor yang sama, ripple-nya dua kali lebih besar |
| Gelombang penuh center-tap | 2 | 100 Hz | Butuh trafo center-tap (CT); hanya satu dioda yang menghantar dalam satu waktu |
| Jembatan (gelombang penuh) | 4 atau penyearah jembatan siap pakai | 100 Hz | Paling umum; dua dioda menghantar bersamaan, kehilangan ~1,4–2 V |
Memakai dioda Zener untuk menjepit tegangan
Dioda Zener dibuat agar mulai menghantar secara terkendali ketika tegangan mundurnya mencapai nilai tertentu. Nilai ini disebut tegangan Zener (Vz), dan tersedia dalam banyak nilai standar dari 2,4 V sampai 200 V: 3,3 V, 5,1 V, dan 12 V yang paling umum. Zener dipasang terbalik: katoda ke positif, anoda ke GND. Di bawah Vz hampir tidak ada arus yang mengalir; ketika tegangan mencapai Vz, dioda mengalihkan kelebihan arus ke GND dan menahan tegangan di nilai itu. Ke arah maju, ia menjatuhkan sekitar 0,7 V seperti dioda biasa. Zener tidak pernah dipakai sendirian; resistor seri untuk membatasi arus itu wajib, kalau tidak ia akan terbakar di detik pertama.
Resistor seri dihitung dengan R = (Vin − Vz) / (Iz + Iload). Misalnya kamu ingin 5,1 V yang stabil dari 12 V untuk rangkaian yang menarik 5 mA, dengan 10 mA mengalir lewat Zener: R = (12 − 5,1) / (0,010 + 0,005) = 460 Ω, jadi kamu memilih nilai standar 470 Ω. Ketika beban dilepas, seluruh arus mengalir lewat Zener: 6,9 V / 470 Ω ≈ 14,7 mA, dan Zener membuang 5,1 × 0,0147 ≈ 75 mW, masih nyaman untuk Zener 0,5 W. Resistornya membuang 6,9² / 470 ≈ 0,1 W, jadi resistor 1/4 W sudah cukup. Hitungan tegangan dan resistor bisa kamu cek dengan kalkulator hukum Ohm.
- Batas daya: Seri 1N47xx (misalnya 1N4733A 5,1 V) punya rating 1 W, seri BZX55 dan 1N52xx 0,5 W. Daya yang dibuang Zener adalah P = Vz × Iz, dan sebaiknya dijaga di bawah separuh rating-nya.
- Proteksi input: Untuk menghubungkan sinyal 12 V ke input Arduino 5 V, kamu bisa memakai resistor seri 10 kΩ dan Zener 5,1 V dari pin ke GND; tegangan di pin tidak bisa melewati 5,1 V.
- Waspadai arus bocor: Zener bertegangan rendah juga membocorkan arus di bawah Vz; menurut datasheet-nya, 1N4728A (3,3 V) bisa bocor sampai 100 µA bahkan pada 1 V. Di rangkaian pengukuran analog berimpedansi tinggi, kebocoran ini merusak pembacaan.
- Zener bukan regulator: Zener untuk tugas referensi dan proteksi beberapa puluh miliampere. Untuk memberi daya Arduino atau motor, pakai regulator linear seperti 7805 atau modul buck seperti LM2596.
- Kalau butuh referensi yang presisi: Zener di sekitar 5,1 V dan 5,6 V paling sedikit berubah terhadap suhu; untuk referensi yang lebih stabil, IC referensi yang bisa diatur seperti TL431 lebih disukai.
Menguji dioda dengan multimeter
- Lepas dioda dari rangkaian atau lepaskan solderan minimal satu kakinya; komponen lain di rangkaian bisa mengacaukan pengukuran.
- Putar selektor ke posisi dengan simbol dioda. Di banyak multimeter, posisinya sama dengan uji kontinuitas (bunyi bip).
- Tempelkan probe merah ke anoda dan probe hitam ke katoda yang bergelang. Dioda silikon yang sehat menunjukkan nilai antara 0,5 dan 0,7; ini adalah tegangan maju pada arus uji sekitar 1 mA (sebagian multimeter menampilkannya dalam milivolt, misalnya 550).
- Tukar posisi probe. Dioda yang sehat tidak menghantar ke arah ini, dan layar menunjukkan OL atau satu angka 1 di paling kiri.
- Kalau kamu melihat nilai mendekati nol di kedua arah dan mendengar bunyi bip, dioda itu short (hubung singkat); kalau kamu melihat OL di kedua arah, dioda itu open, artinya putus di dalam. Dalam kedua kasus, ganti diodanya.
| Komponen yang diukur | Maju (probe merah di anoda) | Mundur |
|---|---|---|
| 1N4007 (penyearah silikon) | 0,50–0,60 V | OL |
| 1N4148 (sinyal kecil) | 0,60–0,70 V | OL |
| 1N5819 (Schottky) | 0,15–0,30 V | OL (pembacaan sangat tinggi mungkin muncul ketika hangat) |
| Zener 5,1 V (1N4733A) | 0,65–0,75 V | OL (tegangan uji multimeter tidak sampai 5,1 V) |
| LED merah | 1,6–1,9 V, LED menyala redup | OL |
| LED biru / putih | 2,5–3,0 V atau OL (tegangan uji mungkin tidak cukup) | OL |
| Dioda short | 0,00–0,05 V dan bunyi bip | 0,00–0,05 V dan bunyi bip |
| Dioda open (putus) | OL | OL |
Membuat alat uji dioda dengan Arduino
Kalau kamu tidak punya multimeter, atau ingin melangkah lebih jauh, kamu bisa mengubah Arduino Uno menjadi alat uji dioda sederhana. Idenya sama dengan multimeter: arus kecil dikirim melewati komponen ke masing-masing arah secara bergantian, lalu tegangan di antara kedua ujungnya diukur. Dua pin digital memberi arus ke kedua ujung komponen melalui resistor 1 kΩ, dan dua pin analog membaca tegangan di masing-masing ujung. Karena arusnya dibatasi sekitar 2 mA, dioda, LED, bahkan komponen yang terpasang terbalik pun tidak akan rusak.
| Koneksi | Arduino Uno | Keterangan |
|---|---|---|
| Resistor 1 (1 kΩ) | Antara D2 dan A0 | Memberi arus ke sisi A0 |
| Resistor 2 (1 kΩ) | Antara D3 dan A1 | Memberi arus ke sisi A1 |
| Satu kaki komponen yang diuji | A0 | Arahnya tidak masalah |
| Kaki lain komponen yang diuji | A1 | Kode akan menentukan di sisi mana anodanya |
1// Arduino ile diyot test cihazı / Diode tester with Arduino
2// D2 -> 1 kΩ -> A0 -> [test edilen parça / part under test] -> A1 -> 1 kΩ -> D3
3const int PIN_A = 2; // A0 tarafını besler / drives the A0 side
4const int PIN_B = 3; // A1 tarafını besler / drives the A1 side
5const float VREF = 5.0; // 5V pininde ölçtüğün değer / the value you measure on the 5V pin
6
7// highPin'i HIGH, lowPin'i LOW yapar ve parça üzerindeki gerilimi döndürür
8// Drives highPin HIGH, lowPin LOW and returns the voltage across the part
9float measure(int highPin, int lowPin, int highAdc, int lowAdc) {
10 digitalWrite(highPin, HIGH);
11 digitalWrite(lowPin, LOW);
12 delay(5);
13 long sum = 0;
14 for (int i = 0; i < 16; i++) {
15 sum += analogRead(highAdc) - analogRead(lowAdc);
16 }
17 digitalWrite(highPin, LOW); // ölçüm bitti, akımı kes / done, cut the current
18 return sum / 16.0 * VREF / 1023.0;
19}
20
21// İleri gerilime göre türü tahmin eder / Guesses the type from the forward voltage
22const char* identify(float vf) {
23 if (vf < 0.40) return "Schottky";
24 if (vf < 1.00) return "silisyum diyot / silicon diode";
25 return "LED";
26}
27
28void setup() {
29 pinMode(PIN_A, OUTPUT);
30 pinMode(PIN_B, OUTPUT);
31 digitalWrite(PIN_A, LOW);
32 digitalWrite(PIN_B, LOW);
33 Serial.begin(9600);
34}
35
36void loop() {
37 float vAB = measure(PIN_A, PIN_B, A0, A1); // A0 tarafı artı / A0 side positive
38 float vBA = measure(PIN_B, PIN_A, A1, A0); // A1 tarafı artı / A1 side positive
39 bool ab = vAB < 4.0; // A0 -> A1 yönünde iletim / conducts from A0 to A1
40 bool ba = vBA < 4.0; // A1 -> A0 yönünde iletim / conducts from A1 to A0
41
42 if (ab && ba) {
43 if (vAB < 0.1 && vBA < 0.1) {
44 Serial.println("Kısa devre / short circuit");
45 } else {
46 Serial.println("İki yönde iletim: direnç ya da düşük gerilimli zener / conducts both ways: resistor or low-voltage zener");
47 }
48 } else if (ab || ba) {
49 float vf = ab ? vAB : vBA;
50 Serial.print(ab ? "Anot A0 tarafında / anode on A0 side" : "Anot A1 tarafında / anode on A1 side");
51 Serial.print(" Vf = ");
52 Serial.print(vf, 3);
53 Serial.print(" V -> ");
54 Serial.println(identify(vf));
55 } else {
56 Serial.println("İletim yok: açık devre ya da parça yok / no conduction: open circuit or no part");
57 }
58 delay(2000);
59}Pertama, kode membuat D2 HIGH dan D3 LOW lalu mengukur selisih antara A0 dan A1, kemudian mengulangi hal yang sama ke arah sebaliknya. Kalau tegangan rendah hanya terbaca di satu arah, komponen itu dioda dan arah tersebut menunjukkan letak anodanya; pembacaan di bawah 0,40 V digolongkan Schottky, sampai 1 V silikon, dan di atasnya LED. Nilai mendekati nol di kedua arah berarti short, dan sekitar 5 V di kedua arah berarti tidak ada yang menghantar. Hasilnya kamu lihat di Serial Monitor pada 9600 baud; untuk pembacaan yang lebih presisi, ukur pin 5V dengan multimeter lalu perbarui VREF. Dengan 1N4148 terpasang, kamu akan melihat nilai sekitar Vf = 0.640 V dan hasil “silicon diode”.
ESP32: melindungi input analog dengan dioda Schottky
Pin ESP32 hanya tahan 3,3 V, dengan batas mutlak sekitar 3,6 V. Untuk mengukur baterai 12 V, kamu terlebih dahulu menurunkan tegangannya dengan pembagi tegangan: kutub positif baterai lewat 100 kΩ ke GPIO 34, dan GPIO 34 lewat 22 kΩ ke GND. Dengan rasio ini, 12,6 V menjadi sekitar 2,27 V di pin. Tapi bagaimana dengan lonjakan yang muncul ketika baterai sedang diisi atau motor sedang berputar? Di sini, dua dioda Schottky kecil berperan sebagai jaring pengaman: satu dari pin ke 3V3 (katoda di 3V3), satu lagi dari GND ke pin (katoda di pin). Kalau tegangan pin naik lebih dari sekitar 0,3 V di atas 3,3 V atau turun di bawah nol, kelebihannya mengalir lewat dioda, dan resistor 100 kΩ menjaga arus itu tetap kecil.
1// ESP32 ile 12 V akü gerilimi ölçme, diyot korumalı giriş / 12 V battery voltage with ESP32, diode-protected input
2// Akü + -> 100 kΩ -> GPIO 34 -> 22 kΩ -> GND / battery + -> 100 kΩ -> GPIO 34 -> 22 kΩ -> GND
3// Schottky 1: anot GPIO 34, katot 3V3 / anode GPIO 34, cathode 3V3
4// Schottky 2: anot GND, katot GPIO 34 / anode GND, cathode GPIO 34
5const int SENSE_PIN = 34; // yalnızca giriş, ADC1 / input only, ADC1
6const float RATIO = (100.0 + 22.0) / 22.0; // bölücü oranı yaklaşık 5,55 / divider ratio about 5.55
7
8void setup() {
9 Serial.begin(115200);
10}
11
12void loop() {
13 uint32_t sum = 0;
14 for (int i = 0; i < 32; i++) {
15 sum += analogReadMilliVolts(SENSE_PIN); // kalibre edilmiş mV / calibrated millivolts
16 delay(2);
17 }
18 float pinV = sum / 32.0 / 1000.0; // pindeki gerilim / voltage on the pin
19 float batteryV = pinV * RATIO; // akü gerilimi / battery voltage
20 Serial.printf("Pin: %.3f V Akü / battery: %.2f V\n", pinV, batteryV);
21 if (batteryV < 11.8) {
22 Serial.println("Akü zayıf / battery low");
23 }
24 delay(1000);
25}Raspberry Pi Pico: mengukur suhu dengan dioda (MicroPython)
Ingat bahwa tegangan maju dioda turun sekitar 2 mV untuk setiap °C? Sensor suhu bawaan Raspberry Pi Pico bekerja persis dengan prinsip ini: menurut datasheet RP2040, sensor di dalam chip mengukur tegangan dioda bipolar yang diberi bias; tegangan ini biasanya 0,706 V pada 27 °C dan turun 1,721 mV per derajat. Kamu bisa melakukan hal yang sama dengan 1N4148 eksternal: hubungkan pin 3V3 lewat resistor 10 kΩ ke GP26 dan ke anoda dioda, lalu hubungkan katodanya ke GND. Sekitar 0,27 mA mengalir lewat dioda, dan tegangan di GP26 berubah mengikuti suhu.
1# Pico: diyotla sıcaklık ölçümü / Temperature measurement with a diode
2# 3V3 -> 10 kΩ -> GP26 + 1N4148 anodu / anode, katot / cathode -> GND
3from machine import ADC
4import time
5
6chip = ADC(4) # yonga içindeki sıcaklık diyodu / on-chip temperature diode
7diode = ADC(26) # GP26 (ADC0): harici 1N4148 / external 1N4148
8CONV = 3.3 / 65535 # read_u16 değerini volta çevirir / converts read_u16 to volts
9
10# Kalibrasyon: oda sıcaklığındaki değerlerini yaz / Calibration: enter your room-temperature values
11T0 = 22.0 # termometredeki sıcaklık (°C) / thermometer reading (°C)
12V0 = 0.600 # o sıcaklıkta diyot gerilimi (V) / diode voltage at that temperature (V)
13SLOPE = -0.002 # 1N4148 için yaklaşık -2 mV/°C / about -2 mV/°C for a 1N4148
14
15def average_voltage(adc, n=64):
16 total = 0
17 for _ in range(n):
18 total += adc.read_u16()
19 return total / n * CONV
20
21while True:
22 v_chip = average_voltage(chip)
23 t_chip = 27 - (v_chip - 0.706) / 0.001721 # RP2040 veri sayfası formülü / RP2040 datasheet formula
24 v_diode = average_voltage(diode)
25 t_diode = T0 + (v_diode - V0) / SLOPE
26 print("Yonga / chip: {:.1f} °C Diyot / diode: {:.3f} V -> {:.1f} °C".format(t_chip, v_diode, t_diode))
27 time.sleep(1)Ketika menjalankan kode untuk pertama kali, baca suhu ruangan dari termometer, lalu masukkan tegangan dioda yang kamu lihat di layar sebagai V0 dan angka termometer sebagai T0. Tegangan setiap dioda sedikit berbeda, jadi kalibrasi satu titik ini wajib. Setelah itu, jepit dioda di antara jari-jarimu: dalam beberapa detik kamu akan melihat tegangannya turun dan suhunya naik. Sensor di dalam chip juga terpengaruh panas board itu sendiri, jadi keduanya bukan termometer presisi; keduanya adalah eksperimen edukatif yang menunjukkan prinsipnya. Untuk pengukuran sungguhan, pakai sensor digital seperti DS18B20.
Ide proyek dengan dioda
- Alat uji dioda dengan LCD: Gabungkan kode di atas dengan layar LCD I2C agar jenis dan tegangan majunya langsung muncul begitu kamu memasang komponen.
- Catu daya dengan cadangan baterai: Gabungkan USB dan baterai dengan dua dioda Schottky agar Arduino tetap berjalan dari baterai tanpa terputus ketika USB dicabut.
- Keypad tanpa ghosting: Tambahkan 1N4148 di setiap tombol matriks buatan sendiri agar menekan beberapa tombol sekaligus tidak memunculkan tombol yang salah. Logika pemindaian matriks ada di Cara Memakai Keypad.
- LED dengan Charlieplexing: Manfaatkan sifat LED yang hanya menghantar ke satu arah untuk mengendalikan 6 LED dengan hanya 3 pin, atau 12 LED dengan 4 pin.
- Penyiraman otomatis: Kendalikan pompa dengan relay dan lindungi dengan dioda flyback; untuk pengukuran kelembapan, lihat Sensor Kelembapan Tanah.
- Pengisian tenaga surya: Pasang dioda Schottky penghalang di antara panel dan baterai agar baterai tidak mengosong balik ke panel di malam hari.
Kesalahan umum dan cara memperbaikinya
| Gejala | Kemungkinan penyebab | Solusi |
|---|---|---|
| Rangkaian sama sekali tidak bekerja | Dioda proteksi seri terpasang terbalik | Balik posisinya: katoda bergelang ke arah beban, anoda tanpa gelang ke arah positif catu |
| Arduino reset setiap kali relay atau motor mati | Tidak ada dioda flyback | Tambahkan 1N4007 atau 1N4148 paralel dengan kumparan, katoda ke positif |
| Catu drop ketika transistor menyala dan dioda jadi panas | Dioda flyback terbalik dan menghubungsingkatkan catu | Balik posisi dioda: katoda ke positif catu |
| Modul berperilaku aneh setelah dipasang dioda seri | Kehilangan tegangan maju 0,7–1 V | Pakai Schottky (1N5819) atau MOSFET kanal-P |
| Dioda jadi sangat panas | Batas arus terlewati, atau dioda lambat di PWM berfrekuensi tinggi | Pilih 1N5408 3 A, atau Schottky / UF4007 |
| Zener cepat rusak | Tidak ada resistor seri, atau nilainya terlalu kecil | Hitung R = (Vin − Vz) / I dan cek daya Zener |
| Pembacaan analog bergeser setelah dioda proteksi dipasang | Arus bocor dioda atau Zener | Pakai Schottky sinyal kecil (BAT54) dan turunkan nilai resistor pembagi |
Dioda adalah salah satu komponen elektronik yang tampak paling sederhana tapi paling rajin bekerja: ia mengarahkan arus ke satu arah, melindungi rangkaianmu, mengubah AC menjadi DC, dan sebagai LED, memancarkan cahaya. Begitu kamu terbiasa membaca polaritas dari gelangnya, memperhitungkan kehilangan tegangan majunya, dan menambahkan dioda flyback ke beban induktif, komponen yang terbakar di proyekmu akan jauh berkurang. Di aplikasi BlueGrays kamu akan menemukan proyek LED, relay, motor, dan penyiraman lengkap dengan skema rangkaian langkah demi langkah dan kode siap pakai, jadi kamu bisa melihat sendiri di mana dioda dipasang di rangkaian sungguhan.
Pertanyaan umum
Apa fungsi dioda?
Dioda hanya mengalirkan arus ke satu arah, dari anoda ke katoda. Sifat ini membuatnya berguna untuk mengubah AC menjadi DC (penyearahan), melindungi rangkaian dari baterai yang terbalik, meredam lonjakan tegangan dari relay dan motor, dan pada jenis Zener, menjepit tegangan di nilai tertentu. LED juga dioda yang memancarkan cahaya.
Sisi dioda mana yang positif?
Sisi positif dioda adalah anoda, dan sisi negatifnya katoda. Katoda ditandai dengan gelang di badannya, dan di simbol skema, garis tegaknya menunjukkan katoda. Agar dioda menghantar, anoda harus sekitar 0,7 V lebih positif daripada katoda; pada LED, kaki panjang adalah anoda.
Apa bedanya dioda dan LED?
Keduanya hanya mengalirkan arus ke satu arah; LED adalah dioda khusus yang memancarkan cahaya ketika menghantar. Tegangan majunya antara 1,8 dan 3,4 V tergantung warnanya, dan ke arah mundur ia hanya tahan sekitar 5 V. Karena itu LED tidak dipakai sebagai penyearah dan harus selalu dipasang dengan resistor seri.
Apa bedanya dioda Zener dan dioda biasa?
Dioda biasa memblokir arus ke arah mundur dan rusak kalau batas tegangannya terlewati. Dioda Zener sengaja menghantar ke arah mundur pada tegangan tertentu (misalnya 5,1 V) tanpa rusak, jadi ia menjepit tegangan di nilai itu. Zener dipasang terbalik, dengan katoda ke positif, dan selalu dengan resistor seri.
Bagaimana cara mengecek dioda masih bagus atau tidak?
Atur multimeter ke mode dioda, lalu tempelkan probe merah ke anoda dan probe hitam ke katoda. Dioda silikon yang bagus terbaca 0,5–0,7 V, dan OL muncul ketika probe ditukar. Nilai mendekati nol di kedua arah berarti short, dan OL di kedua arah berarti dioda putus (open).
Berapa batas arus dan tegangan 1N4007?
1N4007 adalah dioda penyearah silikon yang mengalirkan arus maju rata-rata 1 A dan tahan tegangan mundur berulang 1000 V. Tegangan majunya paling tinggi 1,1 V pada 1 A, dan ia tahan lonjakan tunggal 30 A. Untuk arus yang lebih besar, dipakai 1N5408 yang 3 A.
Proyek untuk dibuat setelah membaca ini
Lihat semua proyek
LED Berkedip
"Halo" pertama di dunia elektronika: menyalakan dan mematikan satu LED. Arduino menyalakan dan mematikan LED dengan jeda singkat, sehingga cahayanya berkedip cepat. Kamu melihat dengan cara paling sed

LED Berkedip dengan ESP32
Mengajarkan penggunaan output GPIO dasar dengan ESP32. Kita membuat efek berkedip dengan menyalakan dan mematikan LED dari pin digital. Versi ESP32 dari proyek blink klasik di Arduino UNO; perintah blink dasar di lingkungan Arduino sama, tetapi susunan pin ESP32 dan level GPIO 3,3 V-nya berbeda dengan Arduino UNO.

Raspberry Pi Pico: Mengendalikan LED Eksternal (Breadboard)
Langkah berikutnya setelah LED bawaan Pico: menyambungkan LED eksternal ke breadboard dan mengendalikannya lewat pin GP14. Di proyek ini, kamu belajar memakai pin GPIO serbaguna Pico mana pun sebagai output, polaritas LED (kaki panjang = anoda/+, kaki pendek = katoda/–), dan kenapa resistor pembatas arus (220Ω) diperlukan. Tanpa resistor, arus berlebih mengalir melalui LED dan LED bisa terbakar. Rangkaiannya sangat sederhana: Pico GP14 → resistor 220Ω → LED → GND.

Menyalakan Bohlam 220V dengan Tombol Tekan
Selama kamu menahan tombol, bohlam 220 volt sungguhan tetap menyala, dan mati begitu kamu melepasnya. Sinyal kecil Arduino tidak bisa langsung menyalakan bohlam, jadi relay, sakelar yang dikendalikan

Menyalakan Bohlam 220V dengan Remote Control
Nyalakan dan matikan bohlam sungguhan di rumahmu dengan remote TV, tanpa beranjak dari sofa. Arduino membaca sinyal cahaya tak terlihat dari remote; tombol power membuat relay berbunyi klik dan menyal

Stasiun Penyiraman Pintar
Tukang kebun yang menyiram tanamanmu sendiri, supaya tanaman tidak kering ketika kamu berlibur. Sensor kelembapan tanah mengukur seberapa basah tanahnya; ketika kering, Arduino menyalakan pompa air be

Mobil Kendali Bluetooth dengan L298N
Jadikan ponselmu remote dan kendarai mobil robotmu sendiri. Arduino menerima perintah dari aplikasi remote control di ponselmu lewat modul Bluetooth dan memutar roda dengan driver motor; mobil maju, m

Menggunakan Motor Stepper
Motor yang berputar selangkah demi selangkah, persis sejauh yang kamu mau, seperti jarum jam. Lewat board driver, Arduino memutar motor stepper kecil satu putaran penuh ke satu arah, menunggu satu det
Artikel lainnya
Aplikasi BlueGrays
Rakit rangkaian ini langkah demi langkah di ponselmu
Skema pengkabelan, kode, dan daftar komponen dalam satu layar. 200+ proyek Arduino, ESP32, dan Pico siap dibuat.
Pindai dengan ponselmu
Arahkan kamera ke kode ini dan toko aplikasi di ponselmu akan terbuka.
atau buka toko aplikasi

