Kamis, 29 Desember 2016

MENYALAKAN 2 LED DENGAN SWITCH (DIGITAL INPUT ARDUINO)

Kita masuk ke bagian ke dua ya pren. gimana kalau satu saklar dengan dua LED. skema rangkaiannya seperti di bawah ini
Kondisinya begini. Switch nya di pencet, LED1 nyala, Switch di lepas, LED2 yang nyala. Gimana cara bikin sketch nya tu ya?? Yuk Uda jelasin....

const int switchpin = 1;   //menetapkan angka 1 untuk switchpin
const int LED1 = 2;         //menetapkan angka 2 untuk LED1
const int LED2 = 3;         //menetapkan angak 3 untuk LED2
int nilaiswitch = 0;          //memasukkan nilai 0 untuk nilaiswitch

void setup()
{
  pinMode (switchpin, INPUT);   //switchpin ditetapkan sebagai input pada kaki 1 arduino
  pinMode (LED1, OUTPUT);     //LED1 ditetapkan sebagai output pada kaki 2 arduino
  pinMode (LED2, OUTPUT);     //LED2 ditetapkan sebagai output pada kaki 3 arduino
}

void loop()
{
  nilaiswitch = digitalRead (switchpin);   //nilaiswitch sama dengan nilaipada switchpin
  if (nilaiswitch == 1)                               //kalau nilaiswitch 5volt (saat switchpin di tekan)
  {
    digitalWrite(LED1, HIGH);                 //beri logika 1 pada LED1
  }
  else                                                         //kalau kondisi tidak seperti diatas
  {
    digitalWrite(LED2, HIGH);                 //beri logika 1 pada LED2
  }        
  delay(50);
}

Begitu aja tuh, mudah kan, hehehe.... 
Penjelasannya begini nih. 

const int switchpin = 1;   //menetapkan angka 1 untuk switchpin
const int LED1 = 2;         //menetapkan angka 2 untuk LED1
const int LED2 = 3;         //menetapkan angak 3 untuk LED2
int nilaiswitch = 0;          //memasukkan nilai 0 untuk nilaiswitch

Seperti bahasan sebelumnya,const int adalah pemberian nilai tetap pada sebuah label. jadi switchpin adalah label yang di tetapkan mewakili angka 1. Begitu juga LED1 dan LED2. Untuk label nilaiswitch, nilainya dapat di robah seiring berjalannya program.

 pinMode (switchpin, INPUT);   //switchpin ditetapkan sebagai input pada kaki 1 arduino
 pinMode (LED1, OUTPUT);     //LED1 ditetapkan sebagai output pada kaki 2 arduino
 pinMode (LED2, OUTPUT);     //LED2 ditetapkan sebagai output pada kaki 3 arduino

switchpin yang mewakili angka 1 tadi kita set sebagai input, atau sederhananya pin 1 sebagai input.
LED1 yang mewakili angka 2 tadi kita set sebagai output, atau bahasa lainnya pin 2 sebagai output.
LED2 yang mewakili angka 3 tadi kita set sebagai output, atau .... pin 3 sebagai output.

void loop()
{
  nilaiswitch = digitalRead (switchpin);   //nilaiswitch sama dengan nilaipada switchpin
  if (nilaiswitch == 1)                               //kalau nilaiswitch 5volt (saat switchpin di tekan)
  {
    digitalWrite(LED1, HIGH);                 //beri logika 1 pada LED1
  }

void loop() adalah pernyataan bahwa dari sinilah program utama di kerjakan secara terus menerus.
nilaiswitch nilainya yang bisa di robah itu di dapat dari membaca logika switchpin.
if (nilaiswitch == 1) jika nilaiswitch logikanya 1, lakukan apa yang ada dalam kurung kurawal
digitalWrite(LED1, HIGH); kirim logika 1 ke LED1 (HIGH atau 5 volt)

 else                                                         //kalau kondisi tidak seperti diatas
  {
    digitalWrite(LED2, HIGH);                 //beri logika 1 pada LED2
  }        
  delay(50);
}

Kalau kondisi yang di atas tadi tidak terpenuhi maka lakukan else. Lha logika yang mana ya Uda? Logika yang ada setelah if. Jadi kalau nilaiswitchnya berlogika "0", lakukan instruksi di dalam kurung kurawal, tulis logika HIGH atau 1 pada pin 3 (LED2). delay(50); untuk memberi jeda arduino untuk melakukan instruksi di atas. hal ini berguna untuk stabilitas proses pada arduinonya.

Sepertinya tambah jelas ya setelah ada contoh yang kedua ini. Oh iya skema rangkaiannya menyusul ya pren. Kalau ada pertanyaan, silahkan tulis di kolom komentar, Uda dengan senang menjawabnya


Tidak ada komentar: