Anda di halaman 1dari 68

Disusun Oleh:

Ali A.S. Ramschie, SST., MT

POLITEKNIK NEGERI MANADO


JURUSAN TEKNIK ELEKTRO
PROGRAM STUDI D3 TEKNIK LISTRIK
2018
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018

LEMBAR PENGESAHAN

MODUL
PRAKTEK MIKROKONTROLER

Disusun Oleh:

Ali A.S. Ramschie, SST., MT


Nip. 19730909 200312 1 001

Manado, Desember 2018

Menyetujui,

Ketua Jurusan Teknik Elektro Koordinator Program Studi


D3 Teknik Listrik

Fanny J. Doringin, ST., MT Muchdar D. Patabo, ST., MT


19670430 199203 1 003 19631128 199003 1 002

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

2. Dra.Maryke Alelo,MBA sebagai Wakil Direktur Bidang Akademik

3. Fanny Doringin,ST.,MT; sebagai Ketua Jurusan Teknik Elektro

4. Muchdar D. Patabo, ST., MT; sebagai Kaprodi D3 Teknik Listrik

5. Rekan – rekan di Prodi D3 Teknik Listrik

Akhirnya besar harapan kiranya dengan adanya modul ini diharapkan dapat
menunjang kegiatan pembelajaran di Program Studi D3 Teknik Listrikr.

Manado, Desember 2018


Penulis,

iii
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018

DAFTAR ISI

LEMBAR PENGESAHAN .................................................................................................................. ii


KATA PENGANTAR.........................................................................................................................iii
DAFTAR ISI ........................................................................................................................................iv
BAB 1 ................................................................................................................................................... 1
PENGENALAN MIKROKONTROLER ARDUINO .......................................................................... 1
1.1 Apa itu arduino ................................................................................................................... 1
1.2 Sejarah Singkat Arduino .................................................................................................... 1
1.3 Kelebihan Arduino .............................................................................................................. 2
1.4 Arduino Uno ........................................................................................................................ 3
BAB 2 ................................................................................................................................................. 17
PRAKTIKUM LED ............................................................................................................................ 17
A. Tujuan.................................................................................................................................... 17
B. Alat dan Bahan yang digunakan.......................................................................................... 17
C. Teori singkat dan Rangkaian Percobaah ............................................................................ 17
D. Membuat Sketch Program untuk Led berkedip ................................................................. 18
E. Prosedur Percobaan .............................................................................................................. 21
BAB III ............................................................................................................................................... 22
PRAKTIKUM ANIMASI LED .......................................................................................................... 22
A. Tujuan.................................................................................................................................... 22
B. Alat dan Bahan yang digunakan .......................................................................................... 22
C. Rangkaian Percobaah ........................................................................................................... 22
D. Prosedur Percobaan .............................................................................................................. 24
BAB IV ............................................................................................................................................... 26
PRAKTIKUM INPUT PUSHBUTTON ............................................................................................. 26
A. Tujuan.................................................................................................................................... 26
B. Alat dan Bahan yang digunakan .......................................................................................... 26
C. Teori singkat dan Rangkaian Percobaah ............................................................................ 26
D. Prosedur percobaan .............................................................................................................. 28
BAB V ................................................................................................................................................ 29
PRAKTIKUM MENGONTROL TINGKAT KECERAHAN LED .................................................... 29
A. Tujuan.................................................................................................................................... 29
B. Alat dan Bahan yang digunakan .......................................................................................... 29
C. Dasar teori dan Rangkaian Percobaah ................................................................................ 29

iv
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018

D. Prosedur Percobaan .............................................................................................................. 32


BAB VI............................................................................................................................................... 33
PRAKTIKUM APLIKASI POTENSIO METER ............................................................................... 33
A. Tujuan.................................................................................................................................... 33
B. Alat dan Bahan yang digunakan .......................................................................................... 33
C. Dasar teori dan Rangkaian Percobaah ................................................................................ 33
D. Prosedur Percobaan .............................................................................................................. 36
BAB VII ............................................................................................................................................. 37
PRAKTIKUM APLIKASI SOUND ................................................................................................... 37
A. Tujuan.................................................................................................................................... 37
B. Alat dan Bahan yang digunakan .......................................................................................... 37
C. Dasar teori dan Rangkaian Percobaah ................................................................................ 37
D. Prosedur Praktikum ............................................................................................................. 39
BAB VIII ............................................................................................................................................ 41
PRAKTIKUM APLIKASI THERMOMETER DIGITAL .................................................................. 41
A. Tujuan.................................................................................................................................... 41
B. Alat dan Bahan yang digunakan .......................................................................................... 41
C. Dasar teori dan Rangkaian Percobaah................................................................................ 41
BAB IX ............................................................................................................................................... 48
PRAKTIKUM APLIKASI THERMOMETER DIGITAL DENGAN TAMPILAN LCD .................. 48
A. Tujuan.................................................................................................................................... 48
B. Alat dan Bahan yang digunakan .......................................................................................... 48
C. Dasar teori dan Rangkaian Percobaah ................................................................................ 48
D. Prosedur Percobaan .............................................................................................................. 51
BAB X ................................................................................................................................................ 53
PRAKTIKUM APLIKASI SENSOR CAHAYA (LDR) .................................................................... 53
A. Tujuan.................................................................................................................................... 53
B. Alat dan Bahan yang digunakan .......................................................................................... 53
C. Dasar teori dan Rangkaian Percobaah ................................................................................ 53
BAB XI............................................................................................................................................... 58
PRAKTIKUM APLIKASI SENSOR ULTRASONIK ....................................................................... 58
A. Tujuan.................................................................................................................................... 58
B. Alat dan Bahan yang digunakan .......................................................................................... 58
C. Dasar teori dan Rangkaian Percobaah ................................................................................ 58
DAFTAR PUSTAKA ........................................................................................................................ 63

v
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018

BAB 1

PENGENALAN MIKROKONTROLER ARDUINO

1.1 Apa itu arduino


