Cara Guna Relay Module dengan Arduino Secara Selamat

Cartoon of a red relay module with blue screw terminals wired between an Arduino Uno and a 12V fan

Relay module membolehkan isyarat kecil daripada Arduino atau ESP32 menghidupkan litar yang berasingan sepenuhnya β€” kipas 12V, pam 5V, jalur LED. Sambungkan bahagian kawalan ke 5V, GND dan satu pin GPIO, letakkan beban pada COM dan NO, dan belajar dulu dengan DC voltan rendah sebelum terfikir langsung tentang mains 240V. Panduan ini merangkumi board yang MakerHub jual β€” termasuk jumper trigger HIGH/LOW yang jadi punca kebanyakan kes relay songsang.

Apa sebenarnya fungsi relay module?

Relay module ialah suis yang dikendalikan secara elektrik: coil menarik satu contact dari satu kedudukan ke kedudukan yang lain, dan opto-coupler serta transistor driver pada board membolehkan pin microcontroller mengawal coil itu dengan selamat. Blok relay pada board MakerHub ialah Songle SRD-05VDC-SL-C biru, yang coil 5V-nya menarik kira-kira 71mA apabila diaktifkan β€” jauh lebih tinggi daripada yang patut dibekalkan oleh pin GPIO, dan itulah sebabnya module ini wujud.

Tiga terminal output ini mudah difahami sebagai koridor dengan dua pintu:

Terminal Maksud Keadaan bila relay idle
COM Common β€” contact yang bergerak Sentiasa sebahagian daripada litar
NO Normally Open Terputus β€” beban OFF sehingga coil diaktifkan
NC Normally Closed Bersambung β€” beban ON sehingga coil diaktifkan

Untuk hampir semua projek, anda mahukan COM bersama NO, supaya beban kekal mati sehingga kod anda menghidupkannya. Relay ini jenis single-pole double-throw (SPDT): COM sentiasa menyentuh tepat satu pintu sahaja, tidak pernah kedua-duanya.

Kartun analogi pintu menunjukkan contact common COM relay memilih antara pintu normally open dan normally closed
COM ialah koridor; NO pintu yang terbuka, NC pintu yang tertutup. Mengaktifkan coil menukar pintu mana yang COM sentuh.

Relay module mana yang patut anda beli?

Relay module 1-channel dan 2-channel di bawah adalah litar yang sama β€” PCB merah sama, screw terminal, opto-coupler, LED penunjuk dan jumper pemilih trigger yang sama β€” jadi pilih ikut berapa banyak beban yang anda nak suiskan. Arduino Uno compatible (CH340G) mampu memandu kedua-duanya tanpa masalah.

Untuk apa jumper trigger HIGH/LOW itu?

Jumper trigger HIGH/LOW β€” penutup hitam kecil pada header tiga pin bertanda H dan L β€” menentukan logic level mana yang menarik relay masuk. Pada kedudukan L, board ini low-level triggered: relay aktif bila IN ditarik LOW; pada kedudukan H, ia aktif bila IN dipandu HIGH.

Kebanyakan tutorial online menganggap board lama yang memang tetap active-LOW, jadi sketch mereka berjalan songsang pada board yang jumper-nya di H β€” dan kedudukan dari kilang pula berbeza antara batch. Jangan main anggap; tengok sendiri di mana penutup itu duduk pada board anda.

Ujian satu minit sebelum wiring apa-apa beban: biarkan terminal output kosong, hidupkan board, toggle IN dari sketch anda, dan perhatikan LED channel sambil dengar bunyi klik. Kalau perangainya terbalik daripada kod anda, alihkan jumper atau tukar constant ON/OFF β€” selagi tiada apa yang disambung, relay yang songsang tidak merugikan apa-apa.

Kartun close-up jumper pemilih trigger high low pada PCB relay module merah dalam dua kedudukannya
Jumper pemilih trigger: board sama, dua perangai. Semak pasangan pin mana penutup itu duduk sebelum percaya mana-mana sketch.

Macam mana nak wiring relay module ke Arduino Uno?

Pinout relay module ialah enam kedudukan skru: DC+, DCβˆ’ dan IN di bahagian kawalan, NO, COM dan NC di bahagian output β€” screw terminal di kedua-dua tepi, bukan pin header. IN hanya memandu LED dalam opto-coupler β€” beban 15–20mA setiap channel β€” manakala ~71mA untuk coil datang daripada DC+; GPIO Uno hanya dinilai untuk 20mA setiap pin, sebab itulah coil tidak pernah digantung terus pada pin.

Terminal relay Arduino Uno Fungsi
DC+ 5V Kuasa coil dan opto (~71mA setiap coil yang aktif)
DCβˆ’ GND Ground
IN D7 Isyarat trigger (15–20mA, input opto)

