Proyek 2 : Mengendalikan LED dengan Tombol/Tactile Switch

Assalamualaikum… apa kabarnya nih sobat arduino, semoga selalu sehat dan selalu meningkatkan belajar kita, dengan moto jangan puas dengan apa yang kita dapatkan sekarang, belajar dan terus belajar lagi… hehe.. semangat banget.

Percobaan kita kali ini (masih yang sederhana) adalah Mengendalikan LED dengan Tombol/Tactile Switch simple banget ya… ini merupakan rangkaian dasar dalam mempelajari arduino.
Komponen yang dibutuhkan dalam proyek ini adalah sebagai berikut :

Arduino Leonardo 1 unit
Led warna 1 unit
Saklar tactile switch 1 unit
Resistor 220/270/330 ohm 1 unit
Resistor 22k ohm 1 unit
Papan breadboard 1 unit
Kabel penghubung secukupnya
Pin-pin yang digunakan adalah sbb:
Pin 7 = input saklar
Pin 12 = output Led
Gambar rangkaian/board

Untuk cara kerja rangkaiannya adalah selama saklar ditekan maka lampu led akan menyala jika tidak ditekan lampu akan mati.

Berikut ini source kode programnya :
// tombol - mengontrol LED dengan tombol tekan

const int PIN_7  = 7;
const int PIN_12 = 12;

void setup() {
  pinMode(PIN_7, INPUT);
  pinMode(PIN_12, OUTPUT);
}

void loop() {
  int keadaanTegangan = digitalRead(PIN_7);

  if (keadaanTegangan == HIGH)
    digitalWrite(PIN_12, HIGH);
  else
    digitalWrite(PIN_12, LOW); 
   
  delay(1000);
}


Dari program diatas dapat kita variasikan konsep penekanan tombolnya yaitu led akan menyala jika saklar ditekan satu kali dan akan mati jika saklar ditekan satu kali lagi (saklar on dan off). Berikut ini sketch programnya :

 // tombol2 - mengontrol LED dengan tombol tekan
//           dan berfungsi sebagai tombol on-off 
//           (Versi 1)

const int PIN_7  = 7;
const int PIN_12 = 12;

boolean ledMenyala = false;

void setup() {
  pinMode(PIN_7, INPUT);
  pinMode(PIN_12, OUTPUT);
  digitalWrite(PIN_12, LOW); 
}

void loop() {
  int keadaanTegangan = digitalRead(PIN_7);

  if (keadaanTegangan == HIGH) {
    ledMenyala = not ledMenyala;

    if (ledMenyala)
      digitalWrite(PIN_12, HIGH);
    else
      digitalWrite(PIN_12, LOW); 
  }
}


Pada percobaan diatas saklar on off tidak berfungsi dengan baik jika kita tekan dengan cepat, ini karena ada efek memantul karena terjadi on-off beberapa kali. Maka diperlukan variable lagi seperti contoh sketch dibawah ini :
// tombol3 - mengontrol LED dengan tombol tekan
//           dan berfungsi sebagai tombol on-off 
//           (Versi 2)

const int PIN_7  = 7;
const int PIN_12 = 12;

boolean ledMenyala = false;
int keadaanSebelumnya = LOW;

void setup() {
  pinMode(PIN_7, INPUT);
  pinMode(PIN_12, OUTPUT);
}

void loop() {
  int keadaanSekarang = digitalRead(PIN_7);

  if ((keadaanSekarang != keadaanSebelumnya) &&
      (keadaanSekarang == HIGH)){
    ledMenyala = not ledMenyala;

    if (ledMenyala)
      digitalWrite(PIN_12, HIGH);
    else
      digitalWrite(PIN_12, LOW); 
     
    delay(30); 
  }
 
  keadaanSebelumnya = keadaanSekarang;
}



Dari ketiga percobaan diatas bisa dilihat dalam video youtube dibawah ini dari ketiga percobaan yang telah kami buat, lebih kurangnya saya mohon maaf, kedepan akan lebih diperbaiki lagi, sekian dulu percobaan arduino kita kali ini semoga bermanfaat khususnya untuk para pemula/newbie.

Salam Arduino.


Recommended Posts :

0 komentar:

Posting Komentar - Back to Content

:)) ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} :)] ~x( :-t b-( :-L x( =))