P2
P2
INTERFACE
NOMOR PERCOBAAN
: P2
JUDUL PERCOBAAN
: Antarmuka Switch
KELAS / GROUP
: TT 4-A / 3
NAMA PRAKTIKAN
: 1. Andhika Kurniawan
2. Ginta Aulia Handayani
3. Salman
4. Sarah Hafidzah
P2 : ANTARMUKA SWITCH
PERCOBAAN P2.1 On/Off
A. DIAGRAM SKEMATIK
void
setup()
{
pinMode(ledPin,OUTPUT);
pinMode(switchPin,INPUT);
} void loop() {
val =
digitalRead(switchPin);
if
(val==LOW)
{
);
}
{
);
}
}
digitalWrite(ledPin,HIGH
else
digitalWrite(ledPin,LOW
C.II ANALISA
Praktikum program P2.1 On/Off bertujuan untuk menghidupkan dan
mematikan LED dengan push button switch. Program perintah int
ledPin=13; yaitu pin 13 berfungsi sebagai terhubungan arduino dengan
LED, sedangkan int switchPin=2; yaitu pin 2 berfungsi sebagai
terhubungnya arduino dengan switch . Selanjutnya memasukan perintah
void setup() berfungsi untuk melakukan mengatur inisialisasi pin
INPUT dan OUTPUT pada percobaan ini. saat program ini dimulai dengan isi
perintah program pinMode (ledPin,OUTPUT); maka led berfungsi
sebagai OUTPUT, sedangkan pinMode(switchPin,INPUT); maka
pin 2 yaitu switch sebagai INPUT. Selanjutnya void loop() perintah
program ini berfungsi sebagai melakukan run secara terus menerus/berulang ulang,
perintah
program
val=digital
Read(switchPin);
berfungsi untuk membaca dan menyimpan posisi switchnya saat LOW atau
HIGH. Untuk memeriksa apakah switchnya closed(LOW) menggunakan
program perintah if(val==LOW) , saat switch closed maka led akan ON
C. ANALISA SKETCH
C1 SKETCH
int ledPin=9;
int switchPin=2;
int val=0; int
fadeVal=0; void
setup()
{
pinMode(ledPin,OUTPUT);
pinMode(switchPin, INPUT);
} void loop
()
{
val=digitalRead(switchPin
);
if(val==HIGH)
{
digitalWrite(ledPin,LOW);
delay(50);
digitalWrite(ledPin, HIGH);
delay(50);
}
else
{
for(fadeVal=0;fadeVal<=255;fadeVal+=
5)
{
analogWrite(ledPin,fadeVal);
delay(10);
}
for(fadeVal=255;fadeVal>=0;fadeVal-=5)
{
);
analogWrite(ledPin,fadeVal
}
}
}
C2 ANALISA
Praktikum
program
P2.2
Blinking/Fading
bertujuan
untuk
Program perintah
C. ANALISA SKETCH
C.I SKETCH
// Toggle switch /*the
circuit :
*LED attached from pin 13 to ground
*pushbutton attached to pin 8 from +5V
*10K resistor attached to pin 8 from ground
*/ int switchPin = 8; int
ledPin = 13; boolean
lastButton = LOW; boolean
ledOn = false;
void
setup()
{
pinMode(switchPin,
INPUT);
pinMode(ledPin,OUTPUT);
} void
loop() {
if(digitalRead(switchPin) == HIGH && lastButton ==
LOW)
{
ledOn = !ledOn;
lastButton = HIGH;
}
else
{
lastButton =
digitalRead(switchPin);
}
digitalWrite(ledPin,ledOn);
}
C.II ANALISA
Praktikum program P2.3 Toggle On/Off bertujuan untuk mengendalikan
LED secara bergantian dengan push button sebagai toggle switch. Toggle
On/Off menggunakan pin 8 sebagai pin push button switch dan 13 sebagai LED.
Untuk perintah boolean lastButton=LOW sebagai nilai awal posisi
switch dan untuk boolean ledOn=false sebagai nilai awal LED. Pada
program ini juga terdapat program perintah void
setup()
dan void
loop().
Saat switchPin HIGH dan lastButton LOW maka akan menjadi nilai awal led,
kemudian jika lastButton HIGH nilai posisi button berubah maka nilai lednya akan
berkebalikan dengan nilai awal. Karena tidak adanya jeda sehingga terjadi efek
getaran kontak switch dimana menyalakan dan mematikannya tidak tentu berapa
kali tekan switchnya.
PERCOBAAN P2.4 Toggle On/Off (debouncing)
A. DIAGRAM SKEMATIK
C. ANALISA SKETCH
C.I SKETCH
int switchPin = 8; int
ledPin = 13; boolean
lastButton = LOW; boolean
currentButton= LOW; boolean
ledOn = false;
void setup()
{
pinMode(switchPin,INPUT); // switchPin sebagai input
pinMode(ledPin,OUTPUT); // ledpin sebagai output
}
//definisi dan deklarasi fungsi debounce()
boolean debounce(boolean last)
{
boolean current = digitalRead(switchPin);
if (last != current)
{
);
delay(5
current = digitalRead(switchPin);
}
return
current; }
void loop() {
currentButton= debounce(lastButton);
if(lastButton == LOW && currentButton==HIGH)
{
ledOn=!ledOn;
}
lastButton = currentButton;
digitalWrite(ledPin,ledOn);
}
C.II ANALISA
Praktikum program P2.4 Toggle On/Off (with Debouncing) bertujuan untuk
mengendalikan LED On/Off secara bergantian dengan push button sebagai toggle
switch yang dilengkapi dengan debouncing untuk menghilangkan efek getaran
kontak switch. Pin 8 berfungsi sebagai switchPin dan pin 13 berfungsi sebagai
ledPin. Pada program ini ditambahkan posisi switch sekarang dengan perintah
berikut boolean currenButton=LOW dan boolean ledOn=false
menandakan LED awal padam. Kemudian dilengkapi dengan perintah debouncing
dan diberikan delay (5 ms). Untuk program P2.4 ini saat menyalakan dan
mematikan lednya sudah beraturan sehingga menghilangkan efek getaran kontak
switch.
PERCOBAAN P2.5
\
satu buah LED pada rangkaian Fading/Blinking. Pada praktikum ini
menggunakan 3 pin Arduino yang digunakan sebagai INPUT dan OUTPUT. Pin
yang terhubung dengan LED sebagai OUTPUT. Pin yang terhubung dengan
switch sebagai INPUT. Prinsip kerjanya Lampu Mobil Polisi adalah ketika Push
Button dalam keadaan closed, maka LED akan menyala Blinking. Dan pada saat
Push Button dalam keadaan Open, maka LED akan menyala fading. Dan LED
akan menyala berganti gantian sesuai dengan program perintah yang digunakan.
C. ANALISA SKETCH
C.I SKETCH
ledPin=9;
switchPin=2;
ledPin2=10;
val=0;
fadeVal=0;
int
int
int
int
int
void setup() {
pinMode(ledPin,OUTPUT);
pinMode(switchPin, INPUT);
pinMode(ledPin2,OUTPUT);
} void loop
() {
val=digitalRead(switchPin);
if(val==HIGH)
{
digitalWrite(ledPin,LOW);
delay(50);
digitalWrite(ledPin, HIGH);
delay(50);
digitalWrite(ledPin2,LOW);
delay(50);
digitalWrite(ledPin2, HIGH);
delay(50);
}
else
{
for(fadeVal=0;fadeVal<=255;fadeVal+=5)
{
analogWrite(ledPin,fadeVal);
delay(10);
}
for(fadeVal=255;fadeVal>=0;fadeVal-=5)
{
analogWrite(ledPin,fadeVal);
{
for(fadeVal=0;fadeVal<=255;fadeVal+=5)
{
analogWrite(ledPin2,fadeVal);
delay(10);
}
for(fadeVal=255;fadeVal>=0;fadeVal-=5)
{
analogWrite(ledPin2,fadeVal);
}
}
}
}
}
C.II ANALISA
Praktikum
program
P2.2
Blinking/Fading
bertujuan
untuk
dengan
format
delay(50);.
Perintah
program
switch open maka berubah fungsi menjadi fading dengan perintah else.
KESIMPULAN
Pin 13 merupakan pin output yang akan dihubungkan ke kaki anoda LED Pin 2
merupakan pin yang akan dihubungkan pada push button atau switch.
void setup()diartikan bahwa program yang telah di setup akan berjalan hanya
sekali selama program berjalan, sedangkan void loop() diartikan sebagai
pengulangan program atau menjalankan program secara loop atau perputar.
Jika switch close maka lampu LED akan menyala
Jika switch open maka diartikan bahwa LED akan padam (off).
Prinsip kerja Push Button dan Toggle berbeda,yaitu kalo prinsip kerja dari push
Button adalah ketika Push Button ditekan maka LED akan menyala,dan ketika
push button dilepas, maka LED akan mati. Kalo prinsip kerja dari Toggle adalah
LED akan tetap menyala ketika push Button dilepas, dan LED akan mati ketika
ditekan kembali.
Ada sedikit perbedaan antara Toggle On/Off dengan On/Off(debouncing) yaitu
pada Toggle On/Off ketika Push Button ditekan kedua kalinya LED belum tentu
dalam keadaan mati. Hal ini dikarenakan adanya efek getaran. Tapi ketika Toggle
On/Off (debouncing) apabila Push Button ditekan kedua kalinya LED akan
langsung keadaan mati. Hal ini dikarenakan tidak adanya efek getaran.
DAFTAR PUSTAKA
Job sheet Mikrokontroller