Mulakan dengan beban voltan rendah β€” kipas 12V dengan bekalan sendiri adalah pilihan terbaik; corak yang sama memandu pam 5V dalam projek sistem siram pokok automatik kami.

Dari Ke Nota
Bekalan 12V (+) Relay COM Bekalan masuk ke dalam suis
Relay NO Wayar merah kipas NO memastikan kipas OFF secara default
Wayar hitam kipas Bekalan 12V (βˆ’) Melengkapkan gelung beban
Kartun gambaran wiring Arduino Uno mengawal kipas 12V melalui relay module merah dengan screw terminal
Dua gelung berasingan: wayar Uno di bahagian kawalan, kipas dan bekalan 12V di bahagian contact. Mereka hanya bertemu di dalam relay.

Sketch di bawah berfungsi pada kedua-dua tetapan jumper β€” setkan dua constant ini ikut board anda:

// Relay module + Arduino Uno β€” menyuiskan kipas 12V
// Bahagian kawalan: DC+ -> 5V, DC- -> GND, IN -> D7
// Bahagian beban: bekalan 12V (+) -> COM, NO -> kipas (+), kipas (-) -> bekalan (-)

const int RELAY_PIN = 7;

// Padankan constant ini dengan kedudukan jumper trigger board ANDA:
// Jumper di L (low-level trigger):  relay ON bila pin LOW  (guna LOW / HIGH)
// Jumper di H (high-level trigger): relay ON bila pin HIGH (guna HIGH / LOW)
const int RELAY_ON  = LOW;
const int RELAY_OFF = HIGH;

void setup() {
  digitalWrite(RELAY_PIN, RELAY_OFF);  // tetapkan keadaan OFF sebelum pin mula memandu
  pinMode(RELAY_PIN, OUTPUT);
}

void loop() {
  digitalWrite(RELAY_PIN, RELAY_ON);   // kipas ON selama 5 saat
  delay(5000);
  digitalWrite(RELAY_PIN, RELAY_OFF);  // kipas OFF selama 5 saat
  delay(5000);
}

Boleh ke ESP32 trigger relay module 5V dengan 3.3V?

Logic 3.3V pada ESP32 berjaya trigger board opto 5V ini dengan konsisten dalam praktik: bekalkan DC+ daripada pin 5V/VIN dev board, kongsikan GND, dan pandu IN terus dari GPIO 3.3V. Opto-coupler cuma perlukan arus yang cukup untuk menyalakan LED dalamannya, dan 3.3V biasanya mencukupi untuk board jenis ini.

Dua peringatan jujur. Jangan sesekali bekalkan DC+ daripada pin 3.3V β€” coil itu dililit untuk 5V. Dan resistor input opto berbeza antara batch, jadi jalankan ujian klik tanpa beban dulu sebelum percaya board baru; ada batch tertentu yang lebih suka trigger 5V sebenar. Perbandingan ESP32 vs ESP8266 vs Uno kami mengupas cerita logic 3.3V lawan 5V dengan lebih mendalam.

Boleh ke relay module ini suiskan mains 240V?

Contact relay Songle ini dicetak 10A 250VAC / 10A 30VDC, dan rating itu memang benar β€” tetapi ia menggambarkan blok relay biru yang tertutup, bukan module terdedah ini sebagai produk siap. Module ini ada screw terminal terdedah, tiada enclosure, dan tiada layout yang direka untuk jarak creepage dalam keadaan lembap Malaysia, jadi dengan sendirinya ia kekal sebagai komponen, bukan suis perkakas. Jadual dalam datasheet itu sendiri pun lebih konservatif daripada cetakan pada casing:

Rating Di mana ia tertera Maksudnya untuk anda
10A 250VAC / 10A 30VDC Dicetak pada casing relay Siling yang diperakui untuk contact itu sendiri
10A 125VAC / 7A 240VAC / 7A 28VDC Datasheet, beban resistif Form C Pada 240V Malaysia, rancang sekitar 7A β€” bukan 10A
3A (cosΦ=0.4, pada 120VAC/28VDC) Datasheet, beban induktif — tiada langsung angka induktif 240VAC yang diterbitkan Motor, pam dan solenoid dapat bajet yang jauh lebih rendah

Ada juga lapisan undang-undang: di bawah Peraturan-Peraturan Elektrik 1994 Malaysia, pendawaian satu fasa rumah sekalipun mesti dijalankan di bawah penyeliaan orang kompeten yang berdaftar dengan Suruhanjaya Tenaga β€” wireman berdaftar atau kontraktor elektrik berdaftar. Pendawaian 240V kekal adalah kerja mereka, bukan eksperimen hujung minggu.

