Anda di halaman 1dari 31

EMBEDDED SYSTEM

BAB II
“MIKROKONTROLER ARDUINO UNO”

Oleh :
Enita Ayu Dhea Lestari 3.34.15.1.09

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2017
BAB II
MANIPULASI LED

A. Tujuan
1. Mahasiswa memahami rangkaian mikrokontroller untuk menghidupkan dan
mematikan LED.
2. Mahasiswa dapat memahami program Arduino untuk menghidupkan dan
mematikan LED.
3. Mahasiswa memahami struktur program Arduino, void setup dan void loop.
4. Mahasiswa memahami beberapa instruksi Arduino dasar pinMode dan
digitalWrite.
5. Mahasiswa memahami pembuatan instruksi waktu tunda, delay.
B. Perlengkapan
1. Sebuah Komputer /Laptop
2. Satu set trainer mikrokontroler Arduino
3. An Arduino board connected to the computer via USB
4. breadboard dan kabel jumper
5. LED ( 3 mm)
6. Resistor antara 220–1,000 ohm
C. Teori

LED (Light Emitting Dioda) adalah dioda yang dapat memancarkan cahaya
pada saat mendapat arus bias maju (forward bias). LED (Light Emitting Dioda) dapat
memancarkan cahaya karena menggunakan dopping galium, arsenic dan phosporus.
Jenis doping yang berbeda menghasilkan cahaya dengan warna yang berbeda. LED
(Light Emitting Dioda) merupakann salah satu jenis dioda, sehingga hanya akan
mengalirkan arus listrik satu arah saja. LED akan memancarkan cahaya apabila
diberikan tegangan listrik dengan konfigurasi forward bias. Berbeda dengan dioda
pada umumnya, kemampuan mengalirkan arus pada LED (Light Emitting Dioda)
cukup rendah yaitu maksimal 20 mA. Apabila LED (Light Emitting Dioda) dialiri
arus lebih besar dari 20 mA maka LED akan rusak, sehingga pada rangkaian LED
dipasang sebuah resistor sebgai pembatas arus. Simbol dan bentuk fisik dari LED
(Light Emitting Dioda) dapat dilihat pada gambar berikut. Simbol Dan Bentuk Fisik
LED.
Gambar 2.1. LED

Dari gambar diatas dapat kita ketahui bahwa LED memiliki kaki 2 buah seperti
dengan dioda yaitu kaki anoda dan kaki katoda. Pada gambar diatas kaki anoda
memiliki ciri fisik lebih panjang dari kaki katoda pada saat masih baru, kemudian kaki
katoda pada LED (Light Emitting Dioda) ditandai dengan bagian body LED yang di
papas rata. Kaki anoda dan kaki katoda pada LED (Light Emitting Dioda)
disimbolkan seperti pada gambar diatas. Pemasangan LED (Light Emitting Dioda)
agar dapat menyala adalah dengan memberikan tegangan bias maju yaitu dengan
memberikan tegangan positif ke kaki anoda dan tegangan negatif ke kaki katoda.
Konsep pembatas arus pada dioda adalah dengan memasangkan resistor secara seri
pada salah satu kaki LED (Light Emitting Dioda). Rangkaian dasar untuk menyalakan
LED (Light Emitting Dioda) membutuhkan sumber tegangan LED dan resistor sebgai
pembatas arus seperti pada rangkaian berikut.

Gambar 2.2. Rangkaian Dasar LED


SINGLE LED

1. Siapkan software Arduino IDE, Protoboard, Kabel USB standar board Arduino (A
plug to B plug), 2 buah kabel jumper male to male, 1 buah resistor, 1 buah LED,
Arduino Uno.

Aduino IDE Protoboard

Kabel USB Standar Board Arduino Kabel Jumper Male to Male


(A plug to B plug)

Resistor LED Arduino Uno


2. Setelah menyiapkan peralatan yang dibutuhkan. Buka Software Arduino dengan cara
klik start pada komputer, lalu ketikkan arduino pada pencarian, lalu pilih Pilih
Arduino (Dekstop App).

3. Tunggu beberapa saat hingga proses loading selesai


4. Tampilan awal pada Arduino IDE

5. Bila kita akan membuat single LED, Arduino IDE sudah menyediakan contoh kode
program single LED yang kita butuhkan. Cara membukanya adalah Pilih File, lalu
Example, lalu Basics, lalu Blink.
6. Pilih board sesuai board arduino yang akan digunakan. Cara memilih board adalah
dengan cara pilih Tools, lalu pilih Board, lalu pilih Arduino/ Genuino Uno

7. Langkah selanjutnya, tancapkan Board Arduino yang akan digunakan untuk


mengupload program ke port laptop dengan kabel USB standar pada arduino (A plug
to B plug). Pastikan lampu indikator Arduino menyala. Setelah itu, pilih port yang
akan digunakan. Untuk mengecek port, buka Device Manager dengan cara Klik Start,
ketikkan Device Manager pada pencarian, pilih Device Manager Control Panel.
8. Cek pada Device Manager apakah port sudah terdeteksi. Port sudah terdeteksi dengan
nama Arduino Uno (COM3).

9. Kemudian pilih port yang akan digunakan. Cara melilih port adalah Pilih Tools, lalu
pilih Port, lalu pilih tampilan yang tertera pada nomer 3. Pilih bagian
COM3(Arduino/Genuino Uno)
10. Tampilan awal pada Blink. Nomer 1 merupakan baris komentar yang tidak akan
eksekusi oleh compailer. Nomer 2 adalah kode program yang akan di eksekusi oleh
compiler.

11. Tampilan kode program pada Blink. (warna abu-abu menunjukkan baris comment
yang tidak akan di eksekusi compiler)
/*
Blink

Turns an LED on for one second, then off for one second, repeatedly.

Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
the correct LED pin independent of which board is used.
If you want to know what pin the on-board LED is connected to on your Arduino
model, check the Technical Specs of your board at:
https://www.arduino.cc/en/Main/Products

modified 8 May 2014


by Scott Fitzgerald
modified 2 Sep 2016
by Arturo Guadalupi
modified 8 Sep 2016
by Colby Newman

This example code is in the public domain.


http://www.arduino.cc/en/Tutorial/Blink
*/

// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever


void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage
level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage
LOW
delay(1000); // wait for a second
}

12. Penjelasan kode program


Fungsi void setup() adalah sebagai tempat untuk men-setup hal-hal umum
agar program bisa dijalankan seperti setup pin mode, setup serial baud rate, dll.
pinMode berfungsi untuk memberi tahu pada arduino bahwa pin pada board
akan digunakan sebagai input atau output. Diprogram ini pinMode memberitahu
pada arduino untuk set pin LED_BUILTIN (default pin nomer 13) sebagai
OUTPUT.

Fungsi void loop() adalah program akan berjalan secara terus menerus (looping)
ketika arduino di aliri power.

Kode program digitalWrite(LED_BUILTIN, HIGH) adalah untuk


menghidupkan lampu (HIGH) dengan waktu tunggu 1 detik (delay(1000);)
Kode program digitalWrite(LED_BUILTIN, LOW) adalah untuk mematikan
lampu (LOW) dengan waktu tunggu 1 detik (delay(1000);)
13. Untuk menjalankan program, kita harus meng-compile untuk megetahui apakah ada
eror di kode program atau tidak. Klik pada icon centang untuk mengcompile program.

14. Tunggu hingga proses compiling selesai

15. Bila kode program terdapat kesalahan, maka akan muncul tampilan eror message
pada konsol Arduino IDE. Eror message akan memudakan programmer untuk
menemukan kesalahan dalam program. (Tampilan ini hanya contoh, program yang
dipraktikan berhasil dan tidak terdapat pesan eror).

16. Bila tidak terjadi eror dan proses compiling selesai, maka akan muncul tampilan
seperti berikut.

17. Langkah selanjutnya adalah upload program ke dalam board arduino, caranya adalah
pilih tombol upload simbol panah ke kanan.

18. Bila gagal terupload seperti gambar dibawah, pastikan lagi port dan board yang
dipilih benar. (Tampilan ini hanya contoh, program yang dipraktikan berhasil dan
tidak terdapat pesan eror).
19. Bila tidak ada tampilan eror, maka hasil upload akan seperti gambar dibawah.

20. Buat rangkaian seperti gambar dibawah.

Gambar 2.3. Mockup rangkaian LED

21. Hasil rangkaian yang dibuat yang dihubungkan pada board arduino dengan USB
dengan sumber power dari laptop.
22. Kondisi lampu active LOW (mati)

23. Kondisi lampu active HIGH (hidup)


MULTI LED
1. Siapkan software Arduino IDE, Protoboard, Kabel USB standar board Arduino (A
plug to B plug), 7 buah kabel jumper male to male, 3 buah resistor, 3 buah LED,
Arduino Uno.

Aduino IDE Protoboard

Kabel USB Standar Board Arduino Kabel Jumper Male to Male


(A plug to B plug)

Resistor LED Arduino Uno


2. Dengan Software Arduino IDE yang sudah dibuka tadi. Buat lembar kerja baru
dengan cara pilih File lalu new atau ctrl+new pada keyboard.

3. Tampilan awal new project yang berhasil dibuat


4. Ketikkan kode program seperti dibawah. Warna abu-abu menunjukkan baris komentar
yang tidak akan di eksekusi program.

int ledpin1 = 2;
int ledpin2 = 3;
int ledpin3 = 4;
// the setup function runs once when you press reset or power the
board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(ledpin1, OUTPUT);
pinMode(ledpin2, OUTPUT);
pinMode(ledpin3, OUTPUT);
}

// the loop function runs over and over again forever


void loop() {
digitalWrite(ledpin1, HIGH);
digitalWrite(ledpin2, LOW);
digitalWrite(ledpin3, LOW);
delay(1000); // wait for a second
digitalWrite(ledpin1, LOW);
digitalWrite(ledpin2, HIGH);
digitalWrite(ledpin3, LOW);
delay(1000);
digitalWrite(ledpin1, LOW);
digitalWrite(ledpin2, LOW);
digitalWrite(ledpin3, HIGH);
delay(1000);
}
5. Tampilan kode program di Arduino IDE

6. Penjelasan Kode Program :


Kode program dibawah adalah berfungsi untuk menginisilisasi variabel dengan
nama ledpin1, ledpin2, dan ledpin3 dengan tipe data integer
(int) dan diberikan nilai 2,3, dan 4.
Fungsi void setup() adalah sebagai tempat untuk men-setup hal-hal umum
agar program bisa dijalankan seperti setup pin mode, setup serial baud rate, dll.
pinMode berfungsi untuk memberi tahu pada arduino bahwa pin pada board
akan digunakan sebagai input atau output. Diprogram ini pinMode memberitahu
pada arduino untuk set pin ledpin1,ledpin2,ledpin3 sebagai OUTPUT.

Fungsi void loop() adalah program akan berjalan secara terus menerus
(looping) ketika arduino di aliri power.

Kode program dibawah adalah untuk menghidupkan (HIGH) ledpin1 dengan


waktu tunggu 1 detik (delay(1000);)

Kode program dibawah adalah untuk menghidupkan (HIGH) ledpin2 dengan


waktu tunggu 1 detik (delay(1000);)

Kode program dibawah adalah untuk menghidupkan (HIGH) ledpin3 dengan


waktu tunggu 1 detik (delay(1000);)
7. Compile dan Upload program ke board Arduino dengan cara yang sama seperti
program LED.
- Compiling

- Upload

8. Buat rangkaian seperti dibawah ini

Gambar 2.4. Multi LED

9. Hasil rangkaian multiple LED


10. Hasil lampu LED yang menyala kuning.

11. Hasil lampu LED yang menyala hijau.


12. Hasil lampu LED yang menyala merah.
FADING THE EXTERNAL LED
Penggunaan LED dengan menggunakan 2 buah kondisi: On dan OFF. Tapi jika ingin
memanipulasi kecerahan kita harus menggunakan teknik lain, Pulse Width Modulation
(PWM) yang sudah secara default ada pada setiap arduino. Dengan teknik ini kita bisa
membuat LED menyala dengan skala 256.

Pada arduino pin yang mempunyai fungsi PWM berjumlah 6 buah pin yang berada pada pin
3, 5, 6, 9, 10 dan 11.

Konsep PWM
Dengan membuat switching antara LOW dan HIGH dengan kecepatan tinggi,
pergantian tegangan akan nampak jelas pada diagram dibawah.

Gambar 2.7. Diagram cara kerja PWM


Pada kode program tersebut ada pemanggilan function analogWrite() yang
berfungsi sebagai pemberi sinyal analog pada pin PWM arduino. Nilai yang bisa diberikan
antara 0- 255, yaitu 0 dari 0 volt dan 255 dari 5 volt atau 3.3 volt tergantung tegangan yang
digunakan.

...

// Here we will fade the LED from 0 to maximum, 255


for (int i = 0; i < 256; i++){
analogWrite(LED, i);
delay(5);
}
...

Kode diatas akan membuat perubahan tegangan yang dikirimkan pada pin PWM,
dengan merubah variabel dari nilai terendah(0) ke nilai maksimum(255). Sehingga efek
yang ditampilkan oleh LED akan dihasilkan cahaya yang semakin terang beriringan
dengan tegangan yang semakin tinggi.

...

// Here we will fade the LED from 0 to maximum, 255


for (int i = 255; i >= 0; i--){
analogWrite(LED, i);
delay(5);
}

...

Sebaliknya dengan menurukan variabel, akan mengakibatkan penurunan tegangan


yang dikirimkan ke pin PWM yang dipakai yang membuat LED akan semakin meredup.

Pada arduino uno jika diperhatikan pin PWM akan mempunyai tanda khusus seperti
berikut Fungsi analogWrite() tidak akan bekerja jika digunakan untuk pin selain PWM.
Dengan menggunakan teknik PWM ini akan bisa dihasilkan 16 juta kombinasi warna untuk 1
LED.
RGB LED

1. Siapkan software Arduino IDE, Protoboard, Kabel USB standar board Arduino (A
plug to B plug), 4 buah kabel jumper male to male, 3 buah resistor, 1 buah RGB LED,
Arduino Uno.

Aduino IDE Protoboard

Kabel USB Standar Board Arduino Kabel Jumper Male to Male


(A plug to B plug)

Resistor RGB LED Arduino Uno


2. Dengan Software Arduino IDE yang sudah dibuka tadi. Buat lembar kerja baru
dengan cara pilih File lalu new atau ctrl+new pada keyboard.

3. Tampilan awal new project yang berhasil dibuat


4. Ketikkan kode program seperti dibawah. Warna abu-abu menunjukkan baris komentar
yang tidak akan di eksekusi program.
int redled=9;
int greenled=10;
int blueled=11;
void setup() {
pinMode (redled, OUTPUT);
pinMode (greenled, OUTPUT);
pinMode (blueled, OUTPUT);
}

void setColor(int redvalue, int greenvalue, int bluevalue){


analogWrite(redled,255 - redvalue);
analogWrite(greenled,255 - greenvalue);
analogWrite(blueled,255 - bluevalue);
}

void loop() {
setColor(255,0,0);
delay(500);
setColor(0,255,0);
delay(500);
setColor(0,0,255);
delay(500);
setColor(255,255,0);
delay(500);
setColor(0,255,255);
delay(500);
setColor(255,0,255);
delay(500);
setColor(255,255,255);
delay(500);
}
5. Tampilan kode program di Arduino IDE

6. Penjelasan Kode Program :


Mendefinisikan program dalam menggunakan pin arduino, pin yang digunakan
wajib menggunakan pin yang PWM karena bersifat analog bukan digital. Pin
yang digunakan adalah pin 9, 10, dan 11.
- Pin 9 untuk redled (merah)
- Pin 10 untuk greenled (hijau)
- Pin 11 untuk bluered (biru)
Fungsi void setup() adalah sebagai tempat untuk men-setup hal-hal umum
agar program bisa dijalankan seperti setup pin mode, setup serial baud rate, dll.
pinMode berfungsi untuk memberi tahu pada arduino bahwa pin pada board
akan digunakan sebagai input atau output. Diprogram ini pinMode memberitahu
pada arduino untuk set pin redled,greenled,blueled sebagai OUTPUT.

Mendefinisikan pengkonfigurasian warna dengan menggunakan fungsi


analogWrite pada pin yang sesuai warna led. Karena jumlah nilai maksimal
yang diizinkan adalah 255, maka nilai masukkan dari masing-masing fungsi akan
dikurangkan dengan nilai maksimal tersebut.

Fungsi void loop() adalah program akan berjalan secara terus menerus
(looping) ketika arduino di aliri power.

Kode dibawah adalah kode untuk mendefinisikan warna yang didinginkan. Hasil
warna yang didapat adalah dari hasil pengurangan 255 yang ada pada kode
dibawah. Delay(500) menunjukan lampu akan berhenti menyala selama 0,5 detik.
7. Compile dan Upload program ke board Arduino dengan cara yang sama seperti
program LED.
- Compiling

- Upload

8. Buat rangkaian seperti dibawah ini

Gambar 2.8. Rangkaian Skema LED RGB

Gambar 2.9. MockUp LED RGB


9. Hasil rangkaian RGB LED

10. Hasil warna rangkaian RGB LED

Anda mungkin juga menyukai