Arduino adalah kit eloktronik atau papan rangkaian elektronik open source yang
didalamnya terdapat komponen utama, yaitu sebuah chip mikrokontroler dengan jenis AVR
dari perusahaan ATMEL. Mikrokontroler ini sendiri adalah chip atau IC (integrated circuit)
yang bisa diprogram menggunakan komputer. Tujuan menanamkan program pada
mikrokontroler adalah agar rangkaian elektronik dapat membaca input , memproses input
tersebut dan kemudian menghasilkan output sesuai dengan yang diinginkan. Jadi
mikrokontroler bertugas sebagai „otak‟ yang mengendalikan input, proses dan output sebuah
rangkaian elektronik.
Secara umum, arduino terdiri dari 2 bagian yaitu :
1. Hardware berupa papan input/output (I/O) yang open source.atau board arduino
2. Software arduino yang open source, meliputi software arduino IDE untuk menulis
program dan driver untuk koneksi dengan komputer.

1.2 Sejarah Singkat Arduino


Pendiri dari Arduino itu sendiri adalah Massimo Banzi dan David Caurtielles sebagai founder.
Awalnya mereka memberi nama proyek itu dengan sebutan Arduin dari Ivrea tetapi seiring dengan
perkembangan zaman, nama proyek itu diubah menjadi Arduino yang berarti “Teman yang Kuat”
atau dalam versi bahasa inggrisnya dengan sebutan “Hardwin”.
Proyek pengkabelan diciptakan oleh seorang seniman sekaligus programmer asal
kolombia bernama Hernando Barragan. Pengkabelan ini adalah proyek tesis Hernando pada
desain interaksi Institute Ivrea. Hal tersebut dimaksudkan untuk menjadi versi elektronik
pengolahan yang digunakan dilingkungan pemrogram dan mengambil pola sintaks
Processing. Dengan berkembangnya teknologi , Arduino menjadi sangat popular dikalangan
mahasiswa dan pelajar saat ini. Mereka mengembangkan Arduino dengan bootdloader dan
software dan user Friendly sehingga menghasilkan sebuah board mikrokontroler yang bersifat
open source yang bisa dipelajari dan dikembangkan oleh mahasiswa , pelajar, profesional,
pemula, dan penggemar elektronika maupun robotic diseluruh dunia. IDE (Integrated
Development Envirinment) diciptakan oleh Casey Reas dan Ben Fry, berapa programmer

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.

1.3 Kelebihan Arduino


Tentu saja ada banyak mikrokontroler maupun platform mikrokontroler tersedia, misalnya
saja Basic Stamp-nya Parallax, BX-24-nya Netmedia, Phidget, MIT‟s Handyboard, dan lain
sebagainya. Semua alat tersebut bertujuan untuk menyerderhanakan berbagai macam
kerumitan maupun detail rumit pada pemrograman mikrokontroler sehingga menjadi paket
mudah digunakan (easy-to-use) Arduino juga menyederhanakan proses bekerja dengan
mikrokontroler, sekaligus menawarkan berbagai macam kelebihan antara lain :

Murah. Papan (perangkat keras) Arduino biasanya dijual relative murah

Sederhana dan Mudah Programnya. Perlu diketahui bahwa lingkungan pemrogram di
arduino mudah digunakan untuk pemula , dan cukup fleksibel bagi mereka yang sudah
tingkat lanjut. Untuk guru, dosen, Arduino berbasis pada lingkungan pemrogram
Processing, sehingga jika mahasiswa atau murid-murid terbiasa menggunakan Processing
tentu saja akan mudah menggunakan Arduino. Bahkan didalam dos/kotak Arduino
terdapat tulisan bahwa arduino diperuntukkan bagi seniman, desainer, penghobi, dan
siapa saja. Sungguh membesrkan hati dan membangkitkan semangat bahwa penggunanya
tidak harus teknisi berpengalaman atau ilmuan ber otak jenius.

Perangkat Lunaknya Open Source. Perangkat lunak Arduino IDE dipublikasikan sebagai
open source, tersedia bagi para pemrogram berpengalaman untuk pengembangan lebih
lanjut bahasanya bisa dikembangkan lebih lanjut melalui pustaka-pustaka C++ yang
berbasis pada bahasa C untuk AVR.

Perangkat Kerasnya Open Source. Perangkat keras Arduino berbasis mikrokontroler
ATMEGA8, ATMEGA168, ATMEGA328 dan ATMEGA1280. Dengan demikian , siapa
saja bisa membuatnya (dan kemudian bisa menjualnya) perangkat keras Arduino ini,
apalagi bootloader tersedia langsung dari perangkat lunak Arduino IDE-nya. Bisa juga
menggunakan breadboard untuk membuat perangkat arduino beserta peripheral-periferal
lain yang dibutuhkan.

Tidak perlu perangkat chip programmer. Karena didalamnya sudah ada bootloader yang
akan menangani upload program dari komputer.

Sudah memiliki sarana komunikasi USB. Sehingga pengguna laptop yang tidak memiliki
port serial/RS323 bisa menggunakannya.

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.

1.4 Arduino Uno


Arduino Uno adalah papan mikrokontroler berbasis ATmega328 yang memiliki 14 pin digital
input/output (dimana 6 pin dapat digunakan sebagai output PWM) , 6 input analog, clock speed 16 MHz,
koneksi USB, Jack listrik, header ICSP, dan tobol reset. Board ini menggunakan daya yang terhubung
ke komputer dengan kabel USB atau daya eksternal dengan adptor AC-DC ata baterai.
Spesifikasi Board Arduino Uno.

 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

Adapun pin power suplai pada Arduino Uno adalah :


-
VIN. Tegangan input board arduino ketika menggunakan sumber daya (5 Volts dari
sambungan USB atau dari sumber regulator lain). Anda dapat mensuplai tegangan
pada pin ini jika suplai tegangan lewat power jack , dapat mengakses melalui pin ini.
-
5V. keluaran pin ini telah diatur sebesar 5V dari regulator pada board. Board dapat
disuplai melalui DC jack power (7-12V).konektor USB (5V), atau pin VIN (7-12 V).

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).

Input dan Output


