Kamis, Maret 09, 2017

Simulasi Push Button LED Arduino dengan ISIS Proteus 7

Simulasi Push Button LED Arduino dengan ISIS Proteus 7


Hai teman-teman, berjumpa kembali bersama saya mas har dalam postingan kali ini yang akan membahas tentang Arduino, sebuah mikrokontroller pintar yang dapat melakukan hal-hal keren yang pastinya buat ketagihan deh. Oke kali ini kita akan memulai bab Arduino dengan belajar Push Button, oke here we go ...


Yuk kita mulai lab Proteus nya, ...

1. Buka Software ISIS Proteus.
2. Buatlah rangkaian seperti gambar berikut ...

Simulasi Push Button LED Arduino dengan ISIS Proteus 7


3. Kemudian buatlah program seperti berikut ini pada arduino IDE.
const int switchPin = 2;
const int ledPin = 11;
int state;
int lastState;
int buttonCounter = 0;
void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(switchPin, INPUT);
}
void loop() {
  state = digitalRead(switchPin);
    if (state != lastState) {
      if (state == LOW) {
      buttonCounter++;
      }
      lastState = state;
    }
  if (buttonCounter % 5 == 0) {
      digitalWrite(ledPin, LOW);
      delay(100);
      } else digitalWrite(ledPin, HIGH);
}

*Note: Kode tersebut akan membuat LED menyala ketika push button dipencet sebanyak 5 kali.

Verify kode tersebut kemudian cari kode berikut yang dikotak merah.

Verify kode tersebut kemudian cari kode berikut yang dikotak merah.

C:\Users\HARDIY~1\AppData\Local\Temp\arduino_build_346670/Blink.ino.hex

Copy paste kode tersebut ke Arduino di Proteus kita. Klik 2x pada Arduino lalu isikan kode tersebut di Program File.

Copy paste kode tersebut ke Arduino di Proteus kita. Klik 2x pada Arduino lalu isikan kode tersebut di Program File.


4. Tahap Pengujian, jalankan Simulasi Proteusnya teman.

Tahap Pengujian, jalankan Simulasi Proteusnya teman.


UPDATE

Berikut beberapa source code dan output nya ....

1. Push button seperti fungsi senter lampu.

int ledPin = 11; // choose the pin for the LED
int inPin = 2;   // choose the input pin (for a pushbutton)
int val = 0;     // variable for reading the pin status
void setup() {
  pinMode(ledPin, OUTPUT);  // declare LED as output
  pinMode(inPin, INPUT);    // declare pushbutton as input
}
void loop(){
  val = digitalRead(inPin);  // read input value
  if (val == HIGH) {         // check if the input is HIGH (button released)
    digitalWrite(ledPin, HIGH);  // turn LED ON
  } else {
    digitalWrite(ledPin, LOW);  // turn LED OFF
  }
}

Push button seperti fungsi senter lampu

2. Push button dengan fungsi toggle.

const int switchPin = 2;
const int ledPin = 13;
int state;
int lastState;
int ledState;
void setup() {
  pinMode(ledPin, OUTPUT);
  pinMode(switchPin, INPUT);
}
void loop() {
  state = digitalRead(switchPin);
  if (state != lastState) {
      if (state == HIGH) {
        if (ledState == HIGH) ledState = LOW;
        else ledState = HIGH;
      }
  lastState = state;
  }
  digitalWrite(ledPin, ledState);
  delay(20);
}


Push button dengan fungsi toggle


3. Push button dengan fungsi modality, jadi ketika kita memencet tombol 4 kali, maka lampu akan menyala 4 kali.

const int switchPin = 2;
const int ledPin = 11;
int state = 0;
int lastState = 0;
int buttonCounter = 0;
unsigned long startTime = 0;
unsigned long interval = 500;
void setup() {
pinMode(ledPin, OUTPUT);
pinMode(switchPin, INPUT);
}
void loop() {
  state = digitalRead(switchPin);
    if(state != lastState) {
      if (state == HIGH) {
      buttonCounter++;
      startTime = millis();
      }
    }
   lastState = state;
   if(startTime + interval < millis()) {
     switch (buttonCounter) {
      case 1:
      digitalWrite(ledPin, HIGH);
      delay(interval);
      digitalWrite(ledPin, LOW);
      delay(interval);
      break;
      case 2:
      for (int i=0; i<2; i++) {
      digitalWrite(ledPin, HIGH);
      delay(interval/2);
      digitalWrite(ledPin, LOW);
      delay(interval/2);
      }
      break;
      case 3:
      for (int i=0; i<3; i++) {
      digitalWrite(ledPin, HIGH);
      delay(interval/3);
      digitalWrite(ledPin, LOW);
      delay(interval/3);
      }
      break;
      case 4:
      for (int i=0; i<4; i++) {
      digitalWrite(ledPin, HIGH);
      delay(interval/4);
      digitalWrite(ledPin, LOW);
      delay(interval/4);
      }
    }
buttonCounter = 0;
}
delay(20);
}

Push button dengan fungsi modality, jadi ketika kita memencet tombol 4 kali, maka lampu akan menyala 4 kali.

Nah, itulah materi lab arduino kita hari ini tentang "Simulasi Push Button LED Arduino dengan ISIS Proteus 7". Semoga bermanfaat ya, sampai jumpa di materi berikutnya ...

"Bagilah ilmu yang kau punya, walau satu ayat"


EmoticonEmoticon