Jumat, Juli 05, 2013

Pengontrolan Led Dengan Lebih Satu Input Memakai Logika OR dan AND Menggunakan Arduino

Rangkainnya masih sama dengan pengontrolan led dengan lebih 1 input menggunakan logika OR atau AND. Sekarang kita akan mencoba memvariasikan pemakaian logika OR dan AND. Pada contoh kali ini kita akan memakai 4 buah input (inputnya masih push button), kita akan membuat pemrograman agar lampu led hidup ketika 2 di antara 4 buah tombol push button ditekan

Sketchnya adalah sebagai berikut:

int ledPin = 13;
int inPin1 = 2;
int inPin2 = 3;
int inPin3 = 4;
int inPin4 = 5;
int val1 = 0;
int val2 = 0;
int val3 = 0;
int val4 = 0;

void setup {
  pinMode(ledPin, OUTPUT);
  pinMode(inPin1, INPUT);
  pinMode(inPin2, INPUT);
  pinMode(inPin3, INPUT);
  pinMode(inPin4, INPUT);
}

void loop() {
  val1 = digitalRead(inPin1);
  val2 = digitalRead(inPin2);
  val3 = digitalRead(inPin3);
  val4 = digitalRead(inPin4);
  if ((val1 == HIGH && val2 == HIGH || val1 == HIGH && val3 == HIGH ||
     val1 == HIGH && val4 == HIGH || val2 == HIGH && val3 == HIGH ||
     val2 == HIGH && val4 == HIGH || val3 == HIGH && val4 == HIGH)) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
}


Nah sekarang teman-teman sudah bisa memvariasikannya kan...?

Oh iya, sketch yang di atas itu adalah pengontrolan led dimana led akan hidup jika MINIMAL 2 push button ditekan, berari kalau 3 push button ditekan atau 4 push button ditekan maka led akan tetap hidup, nah sekarang gimana kalau kita ingin lampu led akan hidup jika hanya 2 push button yang ditekan, jadi jika 1 push button, atau 3 push button atau 4 push button ditekan maka led akan mati. Kira-kira sketchnya seperti apa ya...?

Logikanya mudah saja, misalnya hanya untuk PB (push button) 1 dan PB2 saja akan menghidupkan led jika kedua PB itu ditekan, maka logikanya adalah led akan hidup jika PB1 bernilai HIGH, PB2 bernilai HIGH, PB3 bernilai LOW, dan PB4 bernilai LOW, dan begitu untuk seterusnya... Sketch untuk pengontrolan led dimana led akan hidup jika hanya 2 Push Button yang ditekan adalah:

int ledPin = 13;
int inPin1 = 2;
int inPin2 = 3;
int inPin3 = 4;
int inPin4 = 5;
int val1 = 0;
int val2 = 0;
int val3 = 0;
int val4 = 0;

void setup {
  pinMode(ledPin, OUTPUT);
  pinMode(inPin1, INPUT);
  pinMode(inPin2, INPUT);
  pinMode(inPin3, INPUT);
  pinMode(inPin4, INPUT);
}

void loop() {
  val1 = digitalRead(inPin1);
  val2 = digitalRead(inPin2);
  val3 = digitalRead(inPin3);
  val4 = digitalRead(inPin4);
  if ((val1 == HIGH && val2 == HIGH && val3 == LOW && val4 == LOW
     ||val1 == HIGH && val3 == HIGH && val2 == LOW && val4 == LOW
     ||val1 == HIGH && val4 == HIGH && val2 == LOW && val3 == LOW
     ||val2 == HIGH && val3 == HIGH && val1 == LOW && val4 == LOW
     ||val2 == HIGH && val4 == HIGH && val1 == LOW && val3 == LOW
     ||val3 == HIGH && val4 == HIGH && val1 == LOW && val2 == LOW)) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }
}


gak susah kan teman? tinggal perlu ketelitian aja, jadi harus teliti betul nih? ya... gak gitu-gitu amat sih, si Amat aja gak begitu... hehe... : )

Untuk lebih jelas dapat dilihat video berikut:


Oke selamat mencoba...

Assalamu 'alaikum : )

0 komentar: