Anda di halaman 1dari 10

Tutorial Arduino mengakses Switch

Bahan yang perlu disiapkan antara lain:

 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

1. 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
2. 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
1  
2  
3 /* www.nyebarilmu.com */
4 //teknik debouncing push button
5  
6 //deklarasi variabel data
7 const int ledPin_13 = 13; //nama alias pin 13 dengan nama ledPin
8 const int buttonPin_2 = 2; //nama alias pin 2 dengan nama buttonPin
9
1 int buttonState = LOW; //kondisi awal push buttonTutorial Arduino mengakses Switch
0 Bahan yang perlu disiapkan antara lain:
1
1 Arduino Uno
1 Komputer + Software IDE Arduino
2 Switch tipe push button NO
1 LED
3 2 Resistor : 220 Ω & 10 KΩ
1 Bread board
4 Kabel jumper
1
5
1 Skema pengujian
6
1
7
1
Program yang akan dibuat :
8
1
Mengendalikan nyala LED dengan penekanan switch push button. Apabila ditekan LED akan menyala dan
9
apabila dilepas LED akan mati.
2
0
Koding programnya
2
1
2
2
/* --- www.nyebarilmu.com --- */
2
//Mengontrol LED dengan penekanan push button
3
2
const int PIN_2 = 2;
4
const int PIN_13 = 13;
2
5
void setup () {
2
pinMode (PIN_2, INPUT); //Deklareasi nama alias PIN_2 sebagai inputan
6
pinMode (PIN_13, OUTPUT); //Deklarasi nama alias PIN_13 sebagai outputa
2
}
7
2
void loop() {
8
int kondisiPB = digitalRead(PIN_2);
2
if (kondisiPB == HIGH) //kondisi jika pushbutton ditekan
9
digitalWrite(PIN_13, HIGH);
3
else digitalWrite(PIN_13, LOW);
0
delay (1000);
3
}
1
3
1
2
2
3
3
3
4
3
5
4
6
3
7
5
8
3 9
6 10
3 11
7 12
3 13
8 14
3 15
9 16
4 17
0 18
4 19
1 20
4 21
2
4
3
/* --- www.nyebarilmu.com --- */
4
//Mengontrol LED dengan penekanan push button
4

const int PIN_2 = 2;


const int PIN_13 = 13;

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);
}

Memahami Sketch program

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

//deklarasi variabel data


const int ledPin_13 = 13; //nama alias pin 13 dengan nama ledPin
const int buttonPin_2 = 2; //nama alias pin 2 dengan nama buttonPin
<div style="clear:both; margin-top:0em; margin-bottom:1em;"><a
href="https://www.nyebarilmu.com/tutorial-arduino-mengakses-sensor-hujan/" target="_blank"
class="u131a7b5714b05d2cdf02c4ecbc362879"><!-- INLINE RELATED POSTS 1/1 //--><style>
.u131a7b5714b05d2cdf02c4ecbc362879 { padding:0px; margin: 0; padding-top:1em!important;
padding-bottom:1em!important; width:100%; display: block; font-weight:bold; background-
color:#ECF0F1; border:0!important; border-left:4px solid #16A085!important; text-decoration:none; }
.u131a7b5714b05d2cdf02c4ecbc362879:active, .u131a7b5714b05d2cdf02c4ecbc362879:hover
{ opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; text-decoration:none; }
.u131a7b5714b05d2cdf02c4ecbc362879 { transition: background-color 250ms; webkit-transition:
background-color 250ms; opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; }
.u131a7b5714b05d2cdf02c4ecbc362879 .ctaText { font-weight:bold; color:#3498DB; text-
decoration:none; font-size: 16px; } .u131a7b5714b05d2cdf02c4ecbc362879 .postTitle { color:#141414;
text-decoration: underline!important; font-size: 16px; } .u131a7b5714b05d2cdf02c4ecbc362879:hover
.postTitle { text-decoration: underline!important; } </style><div style="padding-left:1em; padding-
right:1em;"><span class="ctaText">Baca juga :</span> <span class="postTitle">Tutorial Arduino
Mengakses Sensor Hujan</span></div></a></div>
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 = 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);

//setting a time buffer untuk menyaring adanya gangguan


if ( (millis() - lastDebounceTime) > debounceDelay) {

//Jika tombol ditekan, mari kita matikan LED dari "off to on" atau "on to off"
if ( (buttonState == HIGH) && (ledState < 0) ) {

digitalWrite(ledPin_13, HIGH); //turn LED on


ledState = -ledState; //Sekarang LED menyala, kita perlu mengubah keadaan
lastDebounceTime = millis();
}
else if ( (buttonState == HIGH) && (ledState > 0) ) {

digitalWrite(ledPin_13, LOW); //matikan LED


ledState = -ledState; //Sekarang LED dimatikan, kita perlu mengubah keadaan
lastDebounceTime = millis();
}
}
}

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

