Anda di halaman 1dari 38

LAPORAN LABORATORIUM

PROGRAM STUDI TEKNIK TELEKOMUNIKASI

No. 2
ANTARMUKA SWITCH
Nama Anggota

: 1. Ajie Rachmat Aditya


2. Angga Nur Aris Setyawan
3. Arif Cipta Virgiawan
4. Rifky Muhamad

Kelas / Kelompok

: TT 4D / 06

JURUSAN TEKNIK ELEKTRO


POLITEKNIK NEGERI JAKARTA
FEBRUARI 2016

DAFTAR ISI

1. DIAGRAM SKEMATIK

2. SKETCH

3. ANALISA SKETCH

14

4. KESIMPULAN

17

5. DAFTAR PUSTAKA

18

PERCOBAAN 1
ANTARMUKA LED

1. DIAGRAM SKEMATIK
1.1.P2.1 On/Off

2. SKETCH P2.1 On/Off


int ledPin = 13;
int switchPin = 2;

int val = 0;
void setup()
{
pinMode(ledPin,OUTPUT);
pinMode(switchPin,INPUT);
}
void loop()
{
val = digitalRead(switchPin);
if(val == LOW)
{
digitalWrite(ledPin,HIGH);
}
else
{
digitalWrite(ledPin,LOW);
}
}

3. Cara Kerja
Pada percobaan p2.1 yaitu Switch On/Off yaitu memiliki fungsi saat switch button
ditekan maka led akan mati dan bisa diatur juga sebaliknya.

4. Analisa
Pada percobaan ini digunakan Pin digital karena LED yang digunakan hanya
berfungsi mati dan menyala saja atau LOW/HIGH, pin yang digunakan Pin13. Untuk
input LED dengan perintah int ledPin = 13. Switch dimasukan ke pin bernilai 5V
sebagai sumber tegangan dan input switch dimasukan ke pin Digital, pin yang
digunakan yaitu Pin D2. Switch dimasukan ke input pin digital sehingga switch tersebut
close dan open. apabila menggunakan pin D2 akan embuat switch apabila ditekan akan
membuat LED mati ,
Void loop akan membuat rangkaian akan bekerja berulang-ulang (looping),
menggunakan pin digital maka menggunakan fungsi digitalWrite, jika ledPin diberi
masukan HIGH maka led akan menyala dan jika ledPin diberi masukan LOW maka
LED AKAN PADAM.

5. Foto Rangkaian

1. DIAGRAM SKEMATIK

1.1 P2.2 Blinking/Fading

2. SKETCH P2.2 Blinking / Fading

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{
7

{
for(fadeVal = 0; fadeVal<=255;fadeVal+=5)
{
analogWrite(ledPin,fadeVal);
delay(10);
}
for(fadeVal = 255;fadeVal>=0;fadeVal-=5)
{
analogWrite(ledPin,fadeVal);
}
}
}

3. CARA KERJA P2.2


Pada percobaan 2.2 Blinking/Fading memiliki fungsi saat switch close maka
LED akan mendapatkan perintah untuk melakukan Blinking dan pada saat Switch open
(ditekan) maka LED akan mendapatkan perintah Fading dari posisi 0 hingga maksima l
yaitu 255. Pertambahan fading dapat diatur sesuai keinginan, misal +5. Maka LED akan
menyala dari posisi nol sampai 255 dengan bertambah 5 angka setiap stepnya.

4. ANALISA
Pada percobaan ini LED menggunakan pin 9, pin yang digunakan adalah pin PWM
karena selain berfungsi blinking LED juga akan berfungsi Fading. Switch dihubungkan ke pin
5V dan diberi input oleh pin digital 2. Int fadeVal=0; perintah ini berfungsi sebagai nilai awal
pada saat LED melakukan fading, jika misalkan nilai fadeVal diisi dengan nilai 100 maka LED
akan melakukan fading dari 100 hingga maksimal yaitu 255. val = digitalRead(switchPin);
perintah ini berfungsi untuk membaca pin yang digunakan D2 dan memposisikan switch agar
8

dapat diatur. digitalWrite(ledPin, LOW); perintah ini digunakan untuk memberikan waktu atau
delay terhadap LED saat LED mati, dan delay tersebut dapat diatur dengan memasukan perintah
delay(50);. digitalWrite(ledPin,HIGH); perintah ini digunakan untuk memberikan waktu
tenggang saat LED menyala dan delay nya dapat diatur pula.
Saat switch dalam keadaan open maka LED akan membaca perintah fading.
for(fadeVal = 0 ; fadeVal <= 255 ; fadeVal +=5) perintah ini dilakukan untuk memberikan nilai
awal, nilai maksimal dan pertambahan nilai saat LED melakukan fading. Nilai 0 tersebut berarti
posisi awal saat fading, Nilai 255 berarti posisi maksimal LED menyala. Nilai +5 yaitu step
pertambahan fading pada LED, jadi saat fading maka nilai LED tersebut melangkahi 5 nilai
setiap stepnya. analogWrite(ledPin, fadeVal); perintah ini berfungsi untuk mengatur perintah
sebelumnya for(fadeVal = 0 ; fadeVal <= 255 ; fadeVal +=5). delay(10); perintah ini diberikan
untuk memberikan delay atau jeda pada saat melakukan fading. for(fadeVal = 255; fadeVal >=
0 ; fadeVal -=5) perintah ini digunakan untuk melakukan fade out, jadi LED dari posisi
maksimal 255 akan turun hingga posisi 0, step yang diatur yaitu akan turun setiap lima nilai.
analogWrite(ledPin, fadeVal); digunakan untuk mengatur perintah sebelumnya.

5. FOTO RANGKAIAN

1. DIAGRAM SKEMATIK

P2.3 Toogle On/Off

2. SKETCH P2.3 Toogle On/Off


int switchPin = 8;
int ledPin = 13;

10

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

3. CARA KERJA P2.3


Pada percobaan 2.3 yaitu toggle on/off yaitu membuat switch aabila ditekan LED
akan menyala dan apabila led ditekan lagi LED akan mati tetai pada rangkaian ini tidak ada

11

debouncing sehingga aabila ditekan belom tentu mati dan tidak menentu karena ada noise
yang mengganggu sehingga datanya tidak akurat.

4. Analisa
Pada percobaan ini LED menggunakan pin 13, pin yang digunakan adalah pin
Digital. Switch menggunakan sumber 5V dan pin yang digunakan Pin Digital 8. Boolean
lastButton = LOW; perintah ini digunakan agar saat switch ditekan maka switch tersebut
menjadi close. Boolean ledOn = false; perintah ini digunakan agar LED menyala
Pada void loop akan membuat rangkaian looping menggunakan fungsi if , if
biasanya diggunakan untuk membandingkan statement yang berbeda.ledOn=!ledOn fungsi
ini akan membuat switch menyala dan tanda seru merupakan not sehingga disatu posisi
akan membuat LED mati, apabila LastButton diisi = HIGH untuk dapat mengubah posisi
switch dan mengguanaka fungsi else pada LastButton=digitalWrite yang akan membuat
switch bekerja sesuai dengan pin digital yaitu pin 8.

5.FOTO RANGKAIAN

12

1. DIAGRAM SKEMATIK

P2.4 Toogle On/Off (w/Debouncing)

2. SKETCH P2.3 Toogle On/Off (w/ Debouncing)


int switchPin = 8;

13

int ledPin = 13;


boolean lastButton = LOW;
boolean currentButton = LOW;
boolean ledOn = false;

void setup()
{
pinMode(switchPin,INPUT);
pinMode(ledPin,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);

14

if(lastButton == LOW && currentButton == HIGH)


{
ledOn = !ledOn;
}
lastButton = currentButton;
digitalWrite(ledPin, ledOn);
}

3. Cara Kerja P2. 4 Toggle On/Off (w/ Debouncing)


Cara kerja pada P2. 4 Toggle On/Off (w/ Debouncing) yaitu untuk mengatur atau
mengendalikan LED on/off secara bergantian dengan menggunakan push buttom sebagai
toggle switch dan dilengkapi dwngan debouncing. Ketika swich ditekan lampu menyala dan
ketika dilepas lampu akan mati.

4. Analisa P2. 4 :
Pada praktikum P2. 4 Toggle On/Off (w/ Debouncing) menggunakan switch pin = 8,
pin untuk LED menggunakan kaki pin 13 dan posisi awal pada switch di setting LOW. Ketika
swtich ditekan lampu LED akan menyala dan ketika switch dilepas lampu akan mati sesuai
dengan delay yang ditentukan
6.

FOTO RANGKAIAN

15

1. DIAGRAM SKEMATIK

P2.5 Fading Switch

16

2. SKETCH
P2.5 Fading Switch
int switchPin = 8;
int ledPin = 3;
boolean lastButton = LOW;
boolean currentButton = LOW;
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()

17

{
currentButton = debounce(lastButton);
if(lastButton == LOW && currentButton == HIGH)
{
ledLevel = ledLevel + 101;
}
lastButton = currentButton;
if (ledLevel > 255)ledLevel=0;
analogWrite(ledPin, ledLevel);

3. Cara Kerja P2.5 Fading Switch


Cara kerja pada praktikum P2. 5 Fading Switch adalah pertama tama lampu dalam
keadaan Off / mati, lalu ketika switch ditekan lampu akan menyala secara fading, dan jika
switch ditekan kembali lampu akan mati.

4. Analisa P2. 5 Fading Switch


Pada percobaan ini Fading Switch menggunakan kaki pin 8 int switchPin = 8;
menggunakan kaki LED
Nomer 3 int ledPin = 3;lalu menggunakan switch sebagai input dan outputnya adalah
LED, Ketika switch ditekan lampu LED akan menyala dan ketika lampu ditekan lagi lampu
LED akan menyala lebih terang, keterangan level lampu LED bisa diatur dengan mengatur
ledLevel. Dan ketika swtich dipencet lampu LED akan mati.

18

5.

FOTO RANGKAIAN

19

1. DIAGRAM RANGKAIAN

P2.6 Interactive Traffic Lights

20

2. SKETCH
P2.6 Interactive Traffic Lights
int carRed = 12;
int carYellow = 11;
int carGreen = 10;
int pedRed = 9;
int pedGreen = 8;
int button = 2;
int crossTime = 5000;
unsigned long changeTime;

void setup()
{
pinMode(carRed, OUTPUT);
pinMode(carYellow, OUTPUT);
pinMode(carGreen, OUTPUT);
pinMode(pedRed, OUTPUT);
pinMode(pedGreen, OUTPUT);
pinMode(button, INPUT);
digitalWrite(carGreen, HIGH);
digitalWrite(pedRed, HIGH);
}

void loop()
{
21

int state = digitalRead(button);


if (state==HIGH&&(millis()- changeTime) >5000)
{
changeLights();
}
}

void changeLights()
{
digitalWrite(carGreen, LOW);
digitalWrite(carYellow, HIGH);
delay(200);
digitalWrite(carYellow, LOW);
digitalWrite(carRed, HIGH);
delay(100);
digitalWrite(pedRed, LOW);
digitalWrite(pedGreen, HIGH);
delay(crossTime);

for (int x=0; x<10; x++)


{
digitalWrite(pedGreen, HIGH);
delay(250);
digitalWrite(pedGreen, LOW);
delay(250);

22

digitalWrite(pedRed, HIGH);
delay(50);
digitalWrite(carYellow, HIGH);
digitalWrite(carRed, LOW);
delay(100);
digitalWrite(carGreen, HIGH);
digitalWrite(carYellow, LOW);
changeTime=millis();
}

3. Cara Kerja P2. 6 Interactive Traffic Lights


Ketika lampu LED merah 2 aktif, pada saat switch ditekan maka LED hijau
2 aktif setelah LED hijau kuning dan merah 1 aktif secara berurutan dengan delay
yang ditentukan, setelah itu LED hijau 1 akan kembali aktif setelah delay dari LED
hijau 2 yang aktif.

4. Analisa P2. 6 Interactive Traffic Lights


Pada praktikum P2. 6 Interactive Traffic Lights menggunakan 5 buah lampu
LED, yang masing- masing lampu LED mempunyai cara kerjanya masing- mas ing.
System kerja yang digunakan pada praktikum ini adalah ketika lampu LED merah
menyala maka lampu LED hijau akan mati, dan sebaliknya ketika lampu LED
merah mati maka lampu LED hijau akan menyala. Pada praktikum ini bertujuan
untuk membuat lampu lalu lintas untuk pengendara dan pejalan kaki.

23

5. FOTO RANGKAIAN

LAMPU KEREN + SWITCH

RANGKAIAN SKEMATIK

24

SKETCH
P2.7 DIY
const int redPin = 6;
const int greenPin = 5;
const int bluePin = 3;
const int red2Pin = 11;
const int green2Pin = 10;
const int blue2Pin = 9;
const boolean invert = false;
int switchPin = 2;
int val = 0;
int color = 0;
int R,G,B;

void setup()
{
pinMode(redPin,OUTPUT);
pinMode(greenPin,OUTPUT);
pinMode(bluePin,OUTPUT);
pinMode(red2Pin,OUTPUT);
pinMode(green2Pin,OUTPUT);
pinMode(blue2Pin,OUTPUT);
pinMode(switchPin,INPUT);

25

void loop()
{
val = digitalRead(switchPin);
if(val == LOW)
{
digitalWrite(redPin,HIGH);
digitalWrite(greenPin,HIGH);
digitalWrite(bluePin,HIGH);
digitalWrite(red2Pin,HIGH);
digitalWrite(green2Pin,HIGH);
digitalWrite(blue2Pin,HIGH);

}
else
{
digitalWrite(redPin,LOW);
digitalWrite(greenPin,LOW);
digitalWrite(bluePin,LOW);
digitalWrite(red2Pin,LOW);
digitalWrite(green2Pin,LOW);
digitalWrite(blue2Pin,LOW);

{
int brightness = 255;
hueToRGB(color,brightness);

26

analogWrite(redPin,R);
analogWrite(greenPin,G);
analogWrite(bluePin,B);
analogWrite(red2Pin,R);
analogWrite(green2Pin,G);
analogWrite(blue2Pin,B);

color++;
if(color>255)
color = 0;
delay(1);
}
}
}
void hueToRGB(int hue,int brightness)
{
unsigned int scaledHue = (hue*12);
unsigned int segment = scaledHue/256;
unsigned int segmentOffset = scaledHue-(segment*256);
unsigned int complement = 0;
unsigned int prev = (brightness*(255-segmentOffset))/256;
unsigned int next = (brightness* segmentOffset)/256;

if(invert)

27

{
brightness = 255-brightness;
complement = 255;
prev = 255-prev;
next = 255-next;
}

switch(segment)
{
case 0: //red
R = brightness;
G = next;
B = complement;
break;

case 1: //yellow
R = prev;
G = brightness;
B = complement;
break;

case 2: //green
R = complement;
G = brightness;
B = next;

28

break;

case 3: //cyan
R = complement;
G = prev;
B = brightness;
break;

case 4: //blue
R = next;
G = complement;
B = brightness;
break;

case 5: //magenta
R = brightness;
G = complement;
B = prev;
break;
}
}

int pinLED = 13;

void setup2()

29

{
pinMode(pinLED, OUTPUT);
}
void loop2()
{
digitalWrite(redPin,HIGH);
digitalWrite(bluePin,HIGH);
digitalWrite(greenPin,HIGH);
digitalWrite(red2Pin,HIGH);
digitalWrite(blue2Pin,HIGH);
digitalWrite(green2Pin,HIGH);
delay(100);
digitalWrite(redPin,LOW);
digitalWrite(bluePin,LOW);
digitalWrite(greenPin,LOW);
digitalWrite(red2Pin,LOW);
digitalWrite(blue2Pin,LOW);
digitalWrite(green2Pin,LOW);

delay(100);
}

int pinLED2 = 12;

30

void setup3()
{
pinMode(pinLED, OUTPUT);
}
void loop3()
{
digitalWrite(redPin,HIGH);
digitalWrite(bluePin,HIGH);
digitalWrite(greenPin,HIGH);
digitalWrite(red2Pin,HIGH);
digitalWrite(blue2Pin,HIGH);
digitalWrite(green2Pin,HIGH);
delay(100);

digitalWrite(redPin,LOW);
digitalWrite(bluePin,LOW);
digitalWrite(greenPin,LOW);
digitalWrite(red2Pin,LOW);
digitalWrite(blue2Pin,LOW);
digitalWrite(green2Pin,LOW);
delay(100);
}

int pinLED3 = 8;

31

void setup4()
{
pinMode(pinLED, OUTPUT);
}
void loop4()
{
digitalWrite(redPin,HIGH);
digitalWrite(bluePin,HIGH);
digitalWrite(greenPin,HIGH);
digitalWrite(red2Pin,HIGH);
digitalWrite(blue2Pin,HIGH);
digitalWrite(green2Pin,HIGH);
delay(100);
digitalWrite(redPin,LOW);
digitalWrite(bluePin,LOW);
digitalWrite(greenPin,LOW);
digitalWrite(red2Pin,LOW);
digitalWrite(blue2Pin,LOW);
digitalWrite(green2Pin,LOW);

delay(100);
}

32

int pinLED4 = 7;

void setup5()
{
pinMode(pinLED, OUTPUT);
}
void loop5()
{
digitalWrite(redPin,HIGH);
digitalWrite(bluePin,HIGH);
digitalWrite(greenPin,HIGH);
digitalWrite(red2Pin,HIGH);
digitalWrite(blue2Pin,HIGH);
digitalWrite(green2Pin,HIGH);
delay(100);
digitalWrite(redPin,LOW);
digitalWrite(bluePin,LOW);
digitalWrite(greenPin,LOW);
digitalWrite(red2Pin,LOW);
digitalWrite(blue2Pin,LOW);
digitalWrite(green2Pin,LOW);

delay(100);
}

33

int ledPin2 = 4;
int switchPin2 = 2;
int val2 = 0;
void setup6()
{
pinMode(redPin,OUTPUT);
pinMode(switchPin,INPUT);
}

void loop6()
{
val = digitalRead(switchPin);
if(val == LOW)
{
digitalWrite(redPin,HIGH);
digitalWrite(bluePin,HIGH);
digitalWrite(greenPin,HIGH);
digitalWrite(red2Pin,HIGH);
digitalWrite(blue2Pin,HIGH);
digitalWrite(green2Pin,HIGH);
}
else
{
digitalWrite(redPin,LOW);
digitalWrite(bluePin,LOW);

34

digitalWrite(greenPin,LOW);
digitalWrite(red2Pin,LOW);
digitalWrite(blue2Pin,LOW);
digitalWrite(green2Pin,LOW);

}
}

CARA KERJA
2 Buah lampu RGB disusun dan diberi fungsi Moodlight dimana masing- masing
RGB diberi warna yang berbeda dan delay yang diberikan dipercepat agar terlihat seperti
lampu disko, dan ditambahkan fungsi switch dimana jika switch ditekan maka lampu akan
mati maka fungsi yang dipakai yaitu On/Off.
ANALISIS SKETCH
Pada project kali kami membuat Lampu Disko Keren + Switch dmana fungsi yang
digunakan pada project kali ini yaitu fungsi Moodlight pada lampu RGB dan fungsi Switch
On/Off pada switch. Pin yang digunakan pada percobaan ini ada pin PWM. Dimana lampu
RGB akan diatur dan delay nya dibuat lebih cepat seakan-akan lampu disko dimana pengaturan
delay nya bisa dilihat di Fungsi
color++;
// increment variabel color
if(color > 255)
color = 0;
delay(10)
Dimana delay diatas yaitu sepuluh detik waktu yang dibutuhkan untuk mengganti 5
warna , disini karena membuat seolah lampu disko maka delay kita ubah menjadi (3).
35

Selanjutnya warna dari masing-masing RGB kita buat berbeda agar terlihat perpaduan warna
seperti lampu disko. Selanjutnya masukan Fungsi Switch On/Off yang berfungsi sebagai
saklar dimana dari cara kerja switch ini adalah apabila switch ditekan maka lampu akan mati
sebaliknya jika switch dilepas maka lampu akan menyala agar terlihat seperti lampu disko
sungguhan maka diberi aksesoris berupa kertas yang dibentuk serupa lampu disko.

FOTO RANGKAIAN

6. KESIMPULAN
-

Switch berfungsi untuk memberikan inputan berupa digital analog dll

Switch juga bisa berfungsi sebagai saklar on/off

36

7. DAFTAR PUSTAKA

Wayagna,agus.2011.Diktat Praktek Antarmuka dan Mikrokontroler.Depok:Politeknik


Negeri

37

38

Anda mungkin juga menyukai