Upload
den-ariq-nax-batil
View
23
Download
1
Embed Size (px)
Citation preview
LAPORAN PRAKTIKUM LAB MIKROKONTROLER
DAN INTERFACE
NOMOR PERCOBAAN : P1
JUDUL PERCOBAAN : Antarmuka LED
KELAS / GROUP : Telkom 4-A / 7
NAMA PRAKTIKAN : 1. Husnu Attamimy
2. Muhamad Aditya Prasetyadin
3. Nabiela Hurul E’in
PROGRAM STUDI TEKNIK TELEKOMUNIKASI
POLITEKNIK NEGERI JAKARTA
DEPOK
2013
P1 : ANTARMUKA LED
I. DIAGRAM SKEMATIK
P1.1 Blink
P1.2 Fade
P1.3 Candle Light
P1.4 Mood Light
DIY. Ping Pong
II. SKETCH
P1.1 Blink
Coding blink :
//Blink
int ledPin = 13; //LED connected to digital pin 13
void setup() //run once,when the sketch starts
{
pinMode(ledPin, OUTPUT); //sets the digital pin as output
}
void loop() //run over and over again
{
digitalWrite(ledPin, HIGH); //sets the LED on
delay(2000); //waits for a second
digitalWrite(ledPin, LOW); //sets the LED off
delay(2000); //waits for a second
}
P1.2 Fade
Coding fade :
//Fading LED
int value = 0; //variable to keep the actual value
int ledpin = 9; //light connected to digital pin 9
void setup()
{
//nothing for setup
}
void loop()
{
for(value = 0 ; value <= 255; value+=5) //fade in(from min to max)
{
analogWrite(ledpin,value); //sets the value(range from 0 to 255)
delay(30); //waits for 30 milli seconds to see the
dimming effect
}
for(value = 255; value >=0; value-=5) //fade out(from max to min)
{
analogWrite(ledpin,value);
delay(30);
}
}
P1.3 Candle Light
Coding candle light :
//CandleLight
int ledPin = 9; //select the pin for the LED
int val = 0; //variable that holds the current LED brightness
int delayval = 0; //variable that holds the current delay time
void setup(){
randomSeed(0); //initialize the random number generator
pinMode(ledPin, OUTPUT); //declare the ledPin as an OUTPUT
}
void loop(){
val = random(100,255); //pick a random number between 100 and 255
analogWrite(ledPin, val); // set the LED brightness
delayval = random(50,150); //pick a random number between 30 and 100
delay(delayval); //delay that many milliseconds
}
P1.4 Mood Light
Coding mood light :
//Mood Light
const int redPin = 3; //choose the pin for each of the LEDs
const int greenPin = 5;
const int bluePin = 6;
const boolean invert = true; //set true if common cathode,false if
common anode
int color = 0; //a value from 0 to 255 representing the hue
int R,G,B; //the Red and Blue color components
void setup()
{
//pins driven by analogWrite do not need to be declared as outputs
}
void loop()
{
int brightness = 255; //255 is maximum brightness
hueToRGB(color,brightness); //call function to convert hue to RGB
//write the RGB values to the pins
analogWrite(redPin, R);
analogWrite(greenPin, G);
analogWrite(bluePin, B);
color++; //increment the color
if (color > 255)
color = 0;
delay(10);
}
//function to convert a color to its Red,Green,and Blue components.
void hueToRGB(int hue,int brightness)
{
unsigned int scaledHue = (hue*6);
unsigned int segment = scaledHue / 256; //segment 0 to 5 around the
color wheel
unsigned int segmentOffset = scaledHue - (segment*256);//position
within the seg
unsigned int complement = 0;
unsigned int prev = (brightness*(255 - segmentOffset))/256;
unsigned int next = (brightness*segmentOffset)/256;
if(invert)
{
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;
break;
case 3: //cyan
R=complement;
G=prev;
B=brightness;
break;
case 4: //blue
R=next;
G=complement;
B=brightness;
break;
case 5: //magenta
default:
R=brightness;
G=complement;
B=prev;
break;
}
}
DIY Ping Pong
Coding level :
/*
Flip-Flop 4 LED dengan delay 0,2 detik
Program ini dibuat oleh Husnu Attamimy
*/
void setup()
{
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}
void loop()
{
digitalWrite(10, HIGH); // set the LED on
digitalWrite(11, LOW); // set the LED off
digitalWrite(12, LOW); // set the LED off
digitalWrite(13, LOW); // set the LED off
delay(200); // wait for a second
digitalWrite(10, LOW); // set the LED off
digitalWrite(11, HIGH); // set the LED on
digitalWrite(12, LOW); // set the LED off
digitalWrite(13, LOW); // set the LED off
delay(200); // wait for a second
digitalWrite(10, LOW); // set the LED off
digitalWrite(11, LOW); // set the LED off
digitalWrite(12, HIGH); // set the LED on
digitalWrite(13, LOW); // set the LED off
delay(200); // wait for a second
digitalWrite(10, LOW); // set the LED off
digitalWrite(11, LOW); // set the LED off
digitalWrite(12, LOW); // set the LED off
digitalWrite(13, HIGH); // set the LED on
delay(200); // wait for a second
digitalWrite(10, LOW); // set the LED off
digitalWrite(11, LOW); // set the LED off
digitalWrite(12, HIGH); // set the LED on
digitalWrite(13, LOW); // set the LED off
delay(200); // wait for a second
digitalWrite(10, LOW); // set the LED off
digitalWrite(11, HIGH); // set the LED on
digitalWrite(12, LOW); // set the LED off
digitalWrite(13, LOW); // set the LED off
delay(200); // wait for a second
digitalWrite(10, HIGH); // set the LED on
digitalWrite(11, LOW); // set the LED off
digitalWrite(12, LOW); // set the LED off
digitalWrite(13, LOW); // set the LED off
delay(200); // wait for a second
delay(200); // wait for a second
}
III. ANALISA
P1.1 Blink
Percobaan ini bertujuan untuk membuat lampu berkelip-kelip. format
int ledPin=13; untuk menggunakan pin 13 sebagai OUTPUT Selanjutnya
memasukkan perintah void setup() untuk merun program pertama saat
program ini dimulai dengan isi perintah pinMode(ledPin,OUTPUT); fungsi
ini betujuan Menset OUTPUT, selanjutnya fungsi void Koo untuk menset
agar dilakukan berulang-ulang dalam hal ini LED akan berkeli-kelip terus.
Perintah digitalWrite(ledPin,HIGH); HIGH agar LED dalam keadaan
hidup atau 1 dan LOW agar LED mati lalu atau 0 (nilai digital) lalu masukkan
delay / jeda waktu yang diinginkan dengan format delay(1000); 1000
adalah waktu yang diinginkan yaitu 1000 ms atau 1 detik.
P1.2 Fade
Cara kerja dari Fade Light yaitu sebuah LED yang redup terang.
dengan perintah int (integer) ledPin=9; perintah int val=0; variable yang
digunanakan setiap program arduino terdapat fungsi yang harus selalu ada
yaitu void setup() dan void loop(). Fungsi setup digunakan untuk melakukan
pengaturan awal atau setup yang dijalankan sekali saja. Fungsi void loop akan
melakukan satu fungsi secara berulang-ulang. Pada perintah val=
random(100,255) ; perintah ini bertujuan untuk membatasi nilai acak atau
random dari 0 sampai dengan 255. Pada saat Program di jalankan lampu LED
akan redup terang secara berulang-ulang dengan tingkat pencahaya yang telah
diset.
P1.3
Pada percobaan kali ini menggunakan 1 buah LED yang ketika
dijalankan programnya maka LED akan menyala seperti cahaya lilin. Perintah
int ledPin = 9; untuk menghubungkan OUTPUT arduino ke LED. Pada
program ini juga terdapat void setup() dan void loop(). Dengan 1 kali fungsi
maka lampu yang dijalankan akan terus berulang-ulang. perintah val=
random(100,255) ; yaitu untuk membatasi nilai acak dari 0 -255.
P1.4 Mood Light
Pada program kali ini yaitumenjalankan LED yang mempunyai warna
Red, Green, Blue atau RGB. Pada program ini menyalahkan lampu dengan delay
yang telah ditentukan pada coding. Fungsi void setup dan void loop juga terdapat
dalam program ini untuk melakukan secara berulang-ulang dalam satu kali fungsi.
PIN yang digunakan adalah 3, 5, 6 yang merupakan OUTPUT PWM. Saat
program di jalankan maka LED akan berubah warna.
DIY PING-PONG
Pada program ini yaitu menjalankan program LED yang berjalan dari 1
sampai 4 dan kembali lagi layaknya sebuah ping pong yang di pantulkan. PIN yang
digunakan adalah digital yaitu 10,11,12, dan 13. void setup()void loop(), dengan
satu kali fungsi maka akan menjalankan LED secara berulang-ulang. pinMode(10,
OUTPUT); pinMode(11, OUTPUT); pinMode(12, OUTPUT);pinMode(13, OUTPUT); yaitu
menset OUTPUT pada arduino pada masing-masing pin yang telah ditentukan.
digitalWrite agar fungsi LED dalam bentuk digital 0-255 karena nilai maksimal
digital adalah 255. Nilai HIGH dan LOW ditentukan pada program dimana LED akan
menyala.
IV. KESIMPULAN
P1.1 Blinking
Pada saat program dijalankan maka lampu LED akan berkelap-kelip dan juga
delay atau interval waktu ditentukan cepat atau lambatnya LED berkelip.
P1.2 Fade Light
Pada saat program dijalankan maka lampu LED akan redup terang secara acak
dari 0- 255.
P1.3 Candle Light
Program ini akan menjalankan LED akan menyala seperti cahaya lilin dengan
tingkat intensitas secara acak dari 0 – 255.
P.14 Mood Light
Program ini menjalankan LED RGB agar menyalakn lampu RED, GREEN,
dan BLUE denggan interval waktu yang telah di program. Lampu akan bergantian
secara berulang-ulang sampai catu daya di lepas.
DIY
Program ini setalah dijalankan akan menyalakan 4 buah LED yang menyala
secara berpantulan.
DAFTAR PUSTAKA
Jon Sheet Microcontroller