Sebelumnya kita telah mempelajari Toogle On/Off namun masih ada kekurangan dalam codingan tersebut, saat kita melakukan pemencetan tombol ada sebuah deboucing atau efek getaran pada tombol. Untuk menghilangkan efek tersebut maka di butuhkan sebuah logika baru. Mari kita simak codingan berikut :
//efek menghilangkan debouncing
int switchP = 8; //pin switch
int led = 13 ;//pin LED
boolean lastButton = LOW;//posisi switch awal
boolean currentButton = LOW;//posisi switch sekarang
boolean ledOn = false ; //LED awal padam
void setup ()
{
pinMode(switchP, INPUT);
pinMode(led, OUTPUT);
}
boolean debounce(boolean last)
{
boolean current = digitalRead(switchP);
if(last != current)
{
delay(5);
current = digitalRead (switchP);
}
return current;
}
void loop ()
{
currentButton = debounce(lastButton);
if(lastButton == LOW && currentButton == HIGH)
{
ledOn = !ledOn;
}
lastButton = currentButton;
digitalWrite(led, ledOn);
}
Seperti itulah codingannya, dan selamat mencoba. semoga bermanfaat dan jangan lupa nantikan sebuah Tutorial Arduino yang menarik dan sederhada :D
0 komentar:
Posting Komentar