Professional Documents
Culture Documents
Disusun oleh:
Kelompok
Kelas
Nama
: 03
: TT 4D
: 1. Agam Gilang Abdul Hakim
2. Dhiatry Assyifa
3. Nadia Randika Putri
PERCOBAAN 2
ANTARMUKA SWITCH
I.
SKEMATIK
P.2.1 PUSH BUTTON
P.2.3 TOGGLE
P.2.4 DEBOUNCE
II. SKETCH
P.2.1. PUSH BUTTON
int ledPin = 13;
int inputPin = 2;
int val = 0;
void setup(){
pinMode(ledPin,OUTPUT);
pinMode(inputPin,INPUT);
}
void loop(){
val = digitalRead(inputPin);
if (val == LOW){
digitalWrite(ledPin,LOW);
}
void loop(){
val = digitalRead (inputPin);
if (val == HIGH) {
digitalWrite(ledPin, LOW);
delay(15);
digitalWrite(ledPin, HIGH);
delay(15);
}
else {
for(fadeval = 0 ; fadeval <= 255 ;
P.2.3 TOGGLE
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);
}
int switchPin = 8;
int ledPin
= 13;
P.2.4.
DEBOUNCE
boolean lastButton = LOW;
boolean currentButton = LOW;
boolean ledOn = false;
void setup ()
{
pinMode(switchPin, INPUT);
pinMode(ledPin, OUTPUT);
}
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);
}
int switchPin = 8;
int ledPin = 11;
boolean lastButton = LOW;
P.2.5.
PMW
SWITCH = LOW;
boolean
currentButton
int ledLevel = 0;
void setup ()
{
pinMode(switchPin, INPUT);
pinMode(ledPin, OUTPUT);
}
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)
{
ledLevel = ledLevel + 51;
}
lastButton = currentButton;
if (ledLevel > 255) ledLevel = 0;
analogWrite(ledPin, ledLevel);
}
void changeLights() {
digitalWrite(carGreen, LOW);
digitalWrite(carYellow,HIGH);
int pedRed = 9;
delay(2000);
int pedGreen = 8;
digitalWrite(carYellow, LOW);
int button = 2;
digitalWrite(carRed, HIGH);
delay(1000);
digitalWrite(pedRed,LOW);
digitalWrite(pedGreen,HIGH);
void setup() {
delay(crossTime);
pinMode(carRed, OUTPUT);
pinMode(carYellow, OUTPUT);
digitalWrite(pedGreen,HIGH);
pinMode(carGreen, OUTPUT);
delay(250);
pinMode(pedRed, OUTPUT);
digitalWrite(pedGreen,LOW);
pinMode(pedGreen, OUTPUT);
delay(250);
pinMode(button, INPUT);
III.ANALISA
P2.1 PUSH BUTTON
Pada percobaan ini switch yang digunakan yaitu push button, dimana pada saat
keadaan open (tidak ditekan) maka rangkaian terhubung ke Ground sehingga LED tidak
menyala. Dan pada saat keadaan close (ditekan) pada rangkaian terhubung kesumber
(Vcc), sehingga LED menyala. Dalam rangkaian yang menggunakan arduino, nilai
input diberikan kePin 2 yang dihubungkan ke sumber (VCC) sedangkan output ke Pin
13 disambungkan ke LED. Pin 2 dihubungkan ke switchdan m,enggunakan resistor
10k lalu di sambungkan ke Vcc, dan pin 13 dihubungkan ke LED dengan
menggunakan resistor 220, lalu ke Ground. Pada sketch terlihat val= hal ini berarti
adanya pemberian nilai pada input.
P2.3 TOGGLE
Pada percobaan ini, kita masih menggunakan switch push button. Prinsip kerja pada
percobaan ini adalah apabila switchnya kita tekan sekali, maka lampu LED akan
menyala, dan apabila switch ditekan kembali, maka lampu LED akan mati ataupun
tetap dapat menyala. Hal ini terjadi karena adanya pantulan (bounce). Input yang kita
gunakan untuk switch adalah pin 8 dan output yang kita gunakan untuk LED adalah pin
13. LED dihubungkan ke pin 13, kemudian dipakai resistor 220 untuk
menghubungkannya dan kaki kedua pada LED gihubungkan ke ground. Pin 8 (input)
dihubungkan ke switch, kemudian dihubungkan ke resistor berukuran 10 k, kemudian
dihubungkan lagi ke VCC. Pada perintah Void setup, dapat ditambahkan coding
boolean lastButton yang berfungsi untuk menentukan switch pada kondisi terakhir.
Pada perintah void loop, apabila switch sebagai input ketika dibaca pada program
swicthPin dengan lastButton, keadaannya harus sama sama benar maka lampu LED
akan menyala jika ditekan dan pada saat kondisi if tidak terpenuhi (ketika ditekan
kembali) lampu LED akan mati.
P2.4 DEBOUNCE
Pada percobaan ini, kita masih menggunakan switch push button. Prinsip kerja pada
percobaan ini hampir sama dengan toogle, hanya saja dalam percobaan ini jika switch
dalam keadaan ditekan, maka LED akan menyala atau ON. Apabila switch ditekan lagi,
LED langsung mati. Hal ini disebabkan karena tidak adanya bouncing atau pantulan,
Debouncing adalah suatu solusi untuk mengatasi dampak dari bouncing (pantulan)
dengan cara memberikan delay. Cara kerja program yaitu menggunakan Pin 8 yang
disambungkan ke VCC sebagai input untuk switch dan Pin 13 disambungkan ke ground
sebagai output untuk LED. Dari pin 13 dihubungkan ke LED kemudian dihubungkan
ke resistor 220 kemudian ke ground. Pada Pin 8 dihubungkan ke switch kemudian ke
resistor 10 k kemudian ke VCC sebagai sumber. Cara kerja perintah pada struktur
boolean debounce ialah jika switch sebagai input ketika dibaca pada program swicthPin
switch pada keadaan yang terakhir dikomplemenkan menjadi switch pada keadaan awal
lalu didelay setelah itu dibaca kembali. Lalu cara kerja perintah pada struktur void loop
ialah jika switch sebagai input ketika currentButton sama dengan debounce
(lastButton), keadaannya harus sama sama benar maka lampu LED akan menyala jika
ditekan dan pada saat kondisi if tidak terpenuhi (ketika ditekan kembali) lampu LED
akan mati.
Pada percobaan ini, kita juga masih menggunakan switch push button. Prinsip kerja
pada percobaan ini dapat mengatur intensitas cahaya. Maksudnya adalah semakin
sering kita menekan switch, maka cahaya LED semakin terang. Cara kerja program
yaitu menggunakan Pin 8 yang disambungkan ke VCC sebagai input untuk switch dan
Pin 11 disambungkan ke ground sebagai output untuk LED. Dari pin 11 dihubungkan
ke LED kemudian dihubungkan ke resistor 220 kemudian ke ground. Pada Pin 8
dihubungkan ke switch kemudian ke resistor 10 k kemudian ke Vcc sebagai sumber.
Dalam rangkaian ini, LED semakin menyala setiap kita menekannya karena dalam
program kita menjalankan delay (5) dalam boolean debounce.
Pada percobaan ini, kita juga masih menggunakan switch push button. Prinsip kerja
pada percobaan ini adalah untuk para pejalan kaki yang ingin menyebrang jalan dan
lampu lalu lintas bagi para pengendara kendaraan. Jika para pejalan kaki ingin
menyebrang jalan maka kita menekan switch, sehingga pada rambu lalu lintas
kendaraan akan berubah menjadi kuning untuk hati-hati lalu berubah menjadi merah,
dan rambu untuk pejalan kaki yang menyeberang berubah menjadi hijau dan dapat
menyebrang. Setelah beberapa detik ada peringatan untuk pejalan kaki dengan
berkedipnya rambu hijau karena rambu lalu lintas kendaraan akan berubah lagi menjadi
hijau. Semua proses ini dikendalikan oleh sebuah switch. Cara kerja program ini
adalah, untuk kendaraan lampu merah menggunakan pin 12, lampu kuning
menggunakan pin 11, dan lampu hijau menggunakan pin 10, untuk pejalan kaki lampu
merah menggunakan pin 9 dan lampu hijau menggunakan pin 8, lalu untuk switch
menggunakan pin 2. Pin 2 dihubungkan ke switch, lalu ke resistor 10k dan
disambungkan ke VCC dan pin 8, 9, 10, 11, dan 12 masing-masing dihubungkan ke
LED, lalu ke resistor 220 kemudian disambungkan ke Ground.
IV.
KESIMPULAN
program jika delay yang kita gunakan (5) maka saat kita menekan switch yang
keenam kali LED akan mati.
Pada interactive traffic lights, jika para pejalan kaki ingin menyebrang jalan maka kita
menekan switch, sehingga pada rambu lalu lintas kendaraan akan berubah menjadi
kuning untuk hati-hati lalu berubah menjadi merah, dan rambu untuk pejalan kaki
yang menyeberang berubah menjadi hijau dan dapat menyebrang. Setelah beberapa
detik ada peringatan untuk pejalan kaki dengan berkedipnya rambu hijau karena
rambu lalu lintas kendaraan akan berubah lagi menjadi hijau. Semua proses ini
dikendalikan oleh sebuah switch.