Setiap pin digital pada board Arduino Uno dapat digunakan sebagai input ataupun
output. Dengan menggunakan fungsi pin model () digital write(), dan digital read(). Pin-pin
ini beroperasi pada tegangan 5Volt. Setiap pin mampu memberikan atau menerima arus
maksimum dan memiliki resistor pull-up internal (secara default tidak terhubung) dari 20-50
kOhm. Selain itu, berapa pin memiliki fungsi khusus:
-
Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirimkan (TX)
dan serial TTL. Pin ini terhubung ke pin yang sesuai dari chip ATmega 8U2 USB-to-
TTL Serial
-
Interupsi Eksternal: 2 dan 3. Pin ini dapat dikonfigurasi untuk memincu interrupt pada
nilai yang rendah , tetapi naik atau turun, atau perubahan nilai.
-
PWM:3, 5, 6, 9, 10, dan 11. Menyediakan 8-bit output PWM dengan fungsi
analogWrite()
-
SPI: 10 (SS), 11 (MOSI), 12(MISO), 13 (SGK). Pin ini mendukung komunikasi SPI
menggunakan library SPI.

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 Pemrograman Arduino

Banyak bahasa pemrograman yang bisa digunakan untuk program mikrokontroler ,


misalnya bahasa basic, assembly,atau bahasa C. Namun dalam pemrograman Arduino bahasa
yang dipakai adalah bahasa C. Bahasa C adalah bahasa yang sangat lazim dipakai sejak awal
komputer diciptakan dan sangat berperan dalam perkembangan software.

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 .

Bahasa C adalah multi-platform karena bahasa C bisa diterapkan pada linkungan


windows, unix , linux, atau sistem operasi lain tanpa mengalami perubahan source code.
(kalaupun ada perubahan, biasanya sangat minim). Karena Arduino menggunakan bahasa C
yang multi-platform, software arduino pun bisa dijalankan pada saat sitem operasi yang
umum, misalnya Windows, Linux, dan MacOS.

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

Arduino adalah mesin digital, tetapi mempunyai kemampuan untuk beroperasi


didalam alam analog (menggunakan trik). Berikut ini cara untuk menghadapi hal yang bukan
digital.

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

SOFTWARE ARDUINO IDE


Software ini digunakan untuk menulis program pada board arduino. IDE (integrated
Development Emvirorment) adalah sebuah software yang sangat berperan untuk menulis
program, meng-compilemenjadi kode biner dan mengupload ke dalam memory
mikrokontroler. Software ini dapat di download secara gratis.
Instalasi SoftwareArduino IDE
Langkah-langkah instalasi IDE Arduino adalah sebagai berikut:
1. Download Software IDE Arduino pada website resmi Arduino
http://arduino.cc/en/Main/Software , hasil download berupa file kompresi, Arduino-
1.0.6-windows.zip kemudian ekstrak hasil download.
2. Ekstrak file zip hasil download pada salah satu folder missa lpada folder D. pada
file kompres zip terdapat arduino.exe.
2. Jalankan aplikasi dengan mengklik dua kali arduino.exe.
3. Setelah klik dua kali arduino.exe diperoleh jendela utama dari software IDE
arduino seperti gambar berikut

Gambar 1. Tampilan Software Arduino IDE


Software IDE arduino adalah software yang ditulis dengan
menggunakan java. Jendela utama IDE arduino terdiri dari tiga bagian utama, yaitu :

Bagian atas, yakni toolbar , pada bagian atas juga terdapat menu file, edit, sketch,
tools, dan help

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.

Instalasi Drivers USB Arduino pada Windows

Untuk menghubungkan atau mengomunikasikan komputer/laptop dengan board


arduino, diperlukan instalasi driver. Tentunya peralatan yang dibutuhkan adalah board
arduino, dalam workshop ini digunakan Arduino Uno R3 dan juga dibutuhkan kabel USB
standar A-B (sama dengan kabel yang anda gunakan untuk printer USB).

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.

Bread Board dan kabel jumper


Untuk praktek, akan menggunakan project board (ada yang menyebutnya dengan
istilah bread board) dan beberapa kabel jumper untuk menghubungkan antara komponen dan
Arduino (Gambar 1.2). Dengan project board kita tidak perlu menyolder rangkaian sehingga
relatif mudah dan cepat dalam merangkai. Project board memungkinkan kita untuk
membangun dan membongkar rangkaian dengan cepat sehingga sangat cocok untuk
eksperimen. Tapi jika kita ingin membuat rangkaian yang permanen, maka kita harus
menggunakan PCB.

Gambar 1.1 Breadboard dan Kabel jumper


Yang terpenting adalah, haruslah memahami jalur-jalur pada project board. Project board
terdiri dari jalur vertikal dan jalur horisontal. Jalur vertikal ada di bagian tengah yang terdiri
dari 2 x 64 jalur. Masing-masing jalur terdiri dari 5 titik vertikal, misal jalur 1A-1B-1C-1D-
1E dan jalur 1F-1G-1H-1I-1J yang kedua tidak saling tersambung. Jalur horisontal sebanyak 8
jalur, 4 jalur ada di bagian atas dan 4 jalur lagi di bagian bawah. Jalur ini bisa digunakan
untuk power supply (VCC dan GND) untuk rangkaian. Untuk lebih jelasnya, silakan
perhatikan Gambar 1.2 Garis merah menunjukkan bahwa lubang tersebut terhubung secara
fisik.

12
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018

Gambar 1.2 Peta jalur pada breadboard

Uji Sketch Pertama

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

Gambar 2. Rangkaian LED


Kode program led berkedip
/* simulasi dan praktik pertama led berkedip
untuk uji simulasi dan upload program
*/

13
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018

Int led = 13 ; // led terhubung pada pin 13

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

1. pada baris pertama , kode program


