LEMBAR PENGESAHAN
MODUL
PRAKTEK MIKROKONTROLER
Disusun Oleh:
Menyetujui,
ii
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
KATA PENGANTAR
Puji dan syukur patut patutlah dipanjatkan kehadirat Tuhan Yang Maha Besar, karena
atas kasih dan anugerah_NYA sehingga modul Praktek Mikrokontroler ini boleh
terselesaikan dengan baik. Modul ini dibuat untuk melengkapi materi pembelajaran di
Program Studi D3 Teknik Listrik di Jurusan Teknik Elektro Politeknik Negeri Manado.
Didalamnya berisikan uraian materi yang sesuai dengan Rencana Pembelajaran Semester
Mata Kuliah Praktikum Mikrokontroler dan kegiatan praktikum yag harus dikerjakan oleh
mahasiswa yang mengambil mata kuliah ini.
Pada kesempatan in perkenankan penulis mengucapkan terima kasih kepada :
1. Ir.Ever Slat,MT; sebagai Direktur Politeknik Negeri Manado
Akhirnya besar harapan kiranya dengan adanya modul ini diharapkan dapat
menunjang kegiatan pembelajaran di Program Studi D3 Teknik Listrikr.
iii
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
DAFTAR ISI
iv
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
v
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
BAB 1
1
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
yang lain juga terlihat seperti Tom Igoe , Gianluca Martino , David Mellis , dan Nicholas
Zambett.
2
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Bahasa pemrograman yang relative mudah, karena software Arduino dilengkapi dengan
kumpulan library yang cukup lengkap.
Memiliki modul siap pakai (shield) yang bisa ditancapkan pada board Arduino. Misalnya
shield GPS, Ethernet , SD Card, dll.
Mikrokontroler ATmega328
Tegangan Operasi 5V
Tegangan Input (disarankan) 7-12V
Batas Tegangan
Input 14(diman 6 pin output PWM)
Pin Analog Input 6
Arus DC per I/O pin 40 Ma
Arus DC untuk pin 3.3V 50 Ma
32 KB(ATmega328) dimana
Flash memory 0,5 KB digunakan oleh
bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock 16 MHz
Arduino dapat diaktifkan melalui koneksi USB atau dengan catu daya eksternal.
Sumber daya dipilih secara otomatis. Sumber daya eksternal (non-USB) dapat berasal dari
adapter AC ke DC atau baterai. Adaptor ini dapat dihubungkan dengan menancapkan power
jack, dapat juga dihubungkan pada power pin (Gnd dan Vin)
Board Arduino Uno dapat beroperasi pada pasokan eksternaldari 6 sampai 20 volt. .
Meskipun pin 5V dapat disuplai kurang dari 5 volt, boar mungkin tidak stabil. Jika
menggunakan tegangan lebih dari 12 V , regulator tegangan bisa panas dan merusak Board.
Kisaran yang disarankan adalah 7 sampai 12 volt.
3
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
menyuplai tegangsn melalui pin 5V atau 3.3V bypasses regulator, dapat meruska
board.
3V3.
Suplai 3,3 volt dihasilkan oleh regulator pada board menarik arus maksimum 50
mA.
Memory
ATMEGA328 mempunyai memori 32 KB (dengan 0.5 KB digunakan untuk
bootloader). Juga mempunyai 2 KB SRAM dan 1 KB EEPROM ( yang mana dapat di baca
tulis dengan library EEPROM).
4
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
-
Led: 13. Terdapat LED pin digital 13 pada board. Ketika pin bernilai tinggi (HIGH),
LED menyala (ON), ketika pin bernilai rendah (LOW), LED akan mati (OFF)
-
Arduino Uno memiliki 6 input analog ,belebel A0 sampai A5, yang masing-masing
menyediakan 10 bit resolusi (yaitu 1024 nilai yang berbeda). Secara default , 5 volt
dari ground
Bahasa C telah membuat bermacam-macam sistem opreasi dan compiler untuk banyak
bahasa pemrograman. Misalnya sistem operasi unix, linux,dsb. Bahasa C adalah bahasa
pemrograman yang sangat ampuh yang kekuatannya mendekati bahasa assembler. Bahasa C
menghasilkan file kode yang sangat kecil dan dieksekusi dengan sangat cepat. Karena itu,
Bahasa C sering digunakan pada sistem operasi dan pemrograman mikrokontroler .
Struktur
Setiap program arduino (biasa disebut Sketch) mempunyai dua buah fungsi yang harus
ada.
Void Setup() { }
Semua kode di dalam kurung kurawal akan dijalankan hanya satu kali ketika program
arduino dijalankan untuk pertama kalinya.
Void Loop () { }
Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah dijalankan
satu kali fungsi ini akan dijalankan lagi , dan lagi secara terus-menerus sampai catu daya
(power) di lepaskan.
5
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Syntax
Berikut ini adalah bahasa C yang dibutuhkan untuk format penulisan.
// (komentar satu baris.
Kadang di perlukan untuk memberikan catatan pada arti dari kode-kode yang
dituliskan. Cukup menuliskan dua buah garis miring dan apapun yang kita
ketikkan di belakangnya akan diabaikan oleh program.
Contoh penggunaan :
// proyek Blink LED, uji cobapertama kali
/* */ (komentar banyak baris)
Jika anda punya banyak catatan, hal ini dapat dituliskan pada beberapa baris
sebagai komentar. Semua hal yang terletak diantara dua symbol tersebut akan
diabaikan oleh program.
Contoh penggunaan:
/* Kode program proyek sensor cahaya,
LED padam kondisi lingkugan terang danyala Jika kondisi lingkungan
gelap */
{ } (Kurung kurawal)
Digunakan untuk mendefenisikan kapan blok program mulai dan berakhir
(digunakan juga pada fungsi dan pengulangan).
Contoh penggunaan kurung kurawal:
Void loop () {
Serial.printIn (val)
}
; (titk koma)
Setiap baris kode harus diakhiri dengan tanda titik koma (jika ada titk koma
yang hilang maka tidak akan bisa dijalankan).
Contoh penggunaan titk koma : delay (1000);
Variabel
Sebuah program secara garis besar dapat didefenisikan sebagai instruksi untuk
memindahkan angka dengan cara yang cerdas. Variable inilah yang digunakan untuk
memindahkan.
6
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Int (integer)
Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak mempunyai angka
decimal dan menimpan nilai dari -32.768 dan 32.767
Long (long)
Digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte (32 bit) dari
memori (RAM) dan mempunyai rentang dari 2.147.483.648 dan 2.147.483.647.
Boolean (Boolean)
Variable sederhana yang digunakanuntuk menyimpan nilai true (benar) atau False
(salah). Sangat berguna karena hanya menggunakan 1 bit dari RAM
Float
Digunakan untuk angka decimal (foating point). Memakai 4 byte (32 bit) dari RAM
mrmpunyai rentang dari -3,4028235E+38 dan -3,4028235E+38.
Char (character)
Menyimpan 1 karakter menggunakan kode ASCII (misalnya „A‟ = 65). Hanya
memakai 1 byte (8 bit ) dari RAM.
Byte
Angka antara 0 dan 255. Sama halnya dengan char , namun byte hanya
menggunakan 1 byte memory.
Unsignt int
Sama dengan int , menggunakan 2 byte tetapi Unsignt int ini tidak dapat digunakan
untuk menyimpan angka negative , batas nya dari 0 sampai 65,35.
Unsignt Long
Sama saja dengan long, namun tidak bisa menimpang angka negative , batas nya
dari 0 sampai 4.294.967.295.
Double
Angka ganda dengan persisi maksimum 1,7976931348623157x 100308
String
String digunakan untuk menyimpan informasi teks, dengan karakter ASCII , bisa
menggunakan string untuk mengirim pesan via serial port , atau menampilkan teks
pada layar LCD.
Array
Array adalah kumpulan variable dengan tipe yang sama. Setiap variable dalam
kumpulan variable tersebut terdapat elemen, dapat diakses melalui indeks.
7
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Mislanya kita ingin menginisialisasi pin 3 , pin 5 , pin 6 , pin 7, maka dengan
menggunakan array int pins[]={3 , 5, 6, 7};
Operator Matematika
Operator yang digunakan untuk memanipulasi angka (bekerja seperti matematika yang
sederhana).
= membuat suatu menjadi sama dengan nilai yang lain (misalnya: x = 10*2, x
sekarang sama dengan 20)
% menghasilkan sisa dari hasil pembagian suatu angka dengan angka yang
lain (misalnya: 12%10, ini akan menghasilkan angka 2)
+ penjumlahan
- pengurangan
/ pembagian
Oprator Pembanding
Digunakan untuk membandinhkan nilai logika.
== sama dengan (misalnya: 12==10 adalah FALSE (salah) 12=-12 adalah
TRUE (benar))
!= tidak sama dengan (misalnya: 12!=10 adalah TRUE (benar) atau 12!=12
adalah FALSE(salah)
< lebih kecil dari (misalnya: 12<10 adalah FALSE (salah) aatau 12<12 adalah
FALSE (salah) atau 12 < 14 adalah TRUE (benar))
> lebih besar dari (misalnya: 12 > 10 adalah TRUE (benar) aatau 12>12
adalah FALSE (salah) atau 12 >14 adalah FALSE (salah))
Struktur Pengaturan
Pemrograman sangat tergantung pada pengaturan yang akan dijalankan berikutnya,
berikut ini adalah elemen dasar pengaturan (banyak lagi yang lain dan bisa dicari diinternet.
1. If….else, dengamn format seperti berikut ini:
If (kondisi) { } Else { }
Dengan struktur seperti di atas program akan menjalankan kode yang ada pada
kurung kurawal jika kondisinya TRUE, dan jika tidak (FALSE) maka akan
8
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
diperiksa apakah kondisi pada else if dan jika kondisinya FALSE maka kode pada
else yang akan dijalankan.
2. For, dengan format seperti berikut in: For (int I = 0;I <#pengulangan;i++) { }
Digunakan bila anda ingin melakukan pengulangan kode di dalam kurung kurawal
beberapa kali, ganti #pengurangan dengan jumlah pengulangan yang diinginkan.
Melakuan perhitungan ke atas dengan i++ atau kebawah dengan i
Digital
1. PinMode( pin, mode)
Digunakan untuk menetapkan mode dari suatu pin, pin adalah nomor pin yang akan
digunakan dari 0-19 (pin analog 0-5 adalah 14-19). Mode yang bisa digunakan
adalah INPUT atau OUTPUT.
2. Digital Write(pin , value)
Ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat dijadikan HIGH
(ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground)
Analog
1. analogWrite (pin,value)
beberapa pin pada arduino UNO mendukung PWM ( pulsewidth modulation) yaitu
pin 3 , 5 , 6 ,7, 10, 11. Ini dapat mengubah pin hidup (on) atau mati (off) dengan
sangat cepat sehingga membuatnya dapat berfungsi layaknya keluarananalog.
Value (nilai) pada format kode tersebut adalah angka antara 0 (0%duty cycle ˜ 0V)
dan 255 (100% duty cycle ˜5V)
2. analogRead (pin)
ketika pin analog ditetapkan sebagai INPUT ,anda dapat menbaca keluaran
voltasenya. Keluarannnya berupa angka antara 0 (untuk 0 volts) dan 1023 (untuk 5
volts)
9
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
10
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Bagian tengah, yaitu tempat penulisan kode program atau sketch
Bagian bawah berupa status bar/ jendela pesan (message windows) atau tes konsul
yang berisi status dan pesan error.
Langkah-langkah instalasi driver untuk board arduino Uno (sama juga untuk jenis
board Arduio Duemilanove, nano atau diecimila) dengan sistem operasi windows sebagai
berikut :
1. Buka atau jalankan software arduino IDE, dengan mengklik dua kali arduino.exe
2. Hubungkan board Arduino dengan komputer menggunakan kabel USB standar (A-
B) dan yakin bahwa LED warna hijau pada board arduino nyala (berlabel
ON/PWR). Board arduinoakan menarik sumber daya listrik dari port USB.
3. Selanjutnya, windows secara otomatis akan mendeteksi kalau tidak ditemukan
driver board arduino. Jangan khwatir ini kondisi normal. Silahkan tutup saja jendela
ini.
4. Klik tombol start menu pada komputer anda dan buka control panel, masuk ke
menu sistem and security.
5. Kemudian klik sistem. Setelah tampilan sistem muncul, klik Device Manager. Lihat
pada bagian other device. Anda akan melihat sebuah tulisan Unknown device. Ini
menandakan bahwa board arduino anda belum dikenal windows 7.
6. Klik kanan pada port “Unknown device” dan pilih opsi “update driver software”
7. Kemudian , pilih opsi “Browse my komputer for driver software”
8. Telusuri folder arduino 1.0.6 yang anda ekstrak tadi.
9. Pilih next. Windows akan meneruskan instalasi driver.
10. Setelah klik next akan muncul jendela piringan dari windows security, pilih install
this driver software anyway.
11
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
11. Klik close untuk mengakhiri instalasi. Selamat anda telah menginstal driver
Arduino pada komputer anda, dan selanjutnya siap mengomunikasikan atau meng-
upload program pada board arduino anda.
12. Untuk mengecek apakah driver telah benar terinstal, masuk kembali device
manager. Untuk melihat port (com) dari arduino.
12
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
1. buka software IDE Arduino dengan menjalankan sebuah file bernama arduino.exe
pada lokasi software arduino di komputer anda.
2. setelah jendela utama terbuka klik file →example→basics→blink
3. selanjutnya akan muncul kode blink program pada kotak entri/penulisan sketch
4. kode program siap di upload ke papan arduino
13
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Void setup () {
` pinMode (led,OUTPUT); // set led sebagai output
}
Void loop () {
digitalWrite (led, HIGH); // set led on
delay (500) ; // tunnda untuk ½ detik
digitalWrite (led, LOW); // set led off
delay (500) ; // tunnda untuk ½ detik
}
Penjelasan program
14
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Fungsi void setup (), merupakan fungsi yang dieksekusi pertama kali saat setelah arduino
diberi catu daya, berfungsi untuk perintah-printah instalasi sebelum program utama
dieksekusi isi dari fungsi ini adalah pendefenisian pin 13 dengan sintax : pinMode(led,
OUTPUT); memiliki arti bahwa mode dari pin yaitu saluran D13 (digital nomor 13 dari
pin input/output) difungsikan sebagai saluran keluaran atau output. Dengankata lain,
menset pin 13 sebagai output .
4. Baris program berikutnya
Void loop () {
digitalWrite (led, HIGH);
delay (500) ;
digitalWrite (led, LOW);
delay (500) ;
fungsi ini akan dijalankan setelah setup (fungsi Void setup) selesai.Fungsi void loop (),
merupakan fungsi dari program utama yang akan dieksekusisecara berurutan dari atas
sampai akhir dan kembali lagi dari atas sampai akhir, begitu seterusnya karena
merupakan loop yang tidak pernah berakhir. Baris pertama dari fungsi ini adalah
digitalWrite(led HIGH); artinya tulislah logika 1 (high) pada pin keluaran nomer13,
dengan demikian led yang mengeksekusinya sintax delay ; yaitu waktu tunda selama 500
milisekon atau ½ detik , dengandemikian led menyala selama setengah detik , berikutnya
adalah digitalWrite (led, LOW); artinya tulisan logika 0 (low) pada pin keluaran nomor
13, dengan delay (500) mengakibatkan led padam selam ½ detik . keseluruhan program,
led berkedip hidup selama setengah detik , padam selama setengah detik . demikian
seterusnya catu daya pada Arduino dilepas.
15
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Pada papan Arduino Uno terdapat sebuah led kecil yang terhubung ke pin digital no
13. Led ini dapat digunakan sebagai output saat pengguna membuat/menguji
sebuah program dan ini membutuhkan sebuah penanda dari jendela program
tersebut. Ini adalah cara yang praktis saat pengguna melakukan uji coba.
16
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
BAB 2
PRAKTIKUM LED
A. Tujuan
Menggunakan Arduino sebagai output untuk menghidupkan nyala LED
Membuat program sederhana untuk menghidupkan nyala LED
B. Alat dan Bahan yang digunakan
1 buah Papan Arduino Uno
1 buah Bread Board
1 buah LED warna merah
1 buah Resistor 300 Ohm
Kabel jumper
C. Teori singkat dan Rangkaian Percobaah
LED merupakan kependekan dari Light Emiting Diode, yaitu diode yang mampu
mengubah listrik menjadi cahaya. Sebagaimana sifat diode, lampu LED memiliki kaki positif
dan negatif. Sehingga pemasangannya tidak boleh terbaik, jika dipasang terbalik maka tidak
akan ada arus yang mengalir dan LED pun tidak akan menyala.
Arduino bekerja pada tegangan 5-12 volt dengan arus yang relatif besar yang sanggup
memutuskan LED. Sehingga jika kita ingin menyambungkan LED, maka kita butuh tahanan
(resistor) untuk membatasi arus yang masuk ke LED. LED memiliki tegangan kerja yang
disebut dengan forward voltage (fv) yang mana tegangan ini adalah tegangan yang
dibutuhkan LED untuk bisa menyala dengan baik.
Ukuran resistor yang bisa dipakai adalah 100Ω hingga 1KΩ (Ω dibaca ohm, satuan dari
resistansi/hambatan), makin besar nilai resistor maka nyala LED akan semakin redup. Pada
Arduino, tegangan yang keluar dari pin-pinnya adalah 0-5 volt. Sementara catu daya untuk
Arduino antara 5-12 volt. Oleh sebab itu, pemilihan resistor tergantung tegangan mana yang
akan digunakan.
17
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
18
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
void loop() {
digitalWrite(pinLED, HIGH);
delay(500);
digitalWrite(pinLED, LOW);
delay(500);
}
Setelah program diketikan seperti pada Gambar 2.2, maka proses selanjutnya adalah
menghubungkan kabel koneksi USB yang terhubung dengan board Arduino ke port USB pada
Laptop. Selanjutnya atur Comunikasi antara Laptop dengan board Arduino dengan cara
seperti pada Gambar 2.3.
19
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Selanjutnya upload program yang telah dibuat ke board Arduino dengan cara memilih icon
upload pada Arduino IDE seperti pada Gambar 6. Jika tidak ada error pada program yang
dibuat (dengan keterangan Done Uploading), maka system akan beroperasi seperti yang
direncanakan, dalam hal ini adalah menyalakan lampu LED secara blink.
20
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
E. Prosedur Percobaan
1. Amati jalannya system dan berikan tanggapannya jika pada baris program const int
pinLED = 8; dirubah menjadi // const int pinLED = 8;
2. Amati dan berikan tanggapannya jika program di atas diubah menjadi seperti di bawah
ini:
// Pin 8 untuk LED
const int pinLED = 8;
void setup() {
// pin LED sebagai output
pinMode(pinLED, OUTPUT);
}
// awal time delay 1000 | 1 detik
int timeDelay = 1000;
void loop() {
// Setiap looping, nilai timeDelay dikurangi 100
timeDelay = timeDelay - 100;
if(timeDelay <= 0){
timeDelay = 1000;
}
//Nyalakan dan matikan LED selama timeDelay
digitalWrite(pinLED, HIGH);
delay(timeDelay);
digitalWrite(pinLED, LOW);
delay(timeDelay);
}
3. Buatlah program untuk menyalakan 3 buah LED secara berurutan, dengan durasi
perpindahan nyala LED selama 1 detik
4. Buat dalam bentuk laporan seluruh proses percobaan yang telah dilakukan
21
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
BAB III
A. Tujuan
Menggunakan Arduino untuk aplikasi animasi Led
Membuat program sederhana untuk aplikasi animasi Led
B. Alat dan Bahan yang digunakan
1 buah Papan Arduino Uno
1 buah Bread Board
4 buah LED warna merah
4 buah Resistor 300 Ohm
Kabel jumper
C. Rangkaian Percobaah
Program berikut akan membuat LED menyala bergantian sebanyak 5 animasi (perulangan
sebanyak 5 kali). Pertama, semua LED akan mati selama 5 detik. Kedua, LED 1 akan
menyala. Ketiga, LED 1 dan 2 akan menyala. Keempat, LED 1, 2, dan 3 akan menyala.
Kelima, semua LED akan menyala.
Animasi tersebut ditentukan berdasarkan nilai i, nilai i diperiksa dengan perintah IF. Jika nilai
i=0, maka semua LED mati, jika i=1 maka satu LED nyala, dan seterusnya.
Selain menggunakan IF, ada cara lain yang lebih simpel untuk membuat animasi LED seperti
program pada Sketch di bawah ini.
22
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Langkah-langkahnya :
1. Susun resistor 220 ohm terlebih dahulu pada breadboard seperti gambar rangkaian
2. Pasang LED merah , LED kuning , LED hijau. Perhatikan polaritas kaki LED. Kaki
positif masing-masing LED dihubungkan dengan pin 11, pin 10 , pin 9 , dan pin 8,
sementara kaki negative dihubungkan dengan ground
3. Gunakan kabel jumper untuk menghubungkan papan Arduino dangan Breadboard.
4. Setelah semua terpasang dengan baik, colokkan kabel USB yang terhubung dari papan
Arduino ke komputer.
5. Selanjutnya, jalankan software IDE arduino dan ketikkan kode program pada tempat
penulisan sketch seperti di bawah ini:
// Inisialisasi Pin LED
const int pinLED1 = 8;
const int pinLED2 = 9;
const int pinLED3 = 10;
const int pinLED4 = 11;
void setup() {
// pin LED sebagai output
pinMode(pinLED1, OUTPUT);
pinMode(pinLED2, OUTPUT);
pinMode(pinLED3, OUTPUT);
pinMode(pinLED4, OUTPUT);
}
void loop() {
// perulangan sebanyak 5 kali
// dari i=0 hinga i=4 atau (i < 5)
for(int i=0; i<5; i++){
if(i==1){
// jika i=1, hidupkan led 1, led yang lain mati
digitalWrite(pinLED1, HIGH);
digitalWrite(pinLED2, LOW);
digitalWrite(pinLED3, LOW);
digitalWrite(pinLED4, LOW);
}else if(i==2){
// jika i=2, hidupkan led 1 & 2, led 3 & 4 mati
digitalWrite(pinLED1, HIGH);
digitalWrite(pinLED2, HIGH);
digitalWrite(pinLED3, LOW);
digitalWrite(pinLED4, LOW);
}else if(i==3){
// jika i=3, hidupkan led 1, 2, & 3, led 4 mati
digitalWrite(pinLED1, HIGH);
digitalWrite(pinLED2, HIGH);
digitalWrite(pinLED3, HIGH);
digitalWrite(pinLED4, LOW);
}else if(i==4){
23
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
D. Prosedur Percobaan
1. Ubah program diatas menjadi seperti dibawah ini, kemudian berikan tanggapan anda
tentang jalannya kedua program tersebut
// Inisialisasi Pin LED
const int pinLED1 = 8;
const int pinLED2 = 9;
const int pinLED3 = 10;
const int pinLED4 = 11;
void setup() {
// pin LED sebagai output
pinMode(pinLED1, OUTPUT);
pinMode(pinLED2, OUTPUT);
pinMode(pinLED3, OUTPUT);
pinMode(pinLED4, OUTPUT);
}
void loop() {
24
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
digitalWrite(pinLED1, LOW);
digitalWrite(pinLED2, LOW);
digitalWrite(pinLED3, LOW);
digitalWrite(pinLED4, LOW);
delay(1000);
digitalWrite(pinLED1, HIGH);
delay(1000);
digitalWrite(pinLED2, HIGH);
delay(1000);
digitalWrite(pinLED3, HIGH);
delay(1000);
digitalWrite(pinLED4, HIGH);
delay(1000);
}
2. Ubah program diatas seperti berikut:
// Inisialisasi Jumlah LED
const int numLED = 4;
// LED 1,2,3,&4 jadi 1 varibel
// dengaan alamat index 0,1,2,3
const int pinLED[numLED] = {8,9,10,11};
void setup() {
// Inisialisasi semua pin LED sebagai OUTPUT
for(int i=0; i<4; i++){
pinMode(pinLED[i], OUTPUT);
}
}
void loop() {
// Matikan semua LED
for(int i=0; i<4; i++){
digitalWrite(pinLED[i], LOW);
}
delay(1000);
// Hidupkan semua LED bertahap dg jeda 1 detik
for(int i=0; i<4; i++){
digitalWrite(pinLED[i], HIGH);
delay(1000);
}
}
25
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
BAB IV
A. Tujuan
Menggunakan Arduino sebagai input melalui pushbutton untuk mengaktifkan Led
Membuat program sebagai input melalui pushbutton untuk mengaktifkan Led
B. Alat dan Bahan yang digunakan
1 buah Papan Arduino Uno
1 buah Bread Board
4 buah LED warna merah
4 buah Resistor 300 Ohm
Kabel jumper
Rangkaian Percobaan
Buatlah rangkaian seperti yang diperlihatkan pada Gambar 4.2. dengan prosedur sebagai
berikut:
26
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
1. Siapkan LED dan pushbutton pada project board. Karena karena pushbutton memiliki
4 buah kaki yang masing-masing terpisah, maka silakan tancapkan pushbutton di
tengah-tengah lajur project board sehingga kaki-kainya tidak tersambung.
2. Salah satu kaki pushbutton dihubungkan ke GDN di project board, sedangkan kaki
pasangannya disambungkan ke pin 2 pada board Arduino. Bagaimana cara mengetahui
pasangan kaki-kaki pada pushbutton? Anda bisa mengeceknya dengan AVO meter.
3. Setting AVO meter untuk menghitung resistansi, kemudian cek masing-masing pin
pushbutton dengan probe. Jika tombol ditekan jarum AVO meter bergerak
menyimpang, berarti kaki-kaki tersebut sepasang.
4. Untuk LED, sambungkan kaki negatif (pin yang lebih pendek) ke GND dengan
resistor
5. Kaki positif (kaki yang lebih panjang) disambungkan ke pin 8 pada board Arduino
dengan jumper.
27
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
digitalWrite(pinButton, HIGH);
}
void loop() {
if(digitalRead(pinButton) == LOW){
digitalWrite(pinLED, HIGH);
}else{
digitalWrite(pinLED, LOW);
}
}
Setelah program selesai diketikan, maka lakukanlah proses ferifikasi terlebih dahulu guna
mengetahui apakah program yang dibuat telah sesuai atau belum. Jika belum sesuai (error),
lakukanlah perbaikan sampai program tersebut benar. Selanjutnya upload program yang
dibuat ke board arduino.
D. Prosedur percobaan
1. Apa yang terjadi ketika pushbutton tidak ditekan
2. Apa yang terjadi ketika pushbutton ditekan
3. Apa yang terjadi jika pushbutton dilepas
4. Buatlah program untuk mengaktifkan dan menonaktifkan nyala Led melalui 1 buah
pushbutoon, dimana saat pushbutton ditekan pertama kali, maka Led akan menyala, dan
jika pusbutton ditekan kedua kalinya, maka Led akan padam.
5. Buatlah laporan dari praktikum yang telah dilakukan.
28
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
BAB V
A. Tujuan
Menggunakan Arduino untuk aplikasi pengaturan tingkat kecerahan nyala Led
Membuat program sederhana untuk aplikasi pengaturan tingkat kecerahan nyala Led
29
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Sebagian kaki / pin Arduino support PWM, kaki yang support PWM ditandai dengan adanya
tanda tilde (~) di depan angka pinnya, seperti 3, 5, 6, dan seterusnya. Frekuensi yang
digunakan dalam Arduino untuk PWM adalah 500Hz (500 siklus dalam 1 detik). Jadi,
Arduino bisa menghidup-matikan LED sebanyak 500 kali dalam 1 detik.
Untuk menggunakan PWM, kita bisa menggunakan fungsi analogWrite(). Nilai yang bisa
dimasukkan pada fungsi tersebut yaitu antara 0 hingga 255. Nilai 0 berarti pulsa yang
diberikan untuk setiap siklus selalu 0 volt, sedangkan nilai 255 berarti pulsa yang diberikan
selalu bernilai 5 volt.
Rangkaian
Buatlah rangkaian seperti gambar Rangkaian 5.2. Rencananya, pushbutton yang atas untuk
menyalakan dan meningkatkan kecerahan LED, sedangkan pushbutton yang bawah untuk
menurunkan tingkat kecerahan LED dan memadamkannya:
1. Seperti biasa, siapkan sebuah LED dan resistornya. Sambungkan kaki positif LED ke
pin 8 Arduino.
2. Kemudian kaki negatif LED disambungkan ke resistor menuju GND.
30
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
3. Siapkan dua buah pushbutton. Pushbutton yang pertama (atas) disambunkan ke GND
dan ke pin 2 pada board Arduino.
4. Lalu pushbutton yang kedua (bawah) disambungkan ke GND dan pin 3 pada board
Arduino.
Program
Buka aplikasi Arduino IDE, kemudian keikan program dibawah ini
// pin 2 & 3 sebagai input digital
const int pinBt1 = 2;
const int pinBt2 = 3;
// Ingat, pin 9 support PWM
const int pinLED = 9;
void setup() {
pinMode(pinBt1, INPUT);
pinMode(pinBt2, INPUT);
pinMode(pinLED, OUTPUT);
digitalWrite(pinBt1, HIGH);
digitalWrite(pinBt2, HIGH);
}
int brightness = 0;
void loop() {
if(digitalRead(pinBt1) == LOW){
// jika pushbutton ditekan
// tambahkan nilai brightness
brightness++;
}else if(digitalRead(pinBt2) == LOW){
// jika pushbutton2 ditekan
// kurangi nilai brightness
brightness--;
31
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
}
// brightness dibatasi antara 0 - 255
// jika di bawah 0, maka ganti dengan 0
// jika di atas 255, maka ganti dengan 255
brightness = constrain(brightness, 0, 255);
// pinLED diberi nilai antara 0 - 255
analogWrite(pinLED, brightness);
// delay agar perubahannya bertahap
delay(20);
}
Setelah program selesaidiketikan, maka lakukanlah proses ferifikasi terlebih dahulu untuk
mengetahui apakah program yang dibuat telah benar atau belum, kemudian upload program
yang dibuat tersebut ke board Arduino.
D. Prosedur Percobaan
1. Tekan tombol pushbutton pertama (bagian atas), kemudian amati dan jelaskan proses
yang terjadi
2. Tekan pushbutton kedua (bagian bawah), kemudian amati dan jelaskan proses yang
terjadi
3. Ubah nilai brightness yang dibatasi dari angka 0 – 255 menjadi 100 – 255, kemudian
amati apa yang terjadi dan berikan tanggapannya
4. Buat laporan untuk praktikum yang telah dikerjakan
32
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
BAB VI
A. Tujuan
Menggunakan Arduino untuk aplikasi pengaturan dengan potensio meter
Membuat program sederhana untuk aplikasi pengaturan dengan potensio meter
33
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Rankaian percobaan
Buatlah rangkaian percobaan seperti yang diperlihatkan pada Gambar 6.2, dengan prosedur
sebagai berikut:
1. Sambungkan kaki positif LED ke pin 9 pada board Arduino, pin tersebut support
PWM
2. Kaki negatif LED disambungkan dengan resistor ke GND
3. Kedua ujung kaki trimmer yang satu sisi (sisi kanan) masing-masing disambungkan
ke +5v dan GND. Jika Anda menggunakan potensiometer putar, yang disambungkan
ke +5v dan GND adalah pin yang paling pinggi.
4. Pin yang satu (di sebelah kiri) disambungkan ke A0 pada board Arduino. Jika Anda
menggunakan potensiometer putar,yang disambungkan ke A0 adalah pin yang tengah
pada potensiometer.
pada Arduino terdapat 3 kelompok pin dengan fungsi yang berbeda, yaitu:
Pin digital (pin 0 - 13)
Pin digital yang support PWM (ditandai dengan tilde “~”, yaitu pin 3, 5, 6, 9, 10, 11)
Pin Analog (A0 – A5)
Digital artinya hanya terdiri dari ON dan OFF, atau HIGH dan LOW. Digital dengan PWM
artinya, frekuensi ON dan OFF bisa diatur berdasarkan siklus tertentu dalam frekuensi 500
Hz dengan selang antara 0 - 255. Hal ini sudah kita bahas sebelumnya, bukan?
Sedangkan pin Analog, berarti pin tersebut bisa ditulis mempunyai tegangan antara 0 – 5 volt
dengan step kenaikan sebanyak 1024. Artinya angka 0 – 1023 akan dikonversi menjadi 0 – 5
volt pada pin tersebut. 0 berarti 0 volt, 1023 berarti 5 volt. Kenapa maksimal 1024?
Sebenarnya selang antara 0 – 5 volt bisa dicacah dengan jumlah tak terhingga. Akan tetapi,
mikroposesor memiliki keterbatasan dalam mencacah angka, sehingga batas yang bisa
dicacah hanya mencapai 1024 cacahan, yaitu dari 0 – 1023.
34
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
35
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
„volume‟ potensiometer tinggi, maka durasi kedipan LED akan lambat. Saya sebut „volume‟
karena potensiometer identik dengan alat untuk mengatur volume.
D. Prosedur Percobaan
1. Putar posisi potensio meter ke arah kanan perlahan-lahan sampai pada batas maksimal,
amatilah apa yang terjadi terhadap nyala Led, kemudian berikan tanggapannya
2. Putar posisi potensio meter ke arah kiri perlahan-lahan sampai pada batas minimal,
amatilah apa yang terjadi terhadap nyala Led, kemudian berikan tanggapannya
3. Ubahlah program diatas menjadi seperi dibawah ini
// pin A0 adalah pin Analog
// pin 9 adalah pin digital support PWM
const int pinPot = A0;
const int pinLED = 9;
void setup() {
pinMode(pinPot, INPUT);
pinMode(pinLED, OUTPUT);
}
int sensor = 0;
void loop() {
// baca nilai kaki A0 (sensor, potensiometer)
sensor = analogRead(pinPot);
// durasi kedipan sesuai nilai pada sensor 0-1023
digitalWrite(pinLED, HIGH);
delay(sensor);
digitalWrite(pinLED, LOW);
delay(sensor);
}
Upload program ke Arduino, jalankan kemudian amati nyala Led
4. Bandingkan program pertama dan program kedua, kemudian berikan tanggapannya
5. Buat laporan tentang praktikum yang dikerjakan
36
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
BAB VII
A. Tujuan
Menggunakan Arduino untuk aplikasi menghasilkan suara melalui perangkat sound
(speaker)
Membuat program sederhana untuk aplikasi menghasilkan suara melalui perangkat
sound (speaker)
37
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Gelombang suara merupakan gelombang analog (sinyal analog) yang merupakan gelombang
sinus. Artinya, 1 siklus penuh adalah 1 tinggi/puncak dan 1 rendah/lembah. Kondisi tinggi
adalah ketika speaker dinyalakan, sedangkan kondisi rendah adalah ketika speaker dimatikan.
Oleh sebab itu, dibutuhkan 2 delay untuk 1 Hz. Karena 440 Hz adalah 440 siklus, maka
setiap siklus pada 440 Hz dikalikan dengan 2. Semoga Gambar 4.1 memberikan pemahaman
tentang bagaimana cara menentukan delay. Gambar 7.1 sekedar contoh sebab frekuensi 6 Hz
tidak akan terdengar oleh telinga manusia.
38
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
D. Prosedur Praktikum
1. Jalankan sistem yang telah dibuat, amatilah hasilnya dan berikan pendapatnya
39
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
2. Ubah-ubahlah nilai frekwensi pada bagian program const int timeDelay = 1163;,
dengan caramengganti nilainya, kemudian jalankan sistem dan amatilah hasilnya dan
berikan pendapatnya
3. Buatlah program seperti di bawah ini, kemudian uploadkan ke board Arduino,
jalankan sistemnya, amati dan berikan pendapatnya
// tangga nada C
#define NOTE_C4 262 // DO
#define NOTE_D4 294 // RE
#define NOTE_E4 330 // MI
#define NOTE_F4 349 // FA
#define NOTE_G4 392 // SOL
#define NOTE_A4 440 // LA
#define NOTE_B4 494 // SI
#define NOTE_C5 523 // DO
// speaker ada di pin 9
const int pinSpeaker = 9;
void setup() {
pinMode(pinSpeaker, OUTPUT);
}
void loop() {
tone(pinSpeaker, NOTE_C4, 500);
delay(500);
tone(pinSpeaker, NOTE_D4, 500);
delay(500);
tone(pinSpeaker, NOTE_E4, 500);
delay(500);
tone(pinSpeaker, NOTE_F4, 500);
delay(500);
tone(pinSpeaker, NOTE_G4, 500);
delay(500);
tone(pinSpeaker, NOTE_A4, 500);
delay(500);
tone(pinSpeaker, NOTE_B4, 500);
delay(500);
tone(pinSpeaker, NOTE_C5, 500);
delay(500);
noTone(pinSpeaker);
delay(1000);
}
4. Buatlah laporan tentang praktikum yang dilakukan
40
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
BAB VIII
A. Tujuan
Menggunakan Arduino untuk aplikasi Thermometer digital
Membuat program sederhana untuk aplikasi Thermometer digital
Serial Monitor
Serial monitor bisa di gunakan untuk men-debug secara software. Jika tanpa serial monitor,
kita tidak bisa melakukan debug untuk aplikasi yang kita buat sehingga untuk menemukan
solusinya, kita harus men-debug dari sisi hardware. Misal ketika ada error, kita akan
mencoba dengan LED atau menambah/mengurangi rangkaian.
41
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Tapi jika menggunakan serial monitor, kita akan tahu error-nya melalui data yang dikirimkan
oleh Arduino. Misal ketika nyala LED terlalu lama atau terlalu pelan, kita langsung bisa
mengecek nilai (angka) yang digunakan untuk delay dan semua isi variabel dalam program
yang kita buat. Sehingga kita bisa menelusuri logika dan algoritma program berdasarkan
data-data yang dikirimkan tadi.
Perhatikan pada board arduino, pin 0 dan 1 ada tulisan RX dan TX. Pin tersebut berfungsi
untuk menerima dan mengirim data melalui komunikasi serial dari Arduino ke komputer
melalui kabel USB. Untuk menggunakan komunikasi serial, kita tidak perlu menambahkan
komponen tambahan pada Arduino karena pada board tersebut sudah disediakan. Kita cukup
menghubungkan Arduino ke komputer, dan kita bisa langsung membuat program. Mari kita
mulai dengan Sketch
void setup() {
Serial.begin(9600);
Serial.println("With elangsakti.com :");
}
int number = 0;
void loop() {
Serial.print("Hello World! ");
Serial.println( number++ );
delay(1000);
}
Pada baris ke-6, perintah Seril.begin(9600); berarti kita akan membuat koneksi serial dengan
baud rate 9600. Sederhananya, baud berkaitan dengan jumlah bit yang akan ditransfer setiap
detik. Nilai baud rate ini tergantung pada clock mikrokontroller. Arduino Uno sendiri
menggunakan clock 16 MHz. Jika clock-nya makin rendah, maka baud rate harus kita
kurangi. Sebagai contoh, jika kita menggunakan mikrokontroller dengan clock 1 MHz, maka
baud rate yang cocok adalah 4800. Jika clock 1 MHz kita menggunakan baud rate 9600,
maka data yang dikirim ke komputer tidak akan terbaca. Pada Arduino IDE, nilai baud rate
default pada Serial Monitor adalah 9600.
Pada baris ke-7, awalnya Arduino akan mengirim pesan “With elangsakti.com” ketika
pertama kali Arduino start. Setelah itu, Arduino akan mengirim pesan “Hello World!” dan
dilanjutkan dengan angka 0, 1, 2, 3, dst. Jika Serial Monitor kita tutup dan kita buka kembali,
maka Arduino seakan-akan melakukan reset program. Arduino akan kembali mengirimkan
pesan “With elangsakti.com” dan angka kembali ke 0 lagi.
Pada baris ke 12 dan 13, kita menemukan perintha print yang berbeda, yaitu print() dan
println(). Jika kita menggunakan print, maka kita sekedar mengirim data tanpa diikuti end of
42
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
line (perintah untuk ganti baris , atau ENTER). Jika kita menggunakan println(), maka tulisan
akan diikuti perintah untuk pindah baris.
43
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Rangkaian Percobaan
Berdasarkan karakteristik kaki-kaki pada IC LM35, maka kita akan menggunakan rangkaian
sebagian sehingga Rangkaian 5.1 hanya bisa mengukur suhu dari 2 hingga 150 derajat
celcius. Cara merangkainya seperti pada Gambar 8.6.
44
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Karakteristik dari sensor ini yaitu setiap kenaikan 10 mV pada kaki output, menandakan
kenaikan suhu 1o celcius. Sehingga, karena Rangkaian 5.1 hanya mampu mengukur dari 2o
celcius, maka output LM35 minimal adalah 20 mV dan maksimal 1500 mV. Konversi suhu
pada output LM35 juga tergantung pada tegangan referensi yang digunakan.
Tegangan referensi pada arduino ada tiga (khusus Arduino Uno)7, tegangan referensi default,
internal, dan eksternal. Jika kita tidak mendefinisikan tegangan referensi yang akan kita
gunakan, maka Arduino secara default akan menggunakan tegangan referensi 5 volt. Selain 5
volt, tegangan default yang disediakan oleh arduino adalah 3.3 volt. Akan tetapi kita harus
membuat jumper dari 3.3 volt (di board Arduino) ke pin AREF, lalu mengeksekusi perintah
analogReference(DEFAULT).
Tegangan referensi internal Arduino yaitu 1.1 volt, untuk menggunakan tegangan referensi
ini, kita harus memberikan perintah analogReference(INTERNAL).
Program Percobaan
Sebelum membuat program, kita akan menghitung bagaimana cara mengukur dan
mengkonversi output dari LM35 menjadi suhu. Kita akan mengkonversi voltase pada kaki
45
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Prosedur Percobaan
1. Jalankan sistem thermometer digital, amati hasil pembacaannya melalui serial
monitor, dan berikan tanggapannya
46
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
2. Panaskan sensur suhu LM35 dengan tangan, amati hasil pembacaannya melalui serial
monitor, dan berikan tanggapannya
3. Panaskan sensor suhu LM35 dengan korek api, amati hasil pembacaannya melalui
serial monitor, dan berikan tanggapannya
4. Buatlah laporan terkait dengan praktikum yang dikerjakan
47
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
BAB IX
A. Tujuan
Menggunakan Arduino untuk aplikasi Thermometer digital yang ditampilkan pada
LCD display
Membuat program sederhana untuk aplikasi Thermometer digital yang ditampilkan
pada LCD display
Dalam hal ini kita akan menyiapkan LCD untuk menampilkan informasi suhu yang telah kita
buat. Sebab melihat informasi suhu dengan komputer tentu kurang praktis bukan?
LCD merupakan singkatan dari Liquid Crystal Display, atau umumnya disebut dengan LCD
atau display saja. Di pasaran beragam jenis LCD dan berbagai ukuran yang bisa Anda
gunakan. LCD bias untuk menampilkan huruf dan angka, bahkan ada yang bisa untuk
menampilkan gambar.
Pada praktikum ini, kita akan berkenalan dengan LCD yang umum digunakan dan harganya
juga relatif terjangkau. LCD ini berukuran 16x2 (2 baris 16 kolom) yang cukup untuk
menampilkan informasi suhu atau informasi yang tidak terlalu panjang. LCD ini dikenal juga
dengan LCD 1602 dengan beberapa varian seperti 1602A, dll.
LCD ini bisa bekerja pada 5 volt, sehingga Anda bisa menyambungkannya secara langsung
ke pin VCC pada board Arduino. Perlu diperhatikan, jika Anda menggunakan LCD jenis
lainnya, ada juga LCD yang bekerja pada voltase yang berbeda. Sehingga kesalahan
pemasangan sumber tegangan bisa membuat LCD rusak.
48
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Berdasarkan karakteristik tersebut, maka semua pin akan digunakan kecuali pin D1 – D3
sebab kita akan menggunakan jalur data untuk transfer 4 bit atau 8 bit. Penjelasan singkat
tentang RS, R/W, dan E:
- RS merupakan kependekan dari Register Selector, pin ini berfungsi untuk memilih
register control atau register data. Register control digunakan untuk mengkonfigurasi
LCD, sedangkan register data digunakan untuk menuliskan data berupa karakter
untuk ditampilkan di LCD.
- R/W atau Read/Write, digunakan untuk memilih aliran data mikrokontroller akan
membaca data yang ada di LCD atau menuliskan data ke LCD. Jika LCD hanya
digunakan untuk menulis / menampilkan data, maka pin ini bisa langsung
disambungkan ke GND sehingga logika bisa diset menjadi L (Low).
- E atau Enable, digunakan untuk mengaktifkan LCD ketika proses penulisan data ke
register control dan regiter data.
49
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Lankah Kerja:
1. Pin V0 pada LCD disambungkan ke kaki tengah potensiometer, sementara masing-
masing kaki potensiometer yang ada di pinggir disambungkan ke VCC dan GND. Jika
nanti tampilan tulisannya kurang jelas, silakan putar-putar potensiometernya.
2. Pin R/W pada LCD disambungkan ke GND
3. Pin RS pada LCD disambungkan ke pin 6 pada Arduino
4. Pin E pada LCD disambungkan ke pin 7 pada Arduino
5. Pin untuk data (D4 – D7) pada LCD disambungkan ke pin 9 – 12 pada Arduino
6. VDD dan A pada LCD disambungkan ke +5v
7. VSS dan K pada LCD disambungkan ke GND
50
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
D. Prosedur Percobaan
1. Jalankan program, kemudian amati dan jelaskan hasil pengamatan anda
2. Pada bagian program lcd.setCursor(0,1); ganti (0, 1) dengan (0, ), Apa yang terjadi,
jelaskan
3. Buatlah program untuk menampilkan tulisan pada LCD, dimana tulisannya pada baris
pertama tertulis “D3 LISTRIK” dan pada baris kedua tertulis “TEKNIK ELEKTRO”
4. Buatlah program seperti dibawah ini, dimana program ini berfungsi sebagai
thermometer digital yang hasil pembacaannya ditampilkan pada tampilan LCD
// Termometer digital
#include <LiquidCrystal.h>
const int pSuhu = A0;
float suhu, data;
// Setting LCD RS E D4 D5 D6 D7
LiquidCrystal lcd(7, 6, 9, 10, 11, 12);
void setup(){
// mengubah tegangan referensi ke internal, 1.1 volt
analogReference(INTERNAL);
// pinSuhu sebagai input
pinMode(pSuhu, INPUT);
// pilih LCD 16 x 2
lcd.begin(16,2);
lcd.print("ELANGSAKTI.COM");
}
void loop(){
data = analogRead(pSuhu);
suhu = data * 110 / 1024;
// pindah ke baris kolom 1 baris ke 2
// array selalu dimulai dari 0
lcd.setCursor(0,1);
lcd.print("Suhu: ");
lcd.print(suhu);
lcd.print("C");
delay(1000);
}
Upload program ke board Arduino, jalankan program dan amati hasil pembacaannya,
dimana prosedur percobaannya sebagai berikut:
51
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
1. Panaskan sensor suhu LM35 dengan tangan dan amati hasilnya pada tampilan LCD,
kemudian jelaskan pendapat anda
2. Panaskan sensor suhu LM35 dengan korek api dan amati hasilnya pada tampilan
LCD, kemudian jelaskan pendapat anda
3. Buat laporan tentang praktikum yang dikerjakan
52
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
BAB X
A. Tujuan
Menggunakan Arduino untuk aplikasi sensor cahaya dengan menggunakan LDR
Membuat program sederhana untuk aplikasi sensor cahaya dengan menggunakan
LDR
53
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
LDR disebut juga sebagai photoresistor sebab alat ini akan memiliki resistansi yang akan
berubah seiring dengan perubahan intensitas cahaya yang mengenainya. Dalam kondisi gelap,
resistansi LDR bisa mencapai 10 M ohm, tapi dalam kondisi terang, resistansi LDR turun
hingga 1 K ohm bahkan bisa kecil lagi (Gambar 6.2 dan 6.3). Sifat inilah yang membuat LDR
bisa dimanfaatkan sebagai sensor cahaya.
LDR terbuat dari sebuah cakram semikonduktor seperti kadmium sulfida dengan dua buah
elektroda pada permukaannya. Pada saat intensitas cahaya yang mengenai LDR sedikit,
bahan dari cakram LDR
tersebut menghasilkan elektron bebas dengan jumlah yang relatif kecil. Sehingga hanya ada
sedikit elektron untuk mengangkut muatan elektrik. Artinya saat intensitas cahaya yang
mengenai LDR sedikit maka LDR akan memiliki resistansi yang besar.
54
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
dengan resistor (atau potensiometer), maka kita bisa mendapatkan variasi tegangan (pada V1
atau V2) yang nantinya menjadi inputan pada pin analog Arduino.
Jika ingin menghitung V1, maka kita tinggal menyubstitusikan antara pers 1 dan pers 2.
Berdasarkan cara kerja rangkaian tersebut, maka rangkaian untuk sensor cahaya adalah sebagai
berikut:
55
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
56
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Prosedur Percobaan
1. Jalankan program dan amati hasilnya, kemudian jelaskan hasil pengamatan anda
2. Buka serial monitor, kemudian amati data hasil pengujian yag ditampilkan
3. Tutup dengan wadah yang gelap pada sensor LDR, kemudian amati hasil
pendeteksian keadaan melalui serial monitor, kemudian jelaskan hasil pengamatannya
4. Berikan pencahayaan dengan menggunakan cahaya senter pada permukaan sensor
LDR, amati hasilnya melalui serial monitor, kemudian jelaskan hasil pengamatannya
5. Buat program sensor cahaya, dimana hasil pembacaannya ditampilkan melalui LCD
6. Buat laporan tentang praktikum yang telah dilakukan
57
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
BAB XI
A. Tujuan
Menggunakan Arduino untuk aplikasi sensor Jarak dengan Sensor Ultrasonik
Membuat program sederhana untuk aplikasi sensor Jarak dengan Sensor Ultrasonik
58
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Gelombang ultrasonik adalah gelombang bunyi yang mempunyai frekuensi sangat tinggi
yaitu 20.000 Hz. Bunyi ultrasonik tidak dapat di dengar oleh telinga manusia. Bunyi
ultrasonik dapat didengar oleh anjing, kucing, kelelawar, dan lumba-lumba. Bunyi ultrasonik
bisa merambat melalui zat padat, cair dan gas. Reflektivitas bunyi ultrasonik di permukaan
zat padat hampir sama dengan reflektivitas bunyi ultrasonik di permukaan zat cair. Akan
tetapi, gelombang bunyi ultrasonik akan diserap oleh tekstil dan busa.
Berikut ini adalah beberapa aplikasi dari gelombang ultrasonik:
- Dalam bidang kesehatan, gelombang ultrasonik bisa digunakan untuk melihat
organ-organ dalam tubuh manusia seperti untuk mendeteksi tumor, liver, otak dan
menghancurkan batu ginjal. Gelombang ultrasonik juga dimanfaatkan pada alat USG
(ultrasonografi) yang biasa digunakan oleh dokter kandungan.
- Dalam bidang industri, gelombang ultrasonik digunakan untuk mendeteksi
keretakan pada logam, meratakan campuran besi dan timah, meratakan campuran susu
agar homogen, mensterilkan makanan yang diawetkan dalam kaleng, dan
membersihkan benda benda yang sangat halus. Gelombang ultrasonik juga bisa
digunakan untuk mendeteksi keberadaan mineral maupun minyak bumi yang
tersimpan di dalam perut bumi.
- Dalam bidang pertahanan, gelombang ultrasonik digunakan sebagai radar atau
navigasi, di darat maupun di dalam air. Gelombang ultrasonik digunakan oleh kapal
pemburu untuk mengetahui keberadaan kapal selam, dipasang pada kapal selam untuk
mengetahui keberadaan kapal yang berada di atas permukaan air, mengukur
kedalaman palung laut, mendeteksi ranjau, dan menentukan puosisi sekelompok ikan.
59
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
dimana S merupakan jarak antara sensor ultrasonik dengan benda (bidang pantul), dan t
adalah selisih antara waktu pemancaran gelombang oleh transmitter dan waktu ketika
gelombang pantul diterima receiver.
HC-SR04 merupakan sensor ultrasonik siap pakai, satu alat yang berfungsi sebagai pengirim,
penerima, dan pengontrol gelombang ultrasonik. Alat ini bisa digunakan untuk mengukur
jarak benda dari 2cm - 4m dengan akurasi 3mm. Dengan demikian, untuk menghitung jarak
yang hanya maksimal 4 m maka rumus di atas harus dimodifikasi atau disesuaikan satuannya.
Mikrokontroller bisa bekerja pada order mikrosekon (1s = 1.000.000 μs) dan satuan jarak
bisa kita ubah ke satuan cm (1m = 100 cm). Oleh sebab itu, rumus di atas bisa diupdate
menjadi:
Alat ini memiliki 4 pin, pin Vcc, Gnd, Trigger, dan Echo. Pin Vcc untuk listrik positif dan
Gnd untuk ground-nya. Pin Trigger untuk trigger keluarnya sinyal dari sensor dan pin Echo
untuk menangkap sinyal pantul dari benda.
Cara menggunakan alat ini yaitu:
- Ketika kita memberikan tegangan positif pada pin Trigger selama 10μS, maka sensor
akan mengirimkan 8 step sinyal ultrasonik dengan frekuensi 40kHz
- Selanjutnya, sinyal akan diterima pada pin Echo
60
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
- Untuk mengukur jarak benda yang memantulkan sinyal tersebut, selisih waktu ketika
mengirim dan menerima sinyal digunakan untuk menentukan jarak benda tersebut
- Rumus untuk menghitung jaraknya adalah S = (0.034 *t) /2 cm.
Berikut adalah visualisasi dari sinyal yang dikirimkan oleh sensor HC-SR04
Rangkaian Percobaan
Buatlah rangkaian seperti Rangkaian seperti pada Gambar 11.4
61
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
Progran SensorJarak
Buatlah program seperti dibawah ini, dimana program ini berfungsi untuk mengukur jarak
melalui media sensor ultresonik, kemudian data hasil pengukurannya akan ditampilkan
melalui serial monitor.
const int pTrig = 9;
const int pEcho = 10;
void setup() {
Serial.begin(9600);
pinMode(pTrig, OUTPUT);
pinMode(pEcho, INPUT);
}
long durasi = 0;
void loop() {
// trigger selama 10us
digitalWrite(pTrig, HIGH);
delayMicroseconds(10);
digitalWrite(pTrig, LOW);
durasi = pulseIn(pEcho, HIGH);
Serial.print("Durasi: ");
Serial.print(durasi);
Serial.print(", Jarak: ");
Serial.println((durasi *0.034)/2);
delay(1000);
}
Setelah program selesai dibuat, maka langkah yang harus dilakukan adalah memferifikasi
program tersebut, untuk memastikan bahwa program yang dibuat telah benar. Selanjutnya
upload program tersebut ke board Arduino.
Prosedur Percobaan
1. Jalankan sistem pengukur jarak yang telah dibuat
2. Buka serial monitor dan amati hasil pembacaan jarak, kemudian jelaskan hasil
pengamatannya
3. Dengan menggunakan media penghalang, letakan penghalang di depan sensor
ultrasonic
4. Dengan menggunakan mistar, ukur jarak antara penghalang dengan sensor arus dan
catat hasil pengujiannya. Pengukuran dan pengujian dilakukan pada jarak 1cm, 2cm,
3cm, 5cm, 7cm dan 10 cm
5. Buatlah laporan berdasarkan hasil praktek yang telah dilakukan
62
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018
DAFTAR PUSTAKA
63