Kalau sesuatu projek benar-benar perlu suiskan perkakas mains, versi yang matang begini: dalam enclosure, berfius, kabel dengan rating yang betul, terminal tidak sesekali disentuh semasa bertenaga β€” dan orang yang berkelayakan membina atau menyemak bahagian mains itu. Kami sengaja tidak menerbitkan panduan langkah demi langkah untuk 240V; berlatih logiknya pada 12V, di mana kesilapan jadi pelajaran dan bukan kecemasan. Video ini pandangan yang serius tentang apa yang terlibat bila menyuiskan AC:

Kartun perbandingan relay module terdedah dengan binaan tertutup dan berfius yang betul untuk suis mains
Module terdedah atas meja berbanding binaan tertutup dan berfius β€” hanya satu daripadanya yang layak berada dekat 240V, dan itu pun wireman berdaftar yang mengesahkan pendawaiannya.

Kenapa motor dan solenoid perlukan perhatian lebih?

Motor, pam, solenoid dan transformer menyimpan tenaga dalam medan magnetnya, dan bila contact relay terbuka, tenaga itu melompat merentasi celah sebagai arka. Arka melubangkan dan akhirnya mengimpal contact, dan sebab itulah datasheet menurunkan rating induktif kepada 3A. Kekal jauh di bawah rating yang dicetak; tambah flyback diode merentasi beban induktif DC, dan untuk AC, RC snubber merentasi contact menjinakkan arka itu. (Coil pada module memang sudah ada diode sendiri β€” nota ini tentang beban yang anda suiskan.)

Kesilapan biasa yang kami nampak daripada pelanggan sebenar

Menganggap active-LOW sebab tutorial kata begitu. Aduan klasik “relay jalan terbalik” hampir selalunya jumper trigger yang duduk pada tetapan bertentangan dengan constant dalam sketch. Semak jumper dulu, kod kemudian.

Wiring beban ke NC dan bukannya NO. Simptomnya beban terus hidup sebaik sahaja kuasa masuk, dan mati pula bila kod kata on. Alihkan wayar dari NC ke NO; multimeter dalam mod continuity merentasi COM dan setiap terminal menunjukkan bezanya dalam beberapa saat.

Membekalkan DC+ daripada pin 3.3V. Relay bergetar, berdengung, atau langsung tidak klik. Input opto boleh terima 3.3V; coil tidak β€” DC+ mesti dapat 5V.

Mengapit penebat dalam screw terminal. Screw terminal genggam apa sahaja yang anda suakan, termasuk plastik. Lucutkan 5–6mm tembaga, masukkan sepenuhnya, ketatkan, kemudian tarik-uji setiap wayar β€” sambungan yang mengapit penebat berfungsi atas meja, kemudian gagal di kemudian hari.

Menyuiskan motor pada rating penuh yang dicetak. 10A ialah siling untuk beban resistif, bukan bajet motor. Beban induktif dapat 3A dan snubber, atau relay yang bersaiz lebih besar dengan sewajarnya.

Soalan Lazim

Perlu ke bekalan kuasa berasingan untuk relay module?

Untuk satu atau dua channel pada rail 5V Uno, tidak perlu β€” peruntukkan kira-kira 71mA bagi setiap coil yang aktif. Kalau beberapa relay dipegang aktif serentak, atau board brown-out bila relay klik, berikan DC+ bekalan 5V sendiri dan pastikan ground kekal disambung bersama.

Boleh ke relay module 5V ini dikuasakan dengan 12V?

Tidak boleh. Coil itu dililit untuk 5V, dan datasheet menghadkan coil pada 120% daripada nominal β€” 6V. Pada sistem 12V, turunkan bekalan ke 5V untuk DC+ dan biarkan 12V beban di bahagian contact, tempat yang sepatutnya.

Selamat ke suiskan cerek atau periuk nasi dengan module ini?

Tidak selamat sebagai board terdedah atas meja. Perkakas mains adalah kerja 240V: dalam enclosure, berfius, kabel dengan rating yang betul, dan pendawaian dibuat atau disemak oleh wireman berdaftar seperti yang dikehendaki oleh peraturan Malaysia. Bina logik yang sama pada beban 12V dulu β€” kodnya berpindah bulat-bulat.

Apa beza module 1-channel dengan 2-channel?

Setiap channel adalah litar yang sama β€” relay Songle sama, input opto, jumper trigger dan screw terminal yang sama. Board 2-channel menambah blok relay kedua dan terminal IN2, dan bajet coil ~71mA perlu dikira dua kali bila kedua-duanya aktif serentak.

Kemas kini terakhir Ogos 2026. Tersangkut? Chat dengan kami di WhatsApp.

Leave a Reply

Your email address will not be published. Required fields are marked *