/* simulasi dan praktik pertama led berkedip untuk uji simulasi dan upload program
*/
Kode ini /*..*/ digunakan untuk menuliskan catatan untuk komentar dengan banyak
bari misal nama project, prinsip kerja, dll. Semua hal yang terletak di antara dua
symbol tersebut akan diabaikan oleh program. Komentar untuk baris digunakan
kode //.
2. Pada baris kedua
Int led = 13;
Kode ini dikenal sebagai variable. Variable adalah tempaT menyimpan data. Pada kode
ini kita mensetting variable jenis int atau integer. Integer digunakan untuk menyimpan
angka dalam 2 byte (16 bit). Tidak mempunyai angka decimal dan menyimpan nilai dari -
32.768 dan 32.767. selanjutnya dari kode di atas diberi nama led dan mempunyai nilai 13.
Pada pemrograman arduino , nama variable led merupakan pendefenisian led sebagai
nilai 13, ini digunakan untuk menandai nomor saluran yang digunakan untuk pin arduino
terhubung dengan led. Dengan kata lain led dipasang pada pin 13.
3. Baris program berikutnya
Void setup () {
pinMode (led,OUTPUT);

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.

Upload Program Pertama “Led Berkedip” Ke Board Arduino


Jika petama kali belajar bahasa pemrograman apapun (basic,java,html,dll) biasanya
pelajaran pertama kita , yaitu program “hello world”. Nah pada Arduino , program “hello
world” ini adalah led berkedip (blinking led) , program ini kita gunakan untuk menguji papan
arduino yang kita beli , apa benar-benar berfungsi sebagaimana mestinya.
Daftar komponen dan peralatan yang diperlukan:
1. Papan Arduino Uno R3
2. Kabel USB standar A-B

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.

Langkah-langkah upload uji program pertama ke papan arduino sebagai berikut:


1. Jalankan software IDE arduino.
2. Colokkan kabel USB yang tersambung dengan papan arduino ke komputer anda.
Pastikan windows sudah dapat mengenal papan ardiuno anda (srial port)
3. Selanjutnya klik tools→board→Arduino Uno. Kemudian ketik atau maArduino
Uno.

4. Kemudian ketik atau masukkan kode program “led berkedip”


5. Sebelum melakukan upload ke papan arduino sebaiknya kita cek program/sketch
yang kita masukkan , apa ada yang eror atau tidak, caranya klik icon verify.
Bila kode program/sketch tidak ada yang eror, maka jendela teks konsul terdapat
keterangan ukuran byte program.
6. Pada toolbar, klik ikon Upload untuk membuar sketch tersebut kedalam papan
arduino , berkedip-kedip kan? Berhasi…!!!!

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

Gambar 2.1. Rangkaian LED


Langkah kerja dalam membuat rangkaian percobaan:
Sebulum menghubungkan setiap komponen kedalam rangkaian , lepaskan colokan
kabel USB Arduino komputer. Rangkailah komponen satu persatu sesuai dengan rangkaian
yang ditunjukan pada Gambar 3, dimana langkah-langkahnya sebagai berikut:

1. Pasang kaki positif LED di G4 dan kaki negatifnya di G3,


2. Setelah itu, hubungkan salah satu kaki resistor pada lubang J3, kemudian kaki satunya
ke lubang di kolom pertama dari kanan,
3. Ambil kabel jumper, lalu sambungkan lubang J4 ke lubang di kolom kedua dari
kanan,
4. Ambil kabel jumper, sambungkan salah satu lubang di kolom pertama ke socket GND
pada board Arduino,
5. Ambil kabel jumper, sambungkan salah satu lubang di kolom kedua ke socket 5V di
board Arduino
6. Hubungkan USB Arduino ke komputer/laptop.

D. Membuat Sketch Program untuk Led berkedip


Untuk membuat Sketch program, pertama-tama buka aplikasi Arduino IDE seperti pada
Gambar 2.2, kemudian ketikan sketch program seperti yang ditunjukan di bawah ini.

18
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018

Gambar 2.2. Tampilan Arduino IDE


Sketch Program LED Blink:

const int pinLED = 8;


void setup() {
pinMode(pinLED, OUTPUT);
}

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

Gaambar 2.3. SetingPengaturan koneksi Board Arduino dengan Laptop

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.

Gambar 6. Proses Upload program sukses

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

PRAKTIKUM ANIMASI LED

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.

Gambar 2.1. Rangkaian animasi Led

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

// jika i=4, hidupkan semua led


digitalWrite(pinLED1, HIGH);
digitalWrite(pinLED2, HIGH);
digitalWrite(pinLED3, HIGH);
digitalWrite(pinLED4, HIGH);
}else{
// jika tidak, matikan semua led
digitalWrite(pinLED1, LOW);
digitalWrite(pinLED2, LOW);
digitalWrite(pinLED3, LOW);
digitalWrite(pinLED4, LOW);
}
// delai selama 5 detik
delay(5000);
}
}
Keterangan proses kerja program:
Program di atas 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.
6. Lakukan verifikasi terlebih dahulu untuk mengecek apakah ada kode program yang error
7. Klik icon upload pada toolbar , untuk mengupload sketch ke papan arduino. Lihat
hasilnya. Perhatikan LED pada breadboard, LED pada breadboard.

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

3. Buatlah laporan tentang percobaan animasi Led yang telah dilakukan

25
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018

BAB IV

PRAKTIKUM INPUT PUSHBUTTON

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

C. Teori singkat dan Rangkaian Percobaah


Pushbutton
Tombol pushbutton (tactile) atau tombol push on. Ketika tombol ini ditekan, maka jalur akan
tertutup (ON), ketika dilepas jalur akan kembali terbuka (OFF). Tombol ini banyak digunakan
untuk peralatan seperti remote, keypad, keyboard, atau tombol untuk pengaturan TV, ld atau
sejenisnya. Gambar 4.1 memperlihatkan bentuk fisik dan symbol dari pushbutton.

Gambar 4.1 Pushbutton


Percobaan kali ini adalah untuk mengendalikan hidup/matinya-nya LED dengan tombol
pushbutton. Jika tombol ditekan, LED akan menyala, jika dilepas, LED kembali padam.
Untuk melakukan percobaan ini, siapkan sebuah pushbutton, sebuah LED, dan sebuah
resistor. Siapkan juga beberapa kabel jumper untuk merangkai komponen-komponen tersebut.

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.

Gambar 4.2 Rangkaian percobaan input pushbutton


