Lompat ke konten Lompat ke sidebar Lompat ke footer

Arduino Part 3. Tombol ON - OFF LED

Mengendalikan peralatan listrik atau elektronik umumnya menggunakan tombol. Sekarang kita membuat program arduino menggunakan tombol on off padalampu LED. Setelah sebelumnya kita membahas cara membuat LED blink, sekarang kita akan membahas bagaimana menghidupkan LED menggunakan tombol on – off. Untuk eksperiman kali ini, kita membutuhkan alat dan bahan yaitu :

1.  Arduino Uno

2.  Saklar on off ( micro switch Push button )

3.  Resistor 330 ohm

4.  Resistor 3,3 Kohm (atau minimal 1 Kohm)

5.  Lampu LED

6.  Project board

7.  Kabel

Setelah alat dan bahan sudah dipersiapkan sekarang saatnya kita mulai merakit. Pasanglah saklar, resistor dan LED pada Project board lalu saklar kita hubungkan dengan pin 7 pada Arduino Uno dan lampu LED dihubungkan ke pin 12. Pastikan jalur Ground (GND) pada LED sudah terhubung dan jalur positif 5 volt sudah terhubung ke saklar.

Untuk jelasnya bisa dilihat pada gambar di bawah ini :

 


Setelah selesai merakit maka kita bisa mengetikkan sketch program Arduino di bawah ini :


//Tombol ON OFF
//oleh Hendry Kurniawan
const int LED = 12; 
const int SAKLAR = 7;
boolean ledMenyala = false;
int keadaansebelumnya = LOW;
 void setup()
{
 pinMode(LED, OUTPUT);
 pinMode(SAKLAR, INPUT);
}
 void loop()
{
 int keadaansekarang = digitalRead (SAKLAR);
 if ((keadaansekarang == HIGH) and (keadaansekarang != keadaansebelumnya))
      {
        // Membalik keadaan led menyala
        ledMenyala = not ledMenyala;
 
        //Atur LED berdasarkan nilai ledMenyala
       if(ledMenyala)
       digitalWrite(LED, HIGH);
       else
       digitalWrite(LED, LOW);
       delay(30);   //tunda sesaat
       }
// perbaharui keadaan sebelumnya
keadaansebelumnya = keadaansekarang;
}


Penjelasan program

 //Tombol ON OFF

//oleh Hendry Kurniawan

Sketch diatas merupakan sekedar catatan saja yang memberikan judul program. Catatan selalu dimulai dengan dua buah garis miring //. Catatan atau keterangan program ini tidak akan di eksekusi dalam menjalankan program.

const int LED = 12; 

const int SAKLAR = 7;

Sketch diatas adalah membuat variable kontanta Integer (bilangan bulat) yang diberi nama LED dan SAKLAR. Untuk variable LED sama saja dengan 12. Angka 12 ini merupakan nomor pin di Arduino uno yang nanti terhubung ke kutub positif (anoda) LED melalui resistor 330 ohm. Resistor ini berfungsi untuk membatasi arus menuju LED supaya lampu LED tidak cepat putus.

Untuk variable SAKLAR sama saja dengan angka  7. Angka 7 ini merupakan nomor pin Arduino yang nanti akan terhubung dengan micro switch (saklar). Kondisi saklar saat tidak di tekan selalu LOW. Kondisi ini karena pin 7 terhubung ke ground melalui resistor 3,3 Kohm. Dan pada saat saklar ditekan maka pin 7 akan berubah menjadi HIGH (5 Volt). Resistor 3,3 Kohm ini befungsi agar rangkaian tidak konslet (short) antara +5v dengan GND saat switch di tekan.

Jadi microswitch ini digunakan untuk menghidupkan LED menjadi ON dan OFF. Tekan saklar sekali nanti lampu LED ON dan kalua saklar ditekan sekali lagi maka LED akan OFF. Sehingga 1 buah saklar bisa menghidupkan dan sekaligus mematikan lampu LED.

boolean ledMenyala = false;

Variable yang kita gunakan namanya “ledMenyala” dan konstatanya yang digunakan adalah berbentuk Boolean. Dalam konstanta Boolean hanya dikenal false (salah) dan true (benar). Kondisi awal variable ledMenyala dibuat false.