//deklarasi variabel data


const int ledPin_13 = 13; //nama alias pin 13 dengan nama ledPin
const int buttonPin_2 = 2; //nama alias pin 2 dengan nama buttonPin

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);

//setting a time buffer untuk menyaring adanya gangguan


if ( (millis() - lastDebounceTime) > debounceDelay) {

//Jika tombol ditekan, mari kita matikan LED dari "off to on" atau "on to off"
if ( (buttonState == HIGH) && (ledState < ) ) {

digitalWrite(ledPin_13, HIGH); //turn LED on


ledState = -ledState; //Sekarang LED menyala, kita perlu mengubah keadaan
lastDebounceTime = millis();
}
else if ( (buttonState == HIGH) && (ledState > ) ) {

digitalWrite(ledPin_13, LOW); //matikan LED


ledState = -ledState; //Sekarang LED dimatikan, kita perlu mengubah keadaan
lastDebounceTime = millis();
}
}
}

Tutorial Ketiga menggunakan library


Library yang dibutuhkan : Filenya ini

Pеlеtаkаn Lіbrаrу раdа mаѕіng – mаѕіng Oреrаtіоn Sуѕtеm


PC (Wіndоwѕ) : Prоgrаm fіlе(x86)/Arduіnо/ lіbrаrіеѕ
Mас : (hоmе dіrесtоrу)/Aррlісаtіоnѕ/Arduіnо (Shоw Pасkаgе Cоntеnt)/Cоntеntѕ/Jаvа/Lіbrаrіеѕ
Lіnux : (hоmе dіrесtоrу)/ѕkеtсhbооk/lіbrаrіеѕ

#і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

Buttоn mуBtn(BUTTON_PIN, PULLUP, INVERT, DEBOUNCE_MS);


bооlеаn lеdStаtе;

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

Buttоn mуBtn(BUTTON_PIN, PULLUP, INVERT, DEBOUNCE_MS);


bооlеаn lеdStаtе;

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);

  //setting a time buffer untuk menyaring adanya gangguan


  if ( (millis() - lastDebounceTime) > debounceDelay) {

    //Jika tombol ditekan, mari kita matikan LED dari "off to on" atau "on to off"
    if ( (buttonState == HIGH) && (ledState < ) ) {

      digitalWrite(ledPin_13, HIGH); //turn LED on


      ledState = -ledState; //Sekarang LED menyala, kita perlu mengubah keadaan
      lastDebounceTime = millis();
    }
    else if ( (buttonState == HIGH) && (ledState > ) ) {

      digitalWrite(ledPin_13, LOW); //matikan LED


      ledState = -ledState; //Sekarang LED dimatikan, kita perlu mengubah keadaan
      lastDebounceTime = millis();
    }
  }
}
 

Tutorial Ketiga menggunakan library


Library yang dibutuhkan :  Filenya ini

Pеlеtаkаn Lіbrаrу раdа mаѕіng – mаѕіng Oреrаtіоn Sуѕtеm


 PC (Wіndоwѕ) : Prоgrаm fіlе(x86)/Arduіnо/ lіbrаrіеѕ
 Mас : (hоmе dіrесtоrу)/Aррlісаtіоnѕ/Arduіnо (Shоw Pасkаgе
Cоntеnt)/Cоntеntѕ/Jаvа/Lіbrаrіеѕ
 Lіnux : (hоmе dіrесtоrу)/ѕkеtсhbооk/lіbrаrіеѕ
1
2
3
4
5
6
7
8
9
1
 
0
 
1
#іnсludе <Buttоn.h>
1
#dеfіnе BUTTON_PIN 2
1
#dеfіnе PULLUP truе
2
#dеfіnе INVERT truе
1
 
3
#dеfіnе DEBOUNCE_MS 20
1
#dеfіnе LED_PIN 13
4
 
1
Buttоn mуBtn(BUTTON_PIN, PULLUP, INVERT, DEBOUNCE_MS);
5
bооlеаn lеdStаtе;
1
 
6
vоіd ѕеtuр(vоіd)
1
{
7
ріnMоdе(LED_PIN, OUTPUT);
1
}
8
 
1
vоіd lоор(vоіd)
9
{
2
mуBtn.rеаd();
0
 
2
іf (mуBtn.wаѕRеlеаѕеd()) { //If thе buttоn wаѕ rеlеаѕеd, сhаngе thе LED ѕtаtе
1
lеdStаtе = !lеdStаtе;
2
dіgіtаlWrіtе(LED_PIN, lеdStаtе);
2
}
2
}
3
 
2
4
2
5
2
6
2
7
2
8
Program diatas hampir sama dengan kondisi tutorial kedua, apabila ditekan sekali led
builtin menyala, ditekan kedua led mati.

Anda mungkin juga menyukai