Program
Buatlah program pada Arduino IDE untuk membaca keadaan input melalui pushbutton,
apakah ditekan atau tidak. Jika ditekan, maka Led akan diaktifkan dan jika dilepas, maka Led
akan padam. Programnyasebagai berikut:
// pin 2 sebagai input dan pin 8 sebagai output
const int pinButton = 2;
const int pinLED = 8;
void setup() {
pinMode(pinButton, INPUT);
pinMode(pinLED, OUTPUT);
// aktifkan pull-up resistor

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

PRAKTIKUM MENGONTROL TINGKAT KECERAHAN LED

A. Tujuan
 Menggunakan Arduino untuk aplikasi pengaturan tingkat kecerahan nyala Led
 Membuat program sederhana untuk aplikasi pengaturan tingkat kecerahan 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
 2 buah pushbutton
 Kabel jumper
C. Dasar teori dan Rangkaian Percobaah
Sebelumnya kita sudah membahas tentang cara menghidupkan dan mematikan LED dengan
sebuah pushbutton. Selanjutnya, kita akan menggunakan dua buah pushbutton dengan
ketentuan : pushbutton yang pertama untuk menaikkan kecerahan LED hingga paling terang,
sedangkan pushbutton yang kedua untuk menurunkan kecerahan LED hingga LED padam.
Fungsi kedua pushbutton ini mirip dengan volume-up dan volume-down. Yang satu untuk
meningkatkan volume (kecerahan), sedangkan satunya lagi untuk menurunkan volume
(kecerahan).
Setidaknya ada dua cara untuk menaikkan atau menurunkan tingkat kecerahan LED:
1. Mengubah arus yang masuk ke LED, cara ini bisa diaplikasikan dengan mengubah
nilai resistor
2. Menghidup-matikan LED dengan cepat atau lambat. Begini, ketika kita menghidup-
matikan LED dengan cepat, maka mata manusia tidak bisa mengetahuinya. Yang
ditangkap oleh mata adalah terang atau redupnya saja. Jika kita menghidup-matikan
led dengan cepat, maka LED tersebut akan terlihat terang, tapi kalau kita menghidup
matikan LED dengan lebih lambat, maka LED akan terlihat lebih redup.
Dalam elektronika digital, konsep yang kedua dikenal dengan istilah PWM (Pulse Width
Modulation). Apa itu PWM?

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.

Gambar 5.1 siklus pulsa PWM


Jika kita memberikan nilai 127 (kita anggap setengah dari 0 hingga 255, atau 50% dari 255),
maka setengah siklus akan bernilai 5 volt, dan setengah siklus lagi akan bernilai 0 volt.
Sedangkan jika jika memberikan 25% dari 255 (1/4 * 255 atau 64), maka 1/4 siklus akan
bernilai 5 volt, dan 3/4 sisanya akan bernilai 0 volt, dan ini akan terjadi 500 kali dalam 1
detik. Untuk visualisasi siklus PWM, bisa Anda lihat Gambar 5.1.

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.

Gambar 5.2 Pengaturan intensitas cahaya Led

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

PRAKTIKUM APLIKASI POTENSIO METER

A. Tujuan
 Menggunakan Arduino untuk aplikasi pengaturan dengan potensio meter
 Membuat program sederhana untuk aplikasi pengaturan dengan potensio meter

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
 1 buah potensio meter
 Kabel jumper

C. Dasar teori dan Rangkaian Percobaah


Setelah kita belajar mengatur intensitas cahaya LED dengan pushbutton, kali ini kita akan
mengunakan potensiometer. Kelebihan menggunakan potensiometer yaitu kita lebih mudah
sebab kita hanya butuh satu alat untuk membuat LED lebih redup atau lebih terang.
Jika kita langsung mengatur LED dengan potensiometer, kita harus memiliki potensiometer
yang pas untuk LED tersebut. Jika hambatan potensiometer tidak sesuai, mungkin LED akan
mati sebelum potensiometer habis, atau LED sudah full nyalanya ketika potensiometer baru
kita naikkan setengah. Jadi, kita tidak bisa menggunakan satu putaran full potensiometer
untuk menaikkan atau menurunkan intensitas cahaya LED tersebut.
Yang digunakan di gambar adalah potensiometer trimmer yang ukurannya lebih kecil dan bisa
ditancapkan ke project board. Gambar 6.1 adalah contoh salah satu trimmer.

Gambar 6.1 Potensiometer jenis Trimmer

33
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018

Berikut tahapan untuk membuat rangkaian tersebut:


1. Sambungkan kaki negatif LED ke GND dengan jumper
2. Kaki positif LED dihubungkan ke salah satu ujung kaki (kaki yang bawah)
potensiometer dengan jumper
3. Kaki tengah (kaki di sisi yang sendirian) dihubungkan dengan ujung kaki yang
lainnya (kaki yang atas) dengan jumper
4. Kaki yan atas dihubungkan ke +5v dengan resistor.

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

Gambar 6.2 Mengatur brightness Led dengan potensio meter


Program
Buka aplikasi Arduino IDE, kemudian keikan program 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;
int brightness = 0;
void loop() {
// baca nilai kaki A0 (sensor, potensiometer)
sensor = analogRead(pinPot);
// konversi nilai 0-1023 (Analog) menjadi 0-255 (PWM)
brightness = map(sensor, 0, 1023, 0, 255);
// tentukan brightness LED dengan PWM
analogWrite(pinLED, brightness);
}
Setelah program selesai diketikan, 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.
Selanjutnya, mari kita coba untuk mengatur durasi kedipan LED berdasarkan nilai pada
potensiometer. Jika „volume‟ potensiometer rendah, durasi kedipan LED akan cepat. Jika

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

PRAKTIKUM APLIKASI SOUND

A. Tujuan
 Menggunakan Arduino untuk aplikasi menghasilkan suara melalui perangkat sound
(speaker)
 Membuat program sederhana untuk aplikasi menghasilkan suara melalui perangkat
sound (speaker)

B. Alat dan Bahan yang digunakan


 1 buah Papan Arduino Uno
 1 buah Bread Board
 1 buah speaker

C. Dasar teori dan Rangkaian Percobaah


Pada bagian ini kita akan bermain-main dengan suara. Sehingga kita akan membutuhkan
speaker untuk membangkitkan suara dan nada musik sederhana. Pada dasarnya, untuk
membuat speaker berbunyi maka kita harus menghidup-matikan speaker sesuai dengan
frekuensi suara yang ingin kita bunyikan. Hidup-matinya speaker akan membuat spool
speaker bergetar (bergerak maju-mundur) dan menghasilkan bunyi dengan nada tertentu.
Suara musik kelas A menengah sekitar 440 Hz. Masih ingat apa itu Hz? Hz merupakan
kependekan dari Hertz. Hertz adalah jumlah siklus perdetik. Dengan demikian, jika kita ingin
memainkan musik kelas A menengah, maka kita harus menyalakan dan mematikan speaker
sebanyak masing-masing 440 kali dalam 1 detik.
Untuk menghidup-matikan speaker sebanyak masing-masing 440 kali, kita bisa
memanfaatkan fungsi delay(). Sebelumnya kita telah membuat LED berkedip dengan
memanfaatkan delay. Perlakuan kita terhadap LED akan kita terapkan pada speaker, tapi
dengan tempo yang lebih cepat.
Cara menghitung delay yang kita butuhkan untuk mendapatkan siklus 440 Hz (nada 440Hz)
yaitu dengan cara:

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.

Gambar 7.1 Siklus frekwensi dan delay


Rangkaian Percobaan
Buatlah Rangkaian percobaan seperti pada Gambar 7.1 dengan speaker 8 ohm atau 16 ohm.
Speaker baru atau speaker bekas radio yang masih berfungsi bisa di gunakan.
1. Sambungkan kaki positif speaker pada pin 9 board arduino
2. Sambungkan kaki negatif pada GND pada board arduino
3. Jika nanti suara yang dihasilkan terlalu nyaring, maka Anda bisa menambahkan
resistor 100 – 1 k ohm pada kaki positif atau negatif speaker. Untuk itu, penggunaan
project board akan memudahkan Anda untuk menyambung resistor tersebut.

38
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018

Gambar 7.1 Rangkaian speaker sebagai sound


Program Percobaan
Untuk membuat bunyi / nada 440 Hz kita harus menghidup-matikan 440 kali dengan delay
masing-masing 1136 mikrodetik. Perhatikan, satuannya adalah mikrodetik (1/1000 milidetik).
Padahal fungsi delay() yang sering kita gunakan sebelumnya satuannya dalam milidetik. Oleh
sebab itu, untuk membuat delay dengan satuan mikrodetik kita bisa menggunakan fungsi
delayMicroseconds().
Ketika program Sketch dijalankan, maka speaker akan berbunyi terus menerus hingga kabel
speaker dilepas atau Arduino dimatikan. Begitulah cara kerja speaker berbunyi dan membuat
program suara yang sederhana.
Buatlah program seperti di bawah ini pada Arduino IDE:
// speaker ada di pin 9
const int pinSpeaker = 9;
// delay untuk nada 440 Hz
const int timeDelay = 1163;
void setup() {
pinMode(pinSpeaker, OUTPUT);
}
void loop() {
digitalWrite(pinSpeaker, HIGH);
delayMicroseconds(timeDelay);
digitalWrite(pinSpeaker, LOW);
delayMicroseconds(timeDelay);
}

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

PRAKTIKUM APLIKASI THERMOMETER DIGITAL

A. Tujuan
 Menggunakan Arduino untuk aplikasi Thermometer digital
 Membuat program sederhana untuk aplikasi Thermometer digital

B. Alat dan Bahan yang digunakan


 1 buah Papan Arduino Uno
 1 buah Bread Board
 1 buah sensor suhu LM35
 Kabel jumper

C. Dasar teori dan Rangkaian Percobaah


Sebelum kita membuat termometer digital, kita akan belajar bagaimana menggunakan Serial
Monitor sebagai alat untuk melihat apakah sensor menghasilkan data yang benar atau tidak.
Maksudnya begini, ketika kita menggunakan sebuah sensor untuk mengambil data, maka
sensor akan mengirimkan data untuk diproses oleh mikrokontroller. Untuk memastikan data
dari sensor tersebut merupakan data yang benar, maka kita bisa melihatnya melalui Serial
Monitor. Cara kerjanya begini:
1. Mikrokontroller akan membaca data dari sensor
2. Kemudian mikrokontroller akan membuat koneksi serial ke komputer
3. Selanjutnya mikrokontroller akan mengirimkan data ke komputer melalui komunikasi
serial tersebut
4. Lalu kita bisa melihat data yang diterima oleh komputer menggunakan serial monitor,
hyperterminal, atau aplikasi sejenis seperti CoolTerm dan PuTTY5.

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.

Gambar 8.1 Icon Serial monitor pad Arduino IDE


Sebelum muncul pesan “Done Uploading”, maka Serial Monitor belum bisa dibuka. Setelah
Serial Monitor dibuka, maka akan terlihat pesan seperti pada Gambar 8.2.

Gambar 8.2 Tamppilan serial monitor


Sensor LM35
LM35 merupakan IC sensor suhu dengan bentuk yang mirip dengan transistor. Kaki IC ini
hanya ada tiga, yaitu untuk VCC, Output, dan GND, seperti yang diperlihatkan pada Gambar
8.3

43
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018

Gambar 8.3 Sensor suhu LM35


Sensor ini bisa digunakan untuk mengukur suhu dari -55o – 150o celcius. Berdasarkan
datasheet LM356, maka kita bisa menggunakan pengukuran penuh (-55 – 150o celcius) atau
pengukuran sebagian yaitu hanya bisa menghitung dari 2 – 150o celcius. Untuk pengukuran
penuh, maka rangkaian dasarnya seperti tampak pada Gambar 8.4 sedangkan untuk
pengukuran sebagian, rangkaian dasarnya adalah seperti pada Gambar 8.5.

Gambar 8.4 Rangkaian Pengukuran suhu dengan LM35

Gambar 8.5 Rangkaian dasar pengukuran dengan sensor LM35

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

Gambar 8.6 Rangkaian sensor suhu LM35 dengan Arduino


Prosedur kerja:
1. Sambungkan kaki 1 ke VCC
2. Sambungkan kaki kedua (tengah) ke A0. A0 adalah pin analog, kaki pin analog
berfungsi untuk berbagasi tranduser / sensor yang mengharuskan sinyal analog. Oleh
sebab itu, untuk membaca kaki ini menggunakan analogRead(), sedangkan untuk
menulisnya menggunakan analogWrite().
3. Sambungkan kaki ke-3 ke GND

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

output LM35, kemudian menghitungnya berdasarkan tegangan referensi yang digunakan,


mengubahnya menjadi celcius, lalu mengirimkannya ke komputer melalui komunikasi serial.
Jika kita menggunakan tegangan referensi 5 volt, maka Arduino bisa mengukur setidaknya
hingga 5000 mV. padahal kemampuan LM35 hanya sebatas 150o celcius atau 150 x 10 mV =
1500 mV (1.5
volt). Sehingga tegangan yang keluar dari kaki output LM35 tidak akan mungkin melebihi
1.5 volt.
Berdasarkan persamaan sederhana, maka kita bisa menghitung suhu berdasarkan
perbandingan antara kapasitas voltase yang bisa dicacah oleh pin analog Arduino (1024) dan
kemampuan LM35 mengukur suhu.
Suhu dalam Voltase (T) : 0 - 500
Cacahan Voltase input (Vin) : 0 - 1024
0/500 = 0/1024
T/500 = Vin/1024
T = (Vin * 500) / 1024
Buat program sebagai berikut pada Arduino IDE
const int pSuhu = A0;
float suhu, data;
void setup() {
Serial.begin(9600);
pinMode(pSuhu, INPUT);
}
void loop() {
data = analogRead(pSuhu);
suhu = data * 500 / 1024;
Serial.print("data: ");
Serial.print(data);
Serial.print(", suhu: ");
Serial.print(suhu);
Serial.println();
delay(1000);
}
Program pada Sketch akan membaca data dari sensor suhu pada pin A0 di board Arduino
kemudian mengkonversinya menjadi 78 suhu. Informasi suhu akan dikirim ke komputer
melalui komunikasi serial dengan baud rate 9600 setiap 1000 milisekon.

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

PRAKTIKUM APLIKASI THERMOMETER DIGITAL DENGAN TAMPILAN LCD

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

B. Alat dan Bahan yang digunakan


 1 buah Papan Arduino Uno
 1 buah Bread Board
 1 buah sensor suhu LM35
 1 buah LCD 2 x 16
 Kabel jumper

C. Dasar teori dan Rangkaian Percobaah

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

Gambar 9.1 LCD 1602


LCD 1602 memiliki 16 pin dengan fungsi-fungsi sebagai berikut:

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.

Rangkaian Dasar LCD 1602


Untuk merangkai LCD, yang Anda butuhkan adalah beberapa kabel jumper dan sebuah
potensiometer. Potensiometer ini berfungsi untuk mengatur kontras backlight LCD.
Perhatikan Rangkaian 9.2.

49
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018

Gambar 9.2 Menghubungkan LCD 1602 ke Arduino

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

Pemograman dasar pada LCD


Buatlah program untuk menampilkan tulisan “TEKNIK ELEKTRO” seperti dibawah ini pada
Arduino IDE
#include <LiquidCrystal.h>
// Setting LCD RS E D4 D5 D6 D7
LiquidCrystal lcd(7, 6, 9, 10, 11, 12);
void setup(){
// pilih LCD 16 x 2
lcd.begin(16,2);
lcd.print("TEKNIK ELEKTRO");
}
int hitung = 0;
void loop(){

50
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018

// pindah ke baris kolom 1 baris ke 2


// array selalu dimulai dari 0
lcd.setCursor(0,1);
lcd.print( hitung++ );
delay(1000);
}

Upload program yang dibuat ke board Arduino.

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

PRAKTIKUM APLIKASI SENSOR CAHAYA (LDR)

A. Tujuan
 Menggunakan Arduino untuk aplikasi sensor cahaya dengan menggunakan LDR
 Membuat program sederhana untuk aplikasi sensor cahaya dengan menggunakan
LDR

B. Alat dan Bahan yang digunakan


 1 buah Papan Arduino Uno
 1 buah Bread Board
 1 buah sensor cahaya LDR
 Kabel jumper

C. Dasar teori dan Rangkaian Percobaah


Salah satu jenis sensor cahaya adalah LDR (Light Dependent Resistor). Dengan sensor ini,
kita bisa membuat alat yang berkaitan dengan cahaya seperti jemuran otomatis, tracking arah
sumber cahaya matahari, lampu otomatis (untuk rumah, aquarium, dll), atau sebagai pengatur
intensitas cahaya lampu untuk tananaman di dalam ruangan, dan banyak lagi lainnya. Di
pasaran ada LDR yang berukuran 4 mm dan 11 mm. Pada Gambar 6.1 adalah LDR dengan
ukuran 11 mm.

Gambar 10.1 LDR 11 mm

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.

Gambar 10.2 Pengukuran LDR


Sedangkan pada saat kondisi terang, maka intensitas yang mengenai LDR banyak. Maka
energi cahaya yang diserap akan membuat elektron bergerak cepat sehingga lepas dari atom
bahan semikonduktor tersebut. Dengan banyaknya elektron bebas, maka muatan listrik lebih
mudah untuk dialirkan. Artinya saat intensitas cahaya yang mengenai LDR banyak maka
LDR akan memiliki resistansi yang kecil dan menjadi konduktor yang baik.
Gambar di atas adalah resistansi pada LDR dalam kondisi terang dan kondisi gelap. Dalam
kondisi terang, resistansi masih kisaran 1K ohm, dan ketika cahaya sedikit terhalangi
sehingga agak gelap, maka resistansi meningkat hingga puluhan kilo ohm. Karakteristik
inilah yang bisa kita manfaatkan untuk mengaktifkan relay dan menghidupkan lampu.
Rangkaian Dasar LDR
Ketika ingin menjadikan LDR sebagai sensor, maka kita bisa mengacu pada rangkaian
resistor sebagai pembagi tegangan (lihat Gambar 6.4). Dengan menggabungkan antara LDR

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.

Gambar 10.3 Rangkaian pembagi tegangan


Tegangan pada V1 atau V2 dapat dihitung berdasarkan hukum ohm dan aturannya pada
rangkaian seri. Pada rangkaian tersebut, arus pada semua titik dalam rangkaian tersebut
nilainya sama sehingga kita bisa menghitung V1 atau V2 tanpa mengetahui arus yang
mengalir. Lalu bagaimana cara menghitung V1 dan V2?
Pada rangkaian, ada 3 titik yang memiliki tegangan berbeda. Tegangan Vin, tegangan pada
R1, dan tegangan pada R2. Berdasarkan hukum ohm, Vin, V1, dan V2 bisa dihitung dengan
cara:

Jika ingin menghitung V1, maka kita tinggal menyubstitusikan antara pers 1 dan pers 2.

Atau lebih umum dikenal dengan rumus :

Lalu jika ingin menghitung V2, maka rumusnya adalah:

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

Gambar 10.4 Sensor cahaya dan Arduino


Berdasarkan Rangkaian 10.4, yang perlu Anda siapkan adalah resistor 10 K ohm, LDR, dan
beberapa kabel jumper. Agar bisa coba-coba, silakan resistor 10 K ohm bisa Anda ganti
dengan potensiometer 50 K atau 100 K, sehingga Anda lebih mudah ketika mencoba dengan
resistansi yang berbeda. Potensiometer juga bisa digunakan untuk kalibrasi input pada
Arduino
1. Salah satu kaki LDR disambungkan ke VCC pada Arduino
2. Salah satu kaki Resistor disambungkan ke GND pada arduino
3. Sambungkan sisa kaki LDR dan sisa kaki resistor, kemudian sambungan tersebut
dihubungkan ke pin A0 pada board Arduino
.
Pemograman Aplikasi Sensor Cahaya
Program ini1 akan membaca nilai tegangan pada sensor dan mengirimkannya ke komputer
melalui komunikasi serial. Dengan Arduino, kita bisa membuat berbagai logika untuk sensor
cahaya sehingga aplikasi dari LDR ini bisa diperluas dan dibuat lebih kompleks
diintegrasikan dengan berbagai sistem. Adapun programnya sebagai berikut:
// pin A0 ke LDR
const int pinLDR = A0;
void setup() {
Serial.begin(9600);
pinMode(pinLDR, INPUT);
}
int dataLDR = 0;
void loop() {
dataLDR = analogRead(pinLDR);
Serial.print("dataLDR : ");
Serial.print(dataLDR);

56
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018

Serial.print(" Kondisi : ");


if(dataLDR < 150){
Serial.println("GELAP");
}else if(dataLDR < 300){
Serial.println("REDUP");
}else if(dataLDR < 450){
Serial.println("TERANG");
}else{
Serial.println("SILAU");
}
delay(1000);
}
Setelah program selesai dibuat, maka lakukanlah proses ferifikasi terlebih dahulu guna
memastikan bahwa program yang dibuat tidak ada kesalahan. Jika tidak ada kesalahan, maka
langkah selanjutnya adalah mengupload program ke board Arduino.

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

PRAKTIKUM APLIKASI SENSOR ULTRASONIK

A. Tujuan
 Menggunakan Arduino untuk aplikasi sensor Jarak dengan Sensor Ultrasonik
 Membuat program sederhana untuk aplikasi sensor Jarak dengan Sensor Ultrasonik

B. Alat dan Bahan yang digunakan


 1 buah Papan Arduino Uno
 1 buah Bread Board
 1 buah sensor cahaya Ultrasonik
 Kabel jumper

C. Dasar teori dan Rangkaian Percobaah


Gelombang ultrasonik merupakan gelombang yang umum digunakan untuk radar untuk
mendeteksi keberadaan suatu benda dengan memperkirakan jarak antara sensor dan benda
tersebut. Dalam ebook ini, kita akan mempelajarinya dengan salah satu sensor ultrasonik HC-
SR04 sebab sensor ini juga relatif terjangkau untuk pembelajaran. Bentuk fisik dari sensor ini
tampak seperti gambar 11.1.

Gambar 11.1 Sensor ultrasonic HC-SR04


Sensor ultrasonik adalah sebuah sensor yang berfungsi untuk mengubah besaran fisis (bunyi)
menjadi besaran listrik dan sebaliknya. Cara kerja sensor ini didasarkan pada prinsip dari
pantulan suatu gelombang suara sehingga dapat dipakai untuk menafsirkan eksistensi (jarak)
suatu benda dengan frekuensi tertentu. Disebut sebagai sensor ultrasonik karena sensor ini
menggunakan gelombang ultrasonik (bunyi 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.

Cara Kerja sensor Ultrasonik


Pada sensor ultrasonik, gelombang ultrasonik dibangkitkan melalui sebuah alat yang disebut
dengan piezoelektrik dengan frekuensi tertentu. Piezoelektrik ini akan menghasilkan
gelombang ultrasonik (umumnya berfrekuensi 40kHz) ketika sebuah osilator
diterapkan pada benda tersebut. Secara umum, alat ini akan menembakkan gelombang
ultrasonik menuju suatu area atau suatu target. Setelah gelombang menyentuh permukaan
target, maka target akan memantulkan kembali gelombang tersebut. Gelombang pantulan dari
target akan ditangkap oleh sensor, kemudian sensor menghitung selisih antara waktu
pengiriman gelombang dan waktu gelombang pantul diterima (Gambar 11.2).

59
Modul Praktek Mikrokontroler Prodi D3 Teknik Listrik Jurusan Teknik Elektro, 2018

Gambar 11.2 Cara kerja sensor Ultrasonik


Karena kecepatan bunyi adalah 340 m/s, maka rumus untuk mencari jarak berdasarkan
ultrasonik adalah :

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

Gambar 11.3 Timing HC-SR04

Rangkaian Percobaan
Buatlah rangkaian seperti Rangkaian seperti pada Gambar 11.4

Gambar 11.4 Sensor Jarak dengan HC-SR04

1. VCC pada HC-SR04 dihubungkan ke +5V pada board Arduino


2. GND disambungkan ke GND
3. Pin Trig (Trigger) disambungkan ke pin 10 pada board Arduino
4. Pin Echo disambungkan ke pin 9 pada board Arduino

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

1. John Crisp, 2004, Introduction Microprocessors and Microcontrollers (2ndEdition), an


imprint of Elsevier, ISBN: 0-7506-5989-0
2. Jack Purdum, 2012, Beginning C for Arduino, Published by by Springer Science, ISBN:
978-1-4302-4777-7
3. Michael Margolis, 2011, Arduino Cookbook, Published by O’Reilly Media, Inc.,ISBN:
978-0-596-80247-9
4. John Boxall, 2013, Arduino Workshop a Hands-on Introduction with 65 Projects, No
Starch Press, Inc, ISBN: 978-1-59327-448-1.
5. Sumber internet lainnya :
 https://www.arduino.cc/
 http://www.arduino.web.id/
 http://elektrokita.com/mengenal-arduino-uno/
 http://panduanbelajarmicrocontroller.blogspot.co.id/2013/04/pengantarbelajar-
arduino.html
 http://aozon.blogspot.co.id/2014/03/perkenalanmengenal-arduino-daripemula.html
 http://bsiswoyo.lecture.ub.ac.id/2012/06/belajar-arduino-pengantar/
 http://arduino-elektro-robotik.blogspot.co.id/2014/01/05-project-ledblink.html
 http://www.rustamaji.net/id/component/arduino-uno

63

Anda mungkin juga menyukai