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 ...
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.
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.
4. Tahap Pengujian, jalankan Simulasi Proteusnya teman.
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
}
}
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);
}
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);
}
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 ...
EmoticonEmoticon