int keadaansebelumnya = LOW;

Variable ini bernama “keadaansebelumnya”. Konstantanya bilangan bulat (integer). Pada kondisi awal kita beri kondisinya LOW. 

void setup()

{

 pinMode(LED, OUTPUT);

 pinMode(SAKLAR, INPUT);

}

Pada sketch voidsetup maka semua program di dalam void setup dijalankan hanya sekali saja (tidak berulang-ulang). Sehingga void setup ini cocok untuk menginisialisasi suatu pin sebagai output atau input. Pada sketch di atas kita kondisikan LED (pin 12) kita buat sebagai OUTPUT dan SAKLAR (Pin 7) kita buat sebagai INPUT.

void loop()

{

int keadaansekarang = digitalRead (SAKLAR);

Void loop merupakan program utama, karena dalam void loop ini akan dijalankan berulang-ulang.

Pada sketch terdapat variable integer yang diberi “keadaansekarang”. Isi memori pada variabel “keadaan sekarang” sama dengan nilai pembacaan pada saklar dengan menggunakan perintah “digitalRead”. Jadi pada saat saklar tidak ditekan maka kondisinya “LOW”  dan pada saat saklar di tekan maka akan berubah menjadi “HIGH”. Kondisi LOW dan HIGH pada saklar akan disimpan pada variabel “keadaansekarang”.

if ((keadaansekarang == HIGH) and (keadaansekarang != keadaansebelumnya))

Pada sketch ini menggunakan if  dan and.

Jadi perintah if ini dimaksudkan untuk melakukan perubahan keadaan LED (menyala atau mati) tidak hanya tergantung dari saklar di tekan (keadaansekarang =HIGH) melainkan juga harus memperhatikan keadaan nilai “keadaansebelumnya”. Dalam hal ini, perubahan LED hanya akan dilakukan jika saklar ditekan (HIGH) dan isi “keadaansekarang” tidak sama dengan isi “keadaansebelumnya”

// Membalik keadaan led menyala

ledMenyala = not ledMenyala;

Pada sketch diatas adalah untuk melakukan perubahan keadaan LED. Dalam hal ini, operator not akan membalik keadaan di “ledMenyala”. Kalau awalnya bernilai false, isi “ledMenyala” akan berubah menjadi true. Sebaliknya, kalua awalnya bernilai true, isi “ledMenyala” berubah menjadi false. Keadaan inilah yang menjadikan tombol tekan sebagai tombol on-off.

//Atur LED berdasarkan nilai ledMenyala

  if(ledMenyala)

digitalWrite(LED, HIGH);

else

  digitalWrite(LED, LOW);

delay(30);   //tunda sesaat

  }

Pada sketch diatas gunanya untuk membuat LED menyala dan mati berdasarkan perintah “digitalWrite”. Jadi jika “ledMenyala” = true maka LED menjadi HIGH dan jika tidak maka LED akan LOW.

// perbaharui keadaan sebelumnya

keadaansebelumnya = keadaansekarang;

Setelah lampu LED hidup atau mati maka kondisi terakhir LED (“keadaansekarang”) harus disimpan ke dalam variabel “keadaansebelumnya”.

Sehingga variabel “keadaansebelumnya”akan selalu berubah sesuai kondisi terakhir.

Setelah itu program akan looping (mengulang) dari awal lagi yaitu pada void loop.

Untuk hasil program ini bisa dilihat pada video di bawah ini :



Demikianlah pembahasan tentang membuat tombol ON OFF pada Arduino. JIka diterapakan sesungguhnya pada lampu atau peralatan listrik lainnya maka dibutuhkan modul tambahan yaitu driver relay. Output LED diganti dengan driver Relay. Dengan menggunakan relay maka saklar bisa dihubungkan ke tegangan 220 V AC.  

Setelah anda sukses maka sebaiknya lanjutkan pada materi berikutnya yaitu Arduino Part 4 "Komunikasi serial antara Arduino dengan Komputer". Selamat membaca

Posting Komentar untuk "Arduino Part 3. Tombol ON - OFF LED"