Arduino Uno
Komputer + Software IDE Arduino
Switch tipe push button NO
LED
2 Resistor : 220 Ω & 10 KΩ
Bread board
Kabel jumper
Skema pengujian
Program yang akan dibuat :
Mengendalikan nyala LED dengan penekanan switch push button. Apabila ditekan LED
akan menyala dan apabila dilepas LED akan mati.
Koding programnya
1
2
3 /* --- www.nyebarilmu.com --- */
4 //Mengontrol LED dengan penekanan push button
5
6 const int PIN_2 = 2;
7 const int PIN_13 = 13;
8
9
1
0
1
1
1
2 void setup () {
1 pinMode (PIN_2, INPUT); //Deklareasi nama alias PIN_2 sebagai inputan
3 pinMode (PIN_13, OUTPUT); //Deklarasi nama alias PIN_13 sebagai outputa
1 }
4
1 void loop() {
5 int kondisiPB = digitalRead(PIN_2);
1 if (kondisiPB == HIGH) //kondisi jika pushbutton ditekan
6 digitalWrite(PIN_13, HIGH);
1 else digitalWrite(PIN_13, LOW);
7 delay (1000);
1 }
8
1
9
2
0
2
1
Memahami Sketch program
void setup () {
pinMode (PIN_2, INPUT); //Deklareasi nama alias PIN_2 sebagai inputan
pinMode (PIN_13, OUTPUT); //Deklarasi nama alias PIN_13 sebagai outputa
}
void loop() {
int kondisiPB = digitalRead(PIN_2);
if (kondisiPB == HIGH) //kondisi jika pushbutton ditekan
digitalWrite(PIN_13, HIGH);
else digitalWrite(PIN_13, LOW);
delay (1000);
}
int kondisiPB = digitalRead(PIN_1); > merupakan pembacaan kondisi push button yang dimana dipasang
sebagai pull up (cek disini resistor), apabila ditekan akan aktif berlogika HIGH atau 1, sedangkan kondisi
normal berlogika LOW atau o
Pernyataan kondisi “if” yang menentukan output ke LED
if (kondisiPB == HIGH)
digitalWrite(PIN_13, HIGH);
else
digitalWrite(PIN_13, LOW);
Yang artinya apabila kondisiPB berlogika HIGH maka output di PIN_13 berlogika HIGH juga yang dimana
akan ditandai dengan nyalanya LED, sedangkan jika berlogika LOW maka output di PIN_13 juga berlogika
LOW juga
Tutorial lanjutan teknik debouncing push button
Pada tutorial ini yang digunakan untuk mengurangi kesalahan pembacaan penekanan push button.
Koding programnya
/* www.nyebarilmu.com */
//teknik debouncing push button
long lastDebounceTime = 0;
long debounceDelay = 50;
void setup() {
//set mode pin input atau output
pinMode(ledPin_13, OUTPUT);
pinMode(buttonPin_2, INPUT);
}
void loop() {
//Contoh keadaan tombol - apakah ditekan atau tidak?
buttonState = digitalRead(buttonPin_2);
//Jika tombol ditekan, mari kita matikan LED dari "off to on" atau "on to off"
if ( (buttonState == HIGH) && (ledState < 0) ) {
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/* www.nyebarilmu.com */
//teknik debouncing push button
int buttonState = LOW; //kondisi awal push button saat tidak ditekan "LOW", sedangkan saat ditekan
"HIGH"
int ledState = -1; //Kondisi LED jika nilai "-" > "OFF", sedangkan nilai "+" > "ON"
long lastDebounceTime = ;
long debounceDelay = 50;
void setup() {
//set mode pin input atau output
pinMode(ledPin_13, OUTPUT);
pinMode(buttonPin_2, INPUT);
}
void loop() {
//Contoh keadaan tombol - apakah ditekan atau tidak?
buttonState = digitalRead(buttonPin_2);
//Jika tombol ditekan, mari kita matikan LED dari "off to on" atau "on to off"
if ( (buttonState == HIGH) && (ledState < ) ) {
#іnсludе <Buttоn.h>
#dеfіnе BUTTON_PIN 2
#dеfіnе PULLUP truе
#dеfіnе INVERT truе
#dеfіnе DEBOUNCE_MS 20
#dеfіnе LED_PIN 13
vоіd ѕеtuр(vоіd)
{
ріnMоdе(LED_PIN, OUTPUT);
}
vоіd lоор(vоіd)
{
mуBtn.rеаd();
іf (mуBtn.wаѕRеlеаѕеd()) { //If thе buttоn wаѕ rеlеаѕеd, сhаngе thе LED ѕtаtе
lеdStаtе = !lеdStаtе;
dіgіtаlWrіtе(LED_PIN, lеdStаtе);
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#іnсludе <Buttоn.h>
#dеfіnе BUTTON_PIN 2
#dеfіnе PULLUP truе
#dеfіnе INVERT truе
#dеfіnе DEBOUNCE_MS 20
#dеfіnе LED_PIN 13
vоіd ѕеtuр(vоіd)
{
ріnMоdе(LED_PIN, OUTPUT);
}
vоіd lоор(vоіd)
{
mуBtn.rеаd();
іf (mуBtn.wаѕRеlеаѕеd()) { //If thе buttоn wаѕ rеlеаѕеd, сhаngе thе LED ѕtаtе
lеdStаtе = !lеdStаtе;
dіgіtаlWrіtе(LED_PIN, lеdStаtе);
}
}
Program diatas hampir sama dengan kondisi tutorial kedua, apabila ditekan sekali led builtin menyala,
ditekan kedua led mati. saat tidak ditekan "LOW", sedangkan saat ditekan "HIGH"
int ledState = -1; //Kondisi LED jika nilai "-" > "OFF", sedangkan nilai "+" > "ON"
long lastDebounceTime = ;
long debounceDelay = 50;
void setup() {
//set mode pin input atau output
pinMode(ledPin_13, OUTPUT);
pinMode(buttonPin_2, INPUT);
}
void loop() {
//Contoh keadaan tombol - apakah ditekan atau tidak?
buttonState = digitalRead(buttonPin_2);
//Jika tombol ditekan, mari kita matikan LED dari "off to on" atau "on to off"
if ( (buttonState == HIGH) && (ledState < ) ) {