-
Disusun Oleh:
Marson J. Budiman,SST.,MT
POLITEKNIK NEGERI MANADO JURUSAN TEKNIK ELEKTRO
PROGRAM STUDI D3 TEKNIK KOMPUTER 2019
D III – TEKNIK KOMPUTER
-
LEMBAR PENGESAHAN
PRAKTIKUM
MIKROKONTROLER
Oleh :
Marson J. Budiman,SST.,MT
Manado, Desember 2019
Menyetujui,
Ketua Jurusan Teknik Elektro Koordinator Program Studi,
Fanny J Doringin, ST.,MT Marson James Budiman, SST.,MT
NIP. 96704301992031003 NIP. 197503052003121002
Mengetahui,
Wakil Direktur Bidang Akademik,
Dra. Maryke Alelo, MBA NIP. 19641213 199103 2 001
-
Modul Praktek Mikrokontroler Prodi D3 Teknik Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 50mA.
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 Komputer Jurusan Teknik Elektro, 2019
-
-
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 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 Komputer Jurusan Teknik Elektro, 2019
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
-
Modul Praktek Mikrokontroler Prodi D3 Teknik Komputer Jurusan Teknik Elektro, 2019
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
http://arduino.cc/en/Main/Software
-
Modul Praktek Mikrokontroler Prodi D3 Teknik Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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
-
Modul Praktek Mikrokontroler Prodi D3 Teknik Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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
-
Modul Praktek Mikrokontroler Prodi D3 Teknik Komputer Jurusan Teknik Elektro, 2019
// 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 Komputer Jurusan Teknik Elektro, 2019
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
-
Modul Praktek Mikrokontroler Prodi D3 Teknik Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
}
// 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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
„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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 // 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 Komputer Jurusan Teknik Elektro, 2019
// 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 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 Komputer Jurusan Teknik Elektro, 2019
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 Komputer Jurusan Teknik Elektro, 2019
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 el