arduino mengkases relay

Cara mengakses Relay menggunakan Arduino Uno

Pengertian

Relay merupakan jenis golongan saklar yang dimana beroperasi berdasarkan prinsip elektromagnetik yang dimanfaatkan untuk menggerakan kontaktor guna menyabungkan rangkaian secara tidak langsung.

Tertutup dan terbukanya kontaktor disebabkan oleh adanya efek induksi magnet yang dihasilkan dari kumparan induktor yang dialiri arus listrik.

Perbedaan dengan saklar yaitu pergerakan kontaktor pada saklar untuk kondisi on atau off dilakukan manual tanpa perlu arus listrik sedangkan relay membutuhkan arus listrik.

Cara kerja

Ada 5 bagian inti dari komponen ini antara lain :

  • Armature
  • Electromagnet atau Coil
  • Spring
  • Switch Contact / saklar
  • Iron Core

Bisa dilihat jelas pada gambar dibawah ini :

Bagian dari relay

Gambar bagian dari relay

Pada gambar diatas dapat diketahui bahwa sebuah Iron Core atau inti besi diberikan lilitan kumparan Coil agar terciptanya atau timbulnya gaya elektromagnetik.

Dari timbulnya gaya elektromagnetik tersebut akan menarik armature dan terjadi perpindahan posisi dengan ditahan memakai spring. Sehingga terjadi pensaklaran atau switch contact yang membuat perubahan kondisi awal mulai dari tertutup akan berubah menjadi terbuka.

Pada saat kondisi Normally Open (NO) maka saklar atau switch contact akan menghantarkan arus listrik.

Tetapi apabila ditemukan kondisi dimana armature kembali ke posisi semula (NC), pada saat itu juga menandakan bahwa module tidak teraliri arus listrik.

[irp]

Penjelasan tentang perbedaan NC dan NO yaitu

  • NC (Normally Close) : Kondisi awal dimana relai pada posisi tertutup, tetapi saat tealiri arus maka akan ke posisi terbuka
  • NO (Normally Open) : Merupakan kebalikan dari NC yang dimana kondisi awal relai pada posisi Open, tetapi saat tealiri arus maka akan ke posisi tertutup

Fungsi

Seperti yang telah dikatakan tadi bahwa relay memiliki fungsi sebagai saklar elektrik.

Namun jika diaplikasikan ke dalam rangkaian elektronika, relay memiliki beberapa fungsi yang cukup unik.

Berikut contoh aplikasi relay dalam kehidupan sehari-hari.

  1. Menjalankan fungsi logika dalam sistem mikrokontroller
  2. sebagai sarana mengendalikan rangkaian tegangan tinggi mempergunakan tegangan rendah
  3. Memberikan fungsi time delay function
  4. Memberikan proteksi motor atau komponen lainnya dari kelebihan tegangan penyebab korsleting

Tutorial cara mengakses relay menggunakan arduino Uno

Bahan yang perlu dipersiapkan antara lain :

  • Arduino Uno
  • Komputer + Software IDE Arduino
  • Module relay tipe NO 5v – 250 Vac
  • Lampu 220 Vac
  • Breadboard
  • Kabel Jumper

Pada tutorial ini yang digunakan yaitu module yang single, seperti ini

Tutorial arduino mengkases relay

Skema yang perlu dirangkaikan

untuk programnya kodingannya

/* --- www.nyebarilmu.com --- */
const int PIN2 = 2;

void setup(){
pinMode(PIN2, OUTPUT);
}

void loop() {
digitalWrite(PIN2, HIGH);
delay(5000);
digitalWrite(PIN2, LOW);
delay(5000);
}

Program yang dibuat diatas merupakan program sederhana seperti mengakses LED yang dimana pada pin arduino dideklarasikan sebagai output dan pada pin tersebut diberikan logika high atau 1.

Pada relay saat teraliri arus maka coil menghasilkan electromagnetik dan amarture tertarik maka pada lampu 220 Vac teraliri arus listrik dan akan menyala.


Tutorial Kedua mengakses module relay 1 Channel dengan 1 push button

Pada tutorial kedua ini akan dijabarkan untuk mengakses module relay 1 channel dengan 1 push button dengan pengondisian “if” yang sederhana.

  • Jika ditekan pertama relay akan ON
  • jika ditekan kedua relay akan OFF

Bahan yang diperlukan :

  1. Arduino Nano
  2. Module 1 channel
  3. Kabel jumper
  4. 1 push button
  5. Lampu 220vac

Wiring Schematic

Relay 1 channel, 1 push button

Instalasi Library JC_Button di arduino IDE

Langkah – langkah untuk installing library JCButton dengan catatan terhubung internet :

  1. Buka Software arduino uno IDE
  2. Pilih dan klik menu sketch -> include libraries -> manage libraries
  3. Ketikan “jc button” pada kolom search
  4. Pilih libraries JC_BUTTON by jack christensen
  5. Klik install dan Close

Instalasi library push button

Koding Program

#include <JC_Button.h>

const byte
    BUTTON_PIN(5),
    RELAY_PIN(13);

Button myBtn(BUTTON_PIN);

void setup()
{
    myBtn.begin();
    pinMode(RELAY_PIN, OUTPUT);
}

void loop()
{
    static bool relayState;
    myBtn.read();

    if (myBtn.wasReleased())
    {
        relayState = !relayState;
        digitalWrite(RELAY_PIN, relayState);
    }
}

Hasil program diatas menggunakan Proteus secara sederhana

hasil trial arduino nano, button, relay


Tutorial Ketiga mengakses module relay 8 Channel dengan 1 push button

Hampir sama dengan tutorial kedua tetapi bedanya jumlahnya yaitu 8 channel tetapi tetap menggunakan 1 push button dengan pengondisian IF.

Pengondisiannya yaitu

  • Pada saat penekanan 1 – 8 maka relay 1 – relay 8 akan berurutan ON
  • Pada saat penekanan 9 – 16 maka relay 1 – relay 8 akan OFF satu persatu secara berurutan

Bahan yang diperlukan :

  1. Arduino Nano
  2. Module 8 channel
  3. Kabel jumper
  4. 1 push button
  5. LM2596
  6. Power Supply 12VDC 2A

Alasan menggunakan power supply eksternal dikarenakan agar arus pada arduino nano tidak drop yang hanya sebesar 500mA.

Wiring Schematic

relay 8 channel, ARDUINO NANO, PUSH BUTTON

Koding Program

[sociallocker id=1344]

#include <JC_Button.h>

// pin assignments
const byte
    BUTTON_PIN(10),
    R1_PIN(2),
    R2_PIN(3),
    R3_PIN(4),
    R4_PIN(5),
    R5_PIN(6),
    R6_PIN(7),
    R7_PIN(8),
    R8_PIN(9);

int a=0;

Button myBtn(BUTTON_PIN);

void setup()
{
    myBtn.begin();
    pinMode(R1_PIN, OUTPUT);
    pinMode(R2_PIN, OUTPUT);
    pinMode(R3_PIN, OUTPUT);
    pinMode(R4_PIN, OUTPUT);
    pinMode(R5_PIN, OUTPUT);
    pinMode(R6_PIN, OUTPUT);
    pinMode(R7_PIN, OUTPUT);
    pinMode(R8_PIN, OUTPUT);
}

void loop()
{
    static bool ledState;
    myBtn.read();

    if (myBtn.wasReleased())
    {
       // ledState = !ledState;
       a++;
       if(a>=17) a=0;
    }

   if(a==1)  digitalWrite(R1_PIN, HIGH);
   if(a==2)  digitalWrite(R2_PIN, HIGH);
   if(a==3)  digitalWrite(R3_PIN, HIGH);
   if(a==4)  digitalWrite(R4_PIN, HIGH);
   if(a==5)  digitalWrite(R5_PIN, HIGH);
   if(a==6)  digitalWrite(R6_PIN, HIGH);
   if(a==7)  digitalWrite(R7_PIN, HIGH);
   if(a==8)  digitalWrite(R8_PIN, HIGH);

   if(a==9)  digitalWrite(R1_PIN, LOW);
   if(a==10)  digitalWrite(R2_PIN, LOW);
   if(a==11)  digitalWrite(R3_PIN, LOW);
   if(a==12)  digitalWrite(R4_PIN, LOW);
   if(a==13)  digitalWrite(R5_PIN, LOW);
   if(a==14)  digitalWrite(R6_PIN, LOW);
   if(a==15)  digitalWrite(R7_PIN, LOW);
   if(a==16)  digitalWrite(R8_PIN, LOW);

}

[/sociallocker]

Hasil trial diatas

Tutorial mengakses 8 channel relay dengan arduino dan button

Terimakasih sudah berkunjung, dan semoga bermanfaat. Salam nyebarilmu.com!

11 Comments

  1. Hadi mulyono

    bolehkan saya mendapatkan kodingan kontrol relay 4 channel?
    dengan langkah kerja sebagai berikut :
    1. ada satu sinyal/input penggerak berupa NO dari pressure switch
    a.jika input NO ON (pressure switch) maka relay 1 akan ON
    jika input NO OFF maka relay 1 OFF
    b.selanjutnya jika input NO (pressure switch) ON lagi maka
    gantian relay 2 ON
    jika input NO OFF maka relay 2 OFF
    c.selanjutnya jika input NO (pressure switch) ON lagi maka
    gantian relay 3 ON
    d. selanjutnya system berjalan terus seperti itu terus
    e. kita abaikan relay yg ke 4 supaya tdk berfungsi

    • bisa saja gan,

      itu ngakalinnya gunain counter,

      jika counter 1 untuk kondisi pressure switch ON pertama untuk nyalakan relay 1,

      counter 2 untuk kondisi pressure switch ON kedua untuk nyalakan relay 2, dst

      ditunggu dan di subscribe saja gan web ini,

  2. rama

    gan mau tanya kalo misalnya 2 channel tapi yg mau di test 1 channel pertamanya aja codingannya harus ditambah ga?

  3. Rimbang

    Tanya . Itu kalau dipakai dalam jangka waktu yang lama , apakah aman relaynya ?

  4. rusdi

    salah tu program sama wiring diagram, program pin 2 sedang wiring pim 10

Leave a Reply

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