Anda di halaman 1dari 75

DAFTAR ISI

Daftar Isi

ii

PENGENALAN ARDUINO

BASIC ARDUINO I
18
2.1 Tujuan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2 Teori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3 Prosedur Percobaan . . . . . . . . . . . . . . . . . . . . . . . . . . 19

BASIC ARDUINO II
21
3.1 Tujuan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Teori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3 Prosedur Percobaan . . . . . . . . . . . . . . . . . . . . . . . . . . 24

OUTPUT I
27
4.1 Tujuan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2 Teori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.3 Prosedur Percobaan . . . . . . . . . . . . . . . . . . . . . . . . . . 29

OUTPUT II
33
5.1 Tujuan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2 Teori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3 Prosedur Percobaan . . . . . . . . . . . . . . . . . . . . . . . . . . 38

ADC
44
6.1 Tujuan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.2 Teori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.3 Prosedur Percobaan . . . . . . . . . . . . . . . . . . . . . . . . . . 48

KOMUNIKASI SERIAL
54
7.1 Tujuan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.2 Teori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.3 Prosedur Percobaan . . . . . . . . . . . . . . . . . . . . . . . . . . 58

ii

iii
8

SISTEM MONITORING
65
8.1 Tujuan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.2 Teori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
8.3 Prosedur Percobaan . . . . . . . . . . . . . . . . . . . . . . . . . . 65

KREATIF APLIKASI
71
9.1 Tujuan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.2 Teori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
9.3 Prosedur Percobaan . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Universitas Islam Negeri Sunan Gunung Djati Bandung

MODUL 1
PENGENALAN ARDUINO
Sistem Mikroprosesor dan Mikrokontroller
Sistem mikroprosesor adalah sebuah sistem yang dibangun dari komponen
utama yaitu mikroprosesor atau CPU, dan komponen tambahan yaitu Memory Unit, Input Output Unit (I/O), yang berfungsi sebagai pengolah data elektronik digital.

Gambar 1.1: Diagram Sistem Mikroprosesor.

Jadi sistem mikroprosesor merupakan gabungan berbentuk interkoneksi dari


CPU, unit memori, dan unit I/O. Secara blok diagram sistem mikroprosesor
dapat digambarkan seperti Gambar 1.1. Dari Gambar 1.1. diagram sistem
mikroprosesor tersusun dari tiga komponen utama dan tiga komponen pendukung. Keenam komponen pembentuk sistem mikroprosesor adalah sebagai
berikut:
Unit mikroprosesor atau Microprocessor Unit ( MPU) atau CPU
Unit memori baca atau Read Only Memory (ROM)
Unit memori baca tulis atau Read Write Memory (RWM)
Unit Input output terprogram atau Programmable Input Output (PIO)
Peralatan input dapat berupa keypad, keyboard, mouse, joystick, scanner,
kamera, modem, dan sebagainya.
Peralatan output dapat berupa display LED, monitor, printer, ploter, dan
sebagainya.
Unit detak/Clock sebagai penggerak sinkronisasi sistem
1

2
Sampai disini menjadi jelas bahwa sistem mikroprosesor sangat luas jenis
dan ragamnya. Sebuah komputer pribadi (personal computer) apakah jenis
desktop, laptop, notebook, palmtop adalah sebuah sistem mikroprosesor. Disamping itu peralatan HP, kendali elektronik pompa bensin, pengaturan pencetakan pada mesin fotokopi, kendali lampu lalu lintas dan sebagainya adalah
sistem mikroprosesor. Masih banyak lagi sistem-sistem yang menggunakan
sistem mikroprosesor terutama sistem kendali otomasi yang memerlukan perhitungan dalam pengambilan keputusan.
Di lapangan sistem mikroprosesor banyak digunakan dalam peralatanperalatan komunikasi, komputasi, kendali, peralatan rumah tangga, dan
berbagai peralatan lainnya. Lalu bagaimana cara mengenali sistem mikroprosesor itu. Sangat sederhana sebenarnya untuk mengenali sistem mikroprosesor itu. Jika sebuah peralatan menggunakan mikroprosesor, memori,
dan I/O beserta program yang bekerja menjalankan fungsi sistem adalah sistem mikroprosesor.
Berbagai bentuk peralatan dengan tingkat kecanggihan yang berbeda dan dengan kompleksitas fungsi yang semakin komplek sangat efektif dibangun dari
sistem mikroprosesor. Sistem mikroprosesor juga memiliki efisiensi yang
tinggi karena ukurannya kecil dan konsumsi dayanya juga kecil. Pada Gambar 1.2 disajikan contoh-contoh sistem mikroprosesor.

Gambar 1.2: Contoh Sistem Mikroprosesor.

Sumber: http://id.wikipidea.org
Mikrokontroler Jika kita bicara tentang Mikrokontroler, maka tidak terlepas dari pengertian atau definisi tentang Komputer itu sendiri, mengapa?
Ada kesamaan-kesamaan antara Mikrokontroler dengan Komputer (atau
Mikrokomputer), antara lain:
Universitas Islam Negeri Sunan Gunung Djati Bandung

3
Sama-sama memiliki unit pengolah pusat atau yang lebih dikenal dengan CPU (Central Processing Unit);
CPU tersebut sama-sama menjalankan program dari suatu lokasi atau
tempat, biasanya dari ROM (Read Only Memory)1 atau RAM (Random
Access Memory)2 ;
Sama-sama memiliki RAM yang digunakan untuk menyimpan datadata sementara atau yang lebih dikenal dengan variabel-variabel;
Sama-sama memiliki beberapa luaran dan masukan (I/O) yang digunakan untuk melakukan komunikasi timbal-balik dengan dunia luar,
melalui sensor (masukan) dan aktuator (luaran),
perhatikan bagan yang ditunjukkan pada Gambar 1.3.

Gambar 1.3: Bagan masukan, pemrosesan hingga luaran.

Lantas apa yang membedakan antara Mikrokontroler dengan Komputer atau


Mikrokomputer?
Mikrokontroler adalah versi mini dan untuk aplikasi khusus dari
Mikrokomputer atau Komputer!
Berikut daftar kesamaan yang pernah kemukakan sebelumnya dengan
menekankan pada perbedaan antara Mikrokontroler dan Mikrokomputer:
CPU pada sebuah Komputer berada eksternal dalam suatu sistem, sampai saat ini kecepatan operasionalnya sudah mencapai lebih dari 2,5
GHz, sedangkan CPU pada Mikrokontroler berada didalam (internal)
sebuah chip, kecepatan kerja atau operasionalnya masih cukup rendah,
dalam orde MHz (misalnya, 24 MHz, 40 MHz dan lain sebagainya). Kecepatan yang relatif rendah ini sudah mencukupi untuk aplikasi-aplikasi
berbasis mikrokontroler.
1 Memori
2 Memori

yang hanya bisa dibaca saja.


yang bisa dibaca juga bisa ditulisi.

Universitas Islam Negeri Sunan Gunung Djati Bandung

4
Jika CPU pada mikrokomputer menjalankan program dalam ROM atau
yang lebih dikenal dengan BIOS (Basic I/O System) pada saat awal
dihidupkan, kemudian mengambil ataumenjalankan program yang tersimpan dalam hard disk. Sedangkan mikrokontroler sejak awal menjalankan program yang tersimpan dalam ROM internal-nya (bisa berupa
Mask ROM atau Flash PEROM atau Flash ROM). Sifat memori program dalam mikrokontroler ini non-volatile, artinya tetap akan tersimpan walaupun tidak diberi catu daya.
RAM pada mikrokomputer bisa mencapai ukuran sekian GByte dan
bisa di-upgrade ke ukuran yang lebih besar dan berlokasi di luar CPUnya, sedangkan RAM pada mikrokontroler ada di dalam chip dan kapasitasnya rendah, misalnya 128 byte, 256 byte dan seterusnya dan ukuran
yang relatif kecil inipun dirasa cukup untuk aplikasi-aplikasi mikrokontroler.
Luaran dan masukan (I/O) pada mikrokomputer jauh lebih kompleks
dibandingkan dengan mikrokontroler, yang jauh lebih sederhana, selain
itu, pada mikrokontroler akses keluaran dan masukan bisa per bit.
Jika diamati lebih lanjut, bisa dikatakan bahwa Mikrokomputer
atau Komputer merupakan komputer serbaguna atau general purpose
computer, bisa dimanfaatkan untuk berbagai macam aplikasi (atau
perangkat lunak). Sedangkan mikrokontroler adalah special purpose
computer atau komputer untuk tujuan khusus, hanya satu macam aplikasi saja.
Perhatikan Gambar 1.4, agar mendapatkan gambaran tentang mikrokontroler
lebih jelas.

Gambar 1.4: Diagram Blok mikrokontroler (yang) disederhanakan.


Universitas Islam Negeri Sunan Gunung Djati Bandung

5
ALU, Instruction Decoder, Accumulator dan Control Logic, sebagaimana
ditunjukkan pada Gambar 1.4, merupakan Otak-nya mikrokontroler yang
bersangkutan. Jantungnya berasal dari detak OSC (lihat pada Gambar 1.4
sebelah kiri atas). Sedangkan di sekeliling Otak terdapat berbagai macam
periferal seperti SFR (Special Function Register) yang bertugas menyimpan
data-data sementara selama proses berlangsung). Instruction Decoder bertugas menerjemahkan setiap instruksi yang ada di dalam Program Memory
(hasil dari pemrograman yang kita buat sebelumnya). Hasil penerjemahan
tersebut merupakan suatu operasi yang harus dikerjakan oleh ALU (Arithmetic Logic Unit), mungkin dengan bantuan memori sementara Accumulator
yang kemudian menghasilkan sinyal-sinyal kontrol ke seluruh periferal yang
terkait melalui Control Logic.
Memori RAM atau RAM Memory bisa digunakan sebagai tempat penyimpan
sementara, sedangkan
SFR (Special Function Register) sebagian ada yang langsung berhubungan dengan I/O dari mikrokontroler yang bersangkutan dan sebagian lain
berhubungan dengan berbagai macam operasional mikrokontroler.
ADC atau Analog to Digital Converter (tidak setiap mikrokontroler memiliki
ADC internal), digunakan untuk mengubah data-data analog menjadi digital
untuk diolah atau diproses lebih lanjut.
Timer atau Counter digunakan sebagai pewaktu atau pencacah, sebagai pewaktu fungsinya seperti sebuah jam digital dan bisa diatur cara kerjanya.
Sedangkan pencacah lebih digunakan sebagai penghitung atau pencacah
event atau bisa juga digunakan untuk menghitung berapa jumlah pulsa dalam
satu detik dan lain sebagainya. Biasanya sebuah mikrokontroler bisa memiliki lebihd dari 1 timer.
EEPROM (sama seperti RAM hanya saja tetap akan menyimpan data
walaupun tidak mendapatkan sumber listrik/daya) dan port-port I/O untuk
masukan/luaran, untuk melakukan komunikasi dengan periferal eksternal
mikrokontroler seperti sensor dan aktuator.
AVR ATMega328
ATMega328 adalah mikrokontroller keluaran dari atmel yang mempunyai arsitektur RISC (Reduce Instruction Set Computer) yang dimana setiap proses
eksekusi data lebih cepat dari pada arsitektur CISC (Completed Instruction
Set Computer)

Universitas Islam Negeri Sunan Gunung Djati Bandung

6
Berikut ini ringkaskan berbagai macam fitur-fitur untuk Mikrokontroler AVR
ATMega328
130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus clock.
32 x 8-bit register serba guna.
Kecepatan mencapai 16 MIPS dengan clock 16 MHz.
32 KB Flash memory dan pada arduino memiliki bootloader yang menggunakan 2 KB dari flash memori sebagai bootloader.
Memiliki EEPROM (Electrically Erasable Programmable Read Only
Memory) sebesar 1KB sebagai tempat penyimpanan data semi permanent karena EEPROM tetap dapat menyimpan data meskipun catu daya
dimatikan.
Memiliki SRAM (Static Random Access Memory) sebesar 2KB.
Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (Pulse
Width Modulation) output.
Master / Slave SPI Serial interface.
Diagram Pin dan Diagram Blok Mikrokontroler AVR ATMega328
Pada Gambar 1.5 ditunjukkan diagram pin untuk Mikrokontroler AVR ATMega328 tipe PDIP.

Gambar 1.5: Diagram blok (Konfigurasi Pin ATMega328.

Universitas Islam Negeri Sunan Gunung Djati Bandung

7
Pada Gambar 1.6 ditunjukkan diagram blok untuk Mikrokontroler AVR ATMega328, perhatikan begitu banyaknya fitur-fitur dalam diagram blok tersebut, sebagaimana juga sudah dikutipkan pada bagian sebelumnya.

Gambar 1.6: Diagram blok (Architecture) Mikrokontroler AVR ATMega328.

Penjelasan Singkat Pin-pin pada Mikrokontroler AVR ATMega328

Konfigursi pin ATMega328 dengan kemasan DIP( Dual inline Package ) dapat dijelaskan fungsi dari masing-masing pin ATMega328 sebagai berikut :
VCC merupakan pin yang berfungsi sebagi masukan catu daya.
GND merupakan pin ground.

Universitas Islam Negeri Sunan Gunung Djati Bandung

8
Tabel 1.1: Konfigurasi Port B

Tabel 1.2: Konfigurasi Port C

Universitas Islam Negeri Sunan Gunung Djati Bandung

9
Tabel 1.3: Konfigurasi Port D

Arduino
Penulisan Program
Penulisan program atau biasanya disebut coding ditulis dengan software Arduino dengan downloader Arduino Board Arduinouno mengunakan bahasa
C,bahasa C lebih mudah dimengerti.
ARDUINO
Arduino adalah sebuah board mikrokontroler yang didasarkan pada IC Atmega328 (datasheet ATmega328). Salah satu contoh yang akan dibahas kali
ini yaitu arduino uno. Arduino uno mempunyai 14 pin digital input/output (6
di antaranya dapat digunakan sebagai output PWM), 6 input analog, sebuah
osilator Kristal 16 MHz, sebuah koneksi USB, sebuah power jack, sebuah
ICSP header, dan sebuat tombol reset. Arduino uno memuat semua yang
dibutuhkan untuk menunjang mikrokontroler, mudah menghubungkannya ke
sebuah computer dengan sebuah kabel USB atau mensuplainya dengan sebuah adaptor AC ke DC atau menggunakan baterai untuk memulainya.
Arduino menggunakan pemrograman dengan bahasa C. Berikut ini adalah
sedikit penjelasan yang ditujukan kepada anda yang hanya mempunyai
sedikit pengalaman pemrograman dan membutuhkan penjelasan singkat
mengenai karakter bahasa C dan software Arduino. Untuk penjelasan yang
lebih mendalam, web Arduino.cc adalah sumber yang lengkap.

Universitas Islam Negeri Sunan Gunung Djati Bandung

10
Struktur
Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi
yang harus ada.
void setup( ) {

Semua kode didalam 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) dilepaskan.
Syntax
Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format penulisan.
//(komentar satu baris)
Kadang diperlukan untuk memberi catatan pada diri sendiri apa arti dari
kode-kode yang dituliskan. Cukup menuliskan dua buah garis miring
dan apapun yang kita ketikkan dibelakangnya akan diabaikan oleh program.
/* */(komentar banyak baris)
Jika punya banyak catatan, maka hal itu dapat dituliskan pada beberapa
baris sebagai komentar. Semua hal yang terletak di antara dua simbol
tersebut akan diabaikan oleh program.
{

} (kurung kurawal)

Digunakan untuk mendefinisikan kapan blok program mulai dan berakhir (digunakan juga pada fungsi dan pengulangan).
;(titk koma)
Setiap baris kode harus diakhiri dengan tanda titik koma (jika ada titik
koma yang hilang maka program tidak akan bisa dijalankan).
Variabel
Sebuah program secara garis besar dapat didefinisikan sebagai instruksi
untuk memindahkan angka dengan cara yang cerdas. Variabel inilah
yang digunakan untuk memindahkannya.

Universitas Islam Negeri Sunan Gunung Djati Bandung

11
int (integer)
Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak mempunyai angka desimal dan menyimpan 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)
Variabel sederhana yang digunakan untuk menyimpan nilai TRUE (benar) atau FALSE (salah). Sangat berguna karena hanya menggunakan 1
bit dari RAM.
float (float)
Digunakan untuk angka desimal (floating point). Memakai 4 byte
(32 bit) dari RAM dan mempunyai 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.
Operator Matematika
Operator yang digunakan untuk memanipulasi angka (bekerja seperti
matematika yang sederhana).
=
Membuat sesuatu 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
*
Perkalian

Universitas Islam Negeri Sunan Gunung Djati Bandung

12
/ Pembagian
Operator Pembanding
Digunakan untuk membandingkan nilai logika.
==
Sama dengan (misalnya:
12 == 10 adalah FALSE (salah) atau
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) atau
12 < 12 adalah FALSE (salah) atau
12 < 14 adalah TRUE (benar))
>
Lebih besar dari (misalnya:
12 > 10 adalah TRUE (benar) atau
12 > 12 adalah FALSE (salah) atau
12 > 14 adalah FALSE (salah))
Struktur Pengaturan
Program sangat tergantung pada pengaturan apa yang akan dijalankan
berikutnya, berikut ini adalah elemen dasar pengaturan (banyak lagi yang lain
dan bisa dicari di internet).
1. if..else, dengan format seperti berikut ini:
if (kondisi) { }
else if (kondisi) { }
else { }
Dengan struktur seperti diatas program akan menjalankan kode yang ada
di dalam kurung kurawal jika kondisinya TRUE, dan jika tidak (FALSE)
Universitas Islam Negeri Sunan Gunung Djati Bandung

13
maka akan diperiksa apakah kondisi pada else if dan jika kondisinya
FALSE maka kode pada else yang akan dijalankan.
2. for, dengan format seperti berikut ini:
for (int i = 0; i < #pengulangan; i++) { }
Digunakan bila anda ingin melakukan pengulangan kode di dalam kurung kurawal beberapa kali, ganti #pengulangan dengan jumlah pengulangan yang diinginkan. Melakukan penghitungan ke atas dengan i++
atau ke bawah 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. digitalWrite(pin, value)
Ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat dijadikan HIGH (ditarik menjadi 5 volts) atau LOW (diturunkan menjadi
ground).
3. digitalRead(pin)
Ketika sebuah pin ditetapkan sebagai INPUT maka anda dapat menggunakan kode ini untuk mendapatkan nilai pin tersebut apakah HIGH
(ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground).
Analog
Arduino adalah mesin digital tetapi mempunyai kemampuan untuk beroperasi
di dalam alam analog (menggunakan trik). Berikut ini cara untuk menghadapi
hal yang bukan digital.
1. analogWrite(pin, value)
Beberapa pin pada Arduino mendukung PWM (pulse width modulation) yaitu pin 3, 5, 6, 9, 10, 11. Ini dapat merubah pin hidup (on)atau
mati (off) dengan sangat cepat sehingga membuatnya dapat berfungsi
layaknya keluaran analog. Value (nilai) pada format kode tersebut
adalah angka antara 0 ( 0% duty cycle 0V) dan 255 (100% duty cycle 5V).

Universitas Islam Negeri Sunan Gunung Djati Bandung

14
2. analogRead(pin)
Ketika pin analog ditetapkan sebagai INPUT anda dapat membaca keluaran voltase-nya. Keluarannya berupa angka antara 0 (untuk 0 volts) dan
1024 (untuk 5 volts).
Penulisan Coding
Penulisan coding menggunakan bahasa C seperti yang dijelaskan sebelumnya,berikut ini gambar codding yang sudah ditulis menggunakan bahasa C
pada software Arduino.
// send an intro:
Serial.println("\n\nString length():");
Serial.println();
}
void loop() {
// add any incoming characters to the String:
while (Serial.available() > 0) {
char inChar = Serial.read();
txtMsg += inChar;
}
// print the message and a notice if its changed:
if (txtMsg.length() != lastStringLength) {
Serial.println(txtMsg);
Serial.println(txtMsg.length());
// if the Strings longer than 140 characters, complain:
if (txtMsg.length() < 140) {
Serial.println("Thats a perfectly acceptable text message");
}
else {
Serial.println("Thats too long for a text message.");
}
// note the length for next time through the loop:
lastStringLength = txtMsg.length();
}
}
Instalasi IDE
Untuk mulai memprogram, dibutuhkan IDE Arduino. Langsung saja download versi terbaru dari Arduino.cc. Download sesuai dengan OS yang akan
Universitas Islam Negeri Sunan Gunung Djati Bandung

15
digunakan. Pada modul ini digunakan windows dan IDE versi 1.0.5. Ekstrak
hasil download, dan ada akan mendapatkan folder arduino-1.0.5, kemudian
double-click arduino.exe untuk mulai melakukan penginstallan.
Berikut penampakan IDE Arduino:

Pada gambar diatas, terdapat, beberapa tombol yang mempunyai fungsi


sebagai berikut:
Verify: Cek error dan lakukan kompilasi kode

Upload: Upload kode anda ke board/kontroler. Asumsi bahwa board


dan serial port telah disetting dengan benar.
New: Membuat aplikasi baru.
Universitas Islam Negeri Sunan Gunung Djati Bandung

16

Open:
Buka proyek yang telah ada atau dari contohcontoh/examples.

Save: Simpan proyek anda.

Serial Monitor: Membuka serial port monitor untuk melihat


feedback/umpan balik dari board anda.
Proses kerja Arduino ialah melakukan pemrograman pada IDE, compile, dan
upload binary/hex file ke kontroler. Berbeda dengan Processing yang kode
hasil compile langsung dijalankan di komputer, kode hasil compile Arduino
harus diupload ke kontroler sehingga dapat dijalankan
Install USB drivers
Untuk menjalankan Arduino, pertama-tama hubungkan USB cable yang terpasang pada board Arduino ke PC. Ketika pertama kali dihubungkan, maka
akan muncul kotak dialog Add New Hardware wizard, kemudian arahkan
folder driver kedalam drivers/FTDI USB Drivers yang terdapat pada folder
Arduino berada.

Setelah melakukan install drivers, maka kamu telah siap untuk menguplod
program yang akan dibuat ke dalam mikrokontroler Arduino.
Insert libraries
Dalam beberapa kondisi, nantinya kadangkala diperlukan libraries tambahan
Universitas Islam Negeri Sunan Gunung Djati Bandung

17
apabila libraries yang telah ada tidak mencukupi project yang akan dibuat.
Berikut cara menambahkan libraries ke dalam IDE Arduino.
1. Copy files libraries yang telah di download
2. Letakkan pada folder libraries yang terdapat di dalam folder Arduino
3. Jalankan ulang software Arduino IDE
Pada contoh dibawah ialah menambahkan libraries keypad ke dalam libraries
yang sebelumnya telah ada kemudian menjalankan ulang software IDE Arduino.

Universitas Islam Negeri Sunan Gunung Djati Bandung

MODUL 2
BASIC ARDUINO I
2.1

Tujuan

1. Memahami rangkaian mikrokontroler Arduino untuk menyalakan dan


mematikan LED.
2. Memahami Pemograman Arduino untuk menyalakan dan mematikan LED.
3. Memahami pembuatan Program waktu tunda (delay)

2.2

Teori

LED Light Emitting Diode (LED) Led adalah salah satu jenis diode yang dapat
menghasilkan cahaya. Led dapat menghasilkan cahaya berbagai macam warna tergantung dari jenisnya. Warna yang umum dihasilkan adalah merah, kuning, hijau,
biru atau ungu, dan putih. Sama halnya dengan diode led mempunyai 2 kaki yaitu
kaki anoda yang dihubungkan dengan tegangan positif dan kaki katoda yang dihubungkan dengan tegangan negatif. Untuk lebih mudah menghafalkannya sering
digunakan singkatan KNAP (katoda negatif anoda positif). Adapun kaki dan simbol
led dapat dilihat pada Gambar 10. Arus maksimum yang dapat diterima oleh Led
adalah sekitar 20 mA (miliampere).

Gambar 2.1: Simbol dan kaki led.

Pada aplikasi mikrokontroler yang digunakan kaki anoda dihubungkan dengan


tegangan Vcc, dan kaki katoda dihubungkan dengan port mikrokontroler. Skema
18

19
rangkaian aplikasi led diperlihatkan pada Gambar 10. Port X merupakan simbol
Port yang bersangkutan, seperti Port A, Port B, Port C, ataupun Port D.

Gambar 2.2: Skema rangkaian led pada sistem mikrokontroler.

2.3

Prosedur Percobaan

1. Skematik

2. Alat dan Bahan


1 unit komputer dengan dilengkapi software Arduino.
1 unit modul hadware mikrokontroler Arduino dengan USB.
1 buah LED.
1 buah resistor 220ohm.
3. Langkah Percobaan
(a) Hubungkan modul aplikasi Led pada Digital PIN 13 Arduino dengan
kabel data.
(b) Bukalah program Arduino
(c) Buatlah project baru dengan ketentuan PIN 13 sebagai output.
Universitas Islam Negeri Sunan Gunung Djati Bandung

20
(d) Beri nama project ini Praktek-led.
(e) Ketiklah program sebagai berikut.
int led1 = 13; // lampu LED pada pin 13 arduino
void setup(){
pinMode(led1, OUTPUT); //pin13 sebagai output
}
void loop(){
digitalWrite(led1, HIGH); //led on
delay(1000); // jeda 1 detik
digitalWrite(led1, LOW); //led of
delay(1000); //jeda 1 detik
}
(f) Simpan, compile dan upload program tersebut. Perhatikan informasi
yang disampaikan.
4. Hasil Percobaan
(a) Amati yang terjadi pada modul hardware.
(b) Apa yang terjadi pada Led jika delay dihilangkan?
(c) Gantilah delay dengan waktu 3000ms. Apa yang terjadi dengan Led?
(d) Gantilah posisi LED pada digital pin 13 menjadi 9.Apa yang terjadi dengan Led?
5. Tugas dan Pertanyaan
(a) Apakah perbedaan common anode dan common katode?
(b) Sebutkan keunggulan common anode dibandingkan dengan common
katode dalam aplikasi led!
(c) Apakah perbedaan satuan ms dan us dalam aplikasi ini?

Universitas Islam Negeri Sunan Gunung Djati Bandung

MODUL 3
BASIC ARDUINO II
3.1

Tujuan

1. mengenal dan memahami perangkat keluaran dan masukan digital.


2. Memahami rangkaian mikrokontroler Arduino untuk interface dengan saklar.
3. Memahami Pemograman Arduino untuk mengambil data dari saklar dan
mengeluarkan data ke LED dan relay.
4. Memahami pembuatan Program waktu tunda (delay)

3.2

Teori

pushbutton (Saklar)
Tombol push button merupakan rangkaian saklar yang berfungsi untuk
menyambung dan memutus rangkaian. Yang membedakan tombol ini dengan
tombol saklar biasa (toggle) adalah fungsinya yang tidak bersifat tetap. Hal ini
menyebabkan keadaan akan menjadi kembali ke keadaan semula jika tombol sudah
tidak ditekan. Ada dua jenis tombol ini, yaitu yang secara normal (tidak diapaapakan) adalah dalam keadaan terbuka/tidak tersambung (normally open) dan yang
secara noemal kondisi saklar dalam keadaan tersambung/tertutup (normally close).
Gambar 17 menunjukkan bentuk fisik dan simbol saklar NO serta NC.

Gambar 3.1: Bentuk fisik dan Simbol tombol push button NO-NC.

RELAY
Relay adalah komponen elektronika berupa saklar elektronik yang digerakkan oleh
arus listrik. Secara prinsip, relay merupakan tuas saklar dengan lilitan kawat pada
batang besi ( solenoid ) di dekatnya. Ketika solenoid di aliri arus listrik, tuas akan

21

22
tertarik karena adanya gaya magnet yang terjadi pada solenoid sehingga kontak saklar akan menutup. Pada saat arus dihentikan, gaya magnet akan hilang, tuas akan
kembali ke posisi semula dan kontak saklar kembali terbuka.Relay biasanya digunakan untuk menggerakkan arus / tegangan yang besar ( misalnya peralatan listrik
4 ampere AC 220 V ) dengan memakai arus / tegangan yang kecil ( misalnya 0.1
ampere 12 Volt DC ). Relay yang paling sederhana ialah relay elektromekanis yang
memberikan pergerakan mekanis saat mendapatkan energi listrik. Secara sederhana
relay elektromekanis ini didefinisikan sebagai berikut :
1. Alat yang menggunakan gaya elektromagnetik untuk menutup ( atau membuka ) kontak saklar.
2. Saklar yang digerakkan ( secara mekanis ) oleh daya/energi listrik.
Dalam pemakaiannya biasanya relay yang digerakkan dengan arus DC dilengkapi
dengan sebuah dioda yang di-paralel dengan lilitannya dan dipasang terbalik yaitu
anoda pada tegangan (-) dan katoda pada tegangan (+). Ini bertujuan untuk mengantisipasi sentakan listrik yang terjadi pada saat relay berganti posisi dari on ke off
agar tidak merusak komponen di sekitarnya. Konfigurasi dari kontak-kontak relay
ada tiga jenis, yaitu:
1. Normally Open (NO), apabila kontak-kontak tertutup saat relay dicatu
2. Normally Closed (NC), apabila kontak-kontak terbuka saat relay dicatu.
Change Over (CO), relay mempunyai kontak tengah yang normal tertutup, tetapi
ketika relay dicatu kontak tengah tersebut akan membuat hubungan dengan kontakkontak yang lain.

Universitas Islam Negeri Sunan Gunung Djati Bandung

23

Gambar 3.2: Struktur Relay.

Penggunaan relay perlu memperhatikan tegangan pengontrolnya serta kekuatan


relay men-switch arus / tegangan. Biasanya ukurannya tertera pada body relay.
Misalnya relay 12 VDC/4 A 220V, artinya tegangan yang diperlukan sebagai pengontrolnya adalah 12 Volt DC dan mampu men-switch arus listrik (maksimal) sebesar 4 ampere pada tegangan 220 Volt. Sebaiknya relay difungsikan 80% saja dari
kemampuan maksimalnya agar aman, lebih rendah lagi lebih aman.Relay jenis lain
ada yang namanya reedswitch atau relay lidi. Relay jenis ini berupa batang kontak terbuat dari besi pada tabung kaca kecil yang dililitin kawat. Pada saat lilitan
kawat di aliri arus, kontak besi tersebut akan menjadi magnet dan saling menempel sehingga menjadi saklar yang (ON). Ketika arus pada lilitan dihentikan medan
magnet hilang dan kontak kembali terbuka (OFF).
Prinsip Kerja Relay
Relay terdiri dari Coil dan Contact. Coil adalah gulungan kawat yang mendapat arus
listrik, sedang contact adalah sejenis saklar yang pergerakannya tergantung dari ada
tidaknya arus listrik dicoil. Contact ada dua jenis : Normally Open (kondisi awal
sebelum diaktifkan open), dan Normally Closed (kondisi awal sebelum diaktifkan
close). Secara sederhana berikut ini prinsip kerja dari relay : ketika Coil mendapat energi listrik (energized), akan timbul gaya elektromagnet yang akan menarik
armature yang berpegas, dan contact akan menutup.

Universitas Islam Negeri Sunan Gunung Djati Bandung

24

Gambar 3.3: Relay AC-DC.

Gambar 3.4: a. Tampak bagian dalam relay b.Scematik Symbol.

3.3

Prosedur Percobaan

1. Skematik

Universitas Islam Negeri Sunan Gunung Djati Bandung

25

2. Alat dan Bahan


1 unit komputer dengan dilengkapi software Arduino
1 unit modul hadware mikrokontroler Arduino
1 buah LED dan Resistor 220ohm/330ohm
1 buah Relay
1 buah Pushbutton
3. Langkah Percobaan
(a) Hubungkan modul LED dengan Digital Pin 13, Push Botton dengan
Digital Pin 7.
(b) Bukalah program Arduino.
(c) Buatlah project baru dengan ketentuan LED dengan Digital Pin 13, Push
Botton sebagai Input.
(d) Beri nama project ini Praktek-button
(e) Ketiklah program sebagai berikut:
int buttonPin = 7; //pin signal-modul switch
dihubungkan ke pin 7 arduino
int ledPin = 13; // lampu LED pada pin 13 arduino
int buttonState=0; //nama variable status switch
void setup(){
pinMode(buttonPin, INPUT);//tombol tekan (button) sebagai input
Universitas Islam Negeri Sunan Gunung Djati Bandung

26
pinMode(ledPin, OUTPUT); //pin13 sebagai output
}
void loop(){
buttonState = digitalRead(buttonPin);
//membaca nilai tombol tekan (sensor digital)
if (buttonState == HIGH){
digitalWrite(ledPin, HIGH); //led on
}
else {
digitalWrite(ledPin, LOW); //led of
} }
(f) Simpan, compile dan upload program tersebut. Perhatikan informasi
yang disampaikan.
4. Hasil Percobaan
(a) Amatilah jika push button tidak ditekan apa yang akan muncul pada
LED?
(b) Amatilah jika push button ditekan apa yang terjadi pada LED?
(c) Jelaskan kenapa terjadi hal demikian !
5. Tugas dan Pertanyaan
(a) Modifikasi program agar LED menyala sema 10s dan mati 5s.
(b) Jelaskan program yang anda buat !
(c) hubungkan relay pada pin digital 13 untuk menyalakan lampu.

Universitas Islam Negeri Sunan Gunung Djati Bandung

MODUL 4
OUTPUT I
4.1

Tujuan

1. Memahami rangkaian mikrokontroler Arduino untuk buzzer, dan seven segment.


2. Memahami Pemograman Arduino untuk buzzer, dan seven segment.

4.2

Teori

Buzzer
Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah
getaran listrik menjadi getaran suara. Pada dasarnya prinsip kerja buzzer hampir
sama dengan loud speaker, jadi buzzer juga terdiri dari kumparan yang terpasang
pada diafragma dan kemudian kumparan tersebut dialiri arus sehingga menjadi elektromagnet, kumparan tadi akan tertarik ke dalam atau keluar, tergantung dari arah
arus dan polaritas magnetnya, karena kumparan dipasang pada diafragma maka setiap gerakan kumparan akan menggerakkan diafragma secara bolak-balik sehingga
membuat udara bergetar yang akan menghasilkan suara. Buzzer biasa digunakan
sebagai indikator bahwa proses telah selesai atau terjadi suatu kesalahan pada sebuah alat (alarm).

Gambar 4.1: Bentuk fisik buzzer.

Seven Segment (7-segment)


27

28
Seven-segment adalah gabungan lampu Led yang membentuk suatu angka desimal. Sesuai dengan namanya maka alat ini terdiri atas 7 ruas yang menjadi satu
kesatuan. Akan tetapi seringkali seven-segment sendiri terdiri atas 8 lampu Led
karena dilengkapi dengan tanda titik (dp=dot-point). Ada 2 jenis seven-segment
yang umum yaitu common anode dan common catode. Pada praktikum ini digunakan common anode karena seven segment ini relatif lebih mudah didapatkan
di pasaran. Gambar 4.2 menunjukkan skema rangkaian seven-segment yang dihubungkan dengan port mikrokontroler. Untuk bentuk-bentuk angka yang dihasilkan oleh seven-segment ditunjukkan pada Gambar 4.3. Angka-angka yang
dihasilkan adalah berdasarkan pada kombinasi logika pada tiap-tiap kaki sevensegment. Rangkuman angka biner dan heksadesimal ditunjukkan pada Tabel 4.1.

Gambar 4.2: Skema rangkaian seven-segment common anode.

Gambar 4.3: Skema rangkaian seven-segment common anode.

Universitas Islam Negeri Sunan Gunung Djati Bandung

29
Tabel 4.1: Kombinasi logika untuk tampilan seven-segment

4.3

Prosedur Percobaan

1. Skematik
(a) buzzer

Gambar 4.4: Buzzer dengan Arduino.

(b) seven segmen

Gambar 4.5: Buzzer dengan Arduino.

Universitas Islam Negeri Sunan Gunung Djati Bandung

30
2. Alat dan Bahan
1 unit komputer dengan dilengkapi software Arduino
1 unit modul hadware mikrokontroler Arduino
1 buah Buzzer
1 Buah seven segment
3. Langkah Percobaan
Buzzer

(a) Hubungkan modul Buzzer pada Digital Pin 9 Arduino dengan kabel
data.
(b) Bukalah program Arduino
(c) Buatlah project baru dengan ketentuan Pin 9 sebagai output.
(d) Beri nama project ini Praktek-buzzer.
(e) Ketiklah program sebagai berikut:
int buzz = 9; // Buzzer kutub positiv (+) di pin 9
void setup(){
pinMode(buzz, OUTPUT); //pin9 sebagai output
}
void loop(){
digitalWrite(buzz, HIGH);
delay(1000); // jeda 1 detik
digitalWrite(buzz, LOW);
delay(1000); //jeda 1 detik
}
(f) Simpan, compile dan upload program tersebut. Perhatikan informasi yang disampaikan.
Seven Segmen
(a) Hubungkan modul seven Segment pada Digital Pin 2,3,4,5,6,7,8,9
Arduino dengan kabel data.
(b) Bukalah program Arduino
(c) Buatlah project baru dengan ketentuan Pin 2,3,4,5,6,7,8,9 sebagai
output.
(d) Beri nama project ini Praktek-7segment.
Universitas Islam Negeri Sunan Gunung Djati Bandung

31
(e) Ketiklah program sebagai berikut:
void setup() {
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
// pinMode(9, OUTPUT);
// digitalWrite(9, 0); // start with the "dot" off
Serial.begin(9600);
}
void loop() {
// write 0
Serial.println("0\n");
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 0);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 0);
digitalWrite(8, 1);
delay(500);
// write 2
Serial.println("2\n");
digitalWrite(2, 0);
digitalWrite(3, 0);
digitalWrite(4, 1);
digitalWrite(5, 0);
digitalWrite(6, 0);
digitalWrite(7, 1);
digitalWrite(8, 0);
delay(500);
// write 3
Serial.println("3\n");
digitalWrite(2, 0);

Universitas Islam Negeri Sunan Gunung Djati Bandung

32
digitalWrite(3,
digitalWrite(4,
digitalWrite(5,
digitalWrite(6,
digitalWrite(7,
digitalWrite(8,
delay(500);
}

0);
0);
0);
1);
1);
0);

(f) Simpan, compile dan upload program tersebut. Perhatikan informasi yang disampaikan.
4. Hasil Percobaan
(a) Amatilah hasil output dari buzzer, apa yang terjadi?
(b) Amatilah hasil tampilan seven segment, apa yang terjadi?
5. Tugas dan Pertanyaan
buzzer
Buatlah program untuk nada lagu untuk buzzer.
seven segmen

(a) Modifikasi program agar menghitung naik sampai dengan angka 4


(b) Modifikasi program agar menghitung turun dari angka 9 sampai
dengan 0
(c) Modifikasi program agar tampilan menghitung dari 0 ke 9 secara
berulang-ulang.
(d) Jelaskan maksud program Praktek-buzzer dan Praktek-7segment.

Universitas Islam Negeri Sunan Gunung Djati Bandung

MODUL 5
OUTPUT II
5.1

Tujuan

1. Memahami rangkaian mikrokontroler Arduino untuk LCD, Motor DC dan


Motor stepper, dan Driver Motor H-Bright.
2. Memahami Pemograman Arduino untuk LCD, Motor DC dan Motor stepper,
dan Driver Motor H-Bright.
3. Memahami Penggunaan Librari Arduino untuk LCD, Motor DC dan Motor
stepper, dan Driver Motor H-Bright.

5.2

Teori

LCD (Liquid Crystal Display) LCD merupakan perangkat output yang sering digunakan dalam dunia elektronik. Teknologi terkini untuk keperluan output sebagian
besar sudah menggunakan LCD. Baik untuk keperluan televisi, layar ponsel, osiloskop, serta keperluan lain. Bentuk LCD ada berbagai macam baik mulai dari
layar lebar, layar sedang, maupun layar kecil. Untuk aplikasi dipraktikum ini digunakan LCD 16x2. Maksudnya adalah LCD ini mempunyai 16 kolom dan 2 baris.
LCD ini dapat digunakan dengan tegangan + 5 volt. Gambar 5.1 menunjukkan LCD
16x2.

Gambar 5.1: Modul LCD 16x2.

Adapun fitur yang disajikan dalam LCD ini adalah :


1. Terdiri dari 16 karakter dan 2 baris.
2. Mempunyai 192 karakter tersimpan.
33

34
3. Terdapat karakter generator terprogram.
4. Dapat dialamati dengan mode 4-bit dan 8-bit.
5. Dilengkapi dengan back light.
Tabel 5.1: Deskripsi Pin LCD

Cara kerja LCD (Liquid Crystal Display) Pada aplikasi umumnya RW diberi
logika rendah 0. Bus data terdiri dari 4-bit atau 8-bit. Jika jalur data 4-bit maka
yang digunakan ialah DB4 sampai dengan DB7. Sebagaimana terlihat pada table diskripsi, interface LCD merupakan sebuah parallel bus, dimana hal ini sangat
memudahkan dan sangat cepat dalam pembacaan dan penulisan data dari atau ke
LCD. Kode ASCII yang ditampilkan sepanjang 8-bit dikirim ke LCD secara 4-bit
atau 8 bit pada satu waktu.
Jika mode 4-bit yang digunakan, maka 2 nibble data dikirim untuk membuat
sepenuhnya 8-bit (pertama dikirim 4-bit MSB lalu 4-bit LSB dengan pulsa clock
EN setiap nibblenya). Jalur kontrol EN digunakan untuk memberitahu LCD bahwa
mikrokontroller mengirimkan data ke LCD. Untuk mengirim data ke LCD program
harus menset EN ke kondisi high 1 dan kemudian menset dua jalur kontrol lainnya
(RS dan R/W) atau juga mengirimkan data ke jalur data bus. Saat jalur lainnya sudah siap, EN harus diset ke 0 dan tunggu beberapa saat (tergantung pada datasheet
Universitas Islam Negeri Sunan Gunung Djati Bandung

35
LCD), dan set EN kembali ke high 1. Ketika jalur RS berada dalam kondisi low
0, data yang dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi
khusus (seperti bersihkan layar, posisi kursor dan lain-lain). Ketika RS dalam kondisi high atau 1, data yang dikirimkan adalah data ASCII yang akan ditampilkan
dilayar. Misal, untuk menampilkan huruf A pada layar maka RS harus diset ke 1.
Jalur kontrol R/W harus berada dalam kondisi low (0) saat informasi pada data bus
akan dituliskan ke LCD. Apabila R/W berada dalam kondisi high 1, maka program
akan melakukan query (pembacaan) data dari LCD. Instruksi pembacaan hanya
satu, yaitu Get LCD status (membaca status LCD), lainnya merupakan instruksi
penulisan. Jadi hampir setiap aplikasi yang menggunakan LCD, R/W selalu diset
ke 0. Jalur data dapat terdiri 4 atau 8 jalur (tergantung mode yang dipilih pengguna), DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7. Mengirim data secara
parallel baik 4-bit atau 8-bit merupakan 2 mode operasi primer. Untuk membuat sebuah aplikasi interface LCD, menentukan mode operasi merupakan hal yang paling
penting.
Mode 8-bit sangat baik digunakan ketika kecepatan menjadi keutamaan dalam
sebuah aplikasi dan setidaknya minimal tersedia 11 pin I/O (3 pin untuk kontrol,
8 pin untuk data).Sedangkan mode 4 bit minimal hanya membutuhkan 7-bit (3 pin
untuk kontrol, 4 pin untuk data). Bit RS digunakan untuk memilih apakah data
atau instruksi yang akan ditransfer antara mikrokontroller dan LCD. Jika bit ini di
set (RS = 1), maka byte pada posisi kursor LCD saat itu dapat dibaca atau ditulis.
Jika bit ini di reset (RS = 0), merupakan instruksi yang dikirim ke LCD atau status
eksekusi dari instruksi terakhir yang dibaca.
Motor DC
Piranti elektronik yang dapat mengubah energi listrik menjadi energi
mekanik/gerak disebut dengan motor. Jenis motor ada 2 yaitu motor AC dan motor
DC.
Motor DC mempunyai keunggulan dibandingkan dengan motor AC disisi kemudahan pengendaliannya. Motor ini dapat diubah arah putarannya dengan membalik
polaritasnya saja. Kecepatan motor DC dapat diatur salah satunya adalah dengan
cara mengatur tegangan yang masuk ke dalamnya. Hal ini sering disebut dengan istilah pulse width modulation (PWM). Bagian motor terdiri atas stator (bagian yang
diam) dan bagian rotor (bagian yang berputar). Salah satu jenis motor dan bagianbagiannya ditunjukkan pada Gambar 5.2.

Universitas Islam Negeri Sunan Gunung Djati Bandung

36

Gambar 5.2: Contoh satu jenis motor DC dan bagian-bagiannya.

Driver Motor IC L298


Port-port mikrokontroler dapat difungsikan sebagai input maupun output. Ketika
difungsikan sebagai output maka port yang bersangkutan akan menghasilkan suatu arus. Akan tetapi arus yang dihasilkan masih terlalu kecil jika digunakan untuk menggerakkan suatu motor. Oleh karena itu diperlukanlah sebuah driver yang
berfungsi memperkuat arus. Driver dapat disusun dengan menggunakan rangkaian H- bridge transistor, mosfet, maupun IC. Salah satu jenis IC driver yang umum
dipasaran adalah L298. Gambar 5.3 memperlihatkan IC driver L298 dan fungsi
masing-masing pin.

Gambar 5.3: Bentuk fisik dan Susunan pin IC L298.

IC ini mampu dibebani hingga 4A pada tegangan 6V 46V. Dalam L298 terdapat
dua rangkaian H-Bridge sehingga mampu mengendalikan 2 motor sekaligus dengan
arus beban masing-masing 2 A.
Motor Stepper

Gambar 5.4: Blok diagram steper motor.

Stepper motor, baik yang mempunyai magnet permanen dan hybrid mempunyai
Universitas Islam Negeri Sunan Gunung Djati Bandung

37
5 atau 6 kabel sebagaimana yang ditunjukkan Gambar 5.4, kedua stepping motor
tersebut mempunyai center tap pada dua winding-nya. Pada saat digunakan center tap dari kedua winding tersebut dihubungkan dengan power negatif, dan kedua
kabel winding dihubungkan ke power positif untuk membalik arah. Gambar 2.3 menunjukkan bagian motor yang mempunyai magnet permanen maupun hybrid yang
bergerak 30 derajat tiap step, dalam hal tersebut perbedaan antara kedua tipe motor
ini tidak begitu besar. Winding motor nomor 1 akan didistribusikan antara kutub
stator bagian atas dan bawah, sementara winding motor no 2 akan didistribusikan
pada kutub bagian kanan dan kiri. Rotor ini bersifat permanen dengan 6 kutub, 3
kiri dan 3 kanan, disusun melingkar.
Untuk memperoleh sudut stepping yang lebih akurat, rotor harus mempunyai
kutub-kutub yang lebih banyak dan haruslah proporsional. Motor 30 derajat pada
Gambar 2.3 adalah design motor permanen yang paling umum. Meskipun untuk
stepping sebesar 15 dan 7.5 derajat juga dapat dilakukan. Motor magnet permanen
dengan step 1.8 derajat juga bisa dibuat, deimikian juga dengan motor hybrid yang
memiliki stepping sebesar 3.6 dan 1.8 dengan ketepatan resolusi stepping sebesar
0.72 juga dapat dibuat. Untuk memutar stepper motor ada beberapa cara sebagai
berikut:
1. Half step yaitu dengan menggeser 1 bit baik ke arah kanan ataupun sebaliknya
tergantung dari arah putaran yang diinginkan.
Contohnya manipulasi bitnya adalah sebagai berikut:
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
kembali

Step 1
Step 2
Step 3
Step 4
ke Step 1

Untuk memutar ke arah yang berlawanan perlu manipulasi bit sebagai berikut:
0 0 0 1
0 0 1 0
0 1 0 0
1 0 0 0
kembali

Step 1
Step 2
Step 3
Step 4
ke Step 1

2. Full step dengan meggeser 2 bit yang saling berdekatan sebanyak 1 pergeseran baik ke arah kanan maupun kiri tergantung putaran motornya.
Contoh manipulasi bitnya adalah sebagai berikut:
Universitas Islam Negeri Sunan Gunung Djati Bandung

38
1 1 0 0
0 1 1 0
0 0 1 1
1 0 0 1
kembali

Step 1
Step 2
Step 3
Step 4
ke Step 1

Untuk memutar ke arah yang berlawanan perlu manipulasi bit sebagai berikut:
0 0 1 1
0 1 1 0
1 1 0 0
1 0 0 1
kembali

5.3

Step 1
Step 2
Step 3
Step 4
ke Step 1

Prosedur Percobaan

1. Skematik dan diagram


(a) LCD

Gambar 5.5: pemasangan LCD dengan arduino.

(b) driver motor dengan motor DC

Universitas Islam Negeri Sunan Gunung Djati Bandung

39

Gambar 5.6: pemasangan Driver l298 dengan arduino.

2. Alat dan Bahan


1 unit komputer dengan dilengkapi software Arduino
1 unit modul hadware mikrokontroler Arduino
1 buah LCD
1 buah Motor DC
1 buah Motor stepper
driver motor l298
3. Langkah Percobaan
LCD
(a) Hubungkan modul LCD dengan Digital Pin 12, 11, 5, 4, 3, 2
mikrokontroler Arduino.
(b) Bukalah program Arduino
(c) Buatlah project baru dengan ketentuan LCD ke Pin 12, 11, 5, 4, 3,
2.
(d) Beri nama project ini Praktek-lcd.
(e) Ketiklah program utama sebagai berikut:
http://www.arduino.cc/en/Tutorial/LiquidCrystal
// include the library code:
#include <LiquidCrystal.h>
// initialize the library with the numbers of the interface pins
Universitas Islam Negeri Sunan Gunung Djati Bandung

40
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup() {
// set up the LCDs number of columns and rows:
lcd.begin(16, 2);
// Print a message to the LCD.
lcd.print("hello, world!");
}
void loop() {
// set the cursor to column 0, line 1
// (note: line 1 is the second row, since counting begins with 0):
lcd.setCursor(0, 1);
// print the number of seconds since reset:
lcd.print(millis()/1000);
}
(f) Simpan, compile dan upload program tersebut. Perhatikan informasi yang disampaikan.
motor DC
(a) Hubungkan modul motor driver dengan Digital Pin 2,3,4,5
mikrokontroler Arduino.
(b) Bukalah program Arduino
(c) Buatlah project baru dengan ketentuan motor driver ke Pin 2,3,4,5.
(d) Beri nama project ini Praktek-motordc
(e) Ketiklah program utama sebagai berikut:
int
int
int
int

motor1a
motor1b
motor2a
motor2b

=
=
=
=

5;
4;
3;
2;

void setup()
{
pinMode(motor1a,
pinMode(motor1b,
pinMode(motor2a,
pinMode(motor2b,
}

OUTPUT);
OUTPUT);
OUTPUT);
OUTPUT);

Universitas Islam Negeri Sunan Gunung Djati Bandung

41
void loop()
{
digitalWrite(motor1a,
digitalWrite(motor1b,
digitalWrite(motor2a,
digitalWrite(motor2b,

HIGH);
LOW);
HIGH);
LOW);

}
(f) Simpan, compile dan upload program tersebut. Perhatikan informasi yang disampaikan.
motor stepper
(a) Hubungkan modul motor driver dengan Digital Pin 2,3,4,5
mikrokontroler Arduino.
(b) Bukalah program Arduino
(c) Buatlah project baru dengan ketentuan motor driver ke Pin 2,3,4,5.
(d) Beri nama project ini Praktek-motorstepper.
(e) Ketiklah program utama sebagai berikut:
//mendefinisikan l298
int input1 = 5;
int input2 = 4;
int input3 = 3;
int input4 = 2;
void setup()
{
pinMode(input1,
pinMode(input2,
pinMode(input3,
pinMode(input4,
}

OUTPUT);
OUTPUT);
OUTPUT);
OUTPUT);

void loop()
{
//1st Step
digitalWrite(input1, HIGH);
digitalWrite(input2, LOW);
Universitas Islam Negeri Sunan Gunung Djati Bandung

42
digitalWrite(input3,
digitalWrite(input4,
delay(10);
//2nd Step
digitalWrite(input1,
digitalWrite(input2,
digitalWrite(input3,
digitalWrite(input4,
delay(10);
//3rd Step
digitalWrite(input1,
digitalWrite(input2,
digitalWrite(input3,
digitalWrite(input4,
delay(10);
//4th Step
digitalWrite(input1,
digitalWrite(input2,
digitalWrite(input3,
digitalWrite(input4,
delay(10);
}

LOW);
HIGH);

LOW);
HIGH);
LOW);
HIGH);

LOW);
HIGH);
HIGH);
LOW);

HIGH);
LOW);
HIGH);
LOW);

(f) Simpan, compile dan upload program tersebut. Perhatikan informasi yang disampaikan.
4. Hasil Percobaan
LCD
(a) Apa yang terjadi pada LCD?
(b) Buatlah tulisan pada baris pertama LCD: Lab.Tek.Elektro pada
LCD baris kedua tulisan: UIN SGD BDG.
(c) Amati apa yang terjadi pada LCD dan jelaskan kenapa terjadi hal
demikian
motor dc
(a) Amati yang terjadi pada motor robot beroda dalam keadaan diangkat dengan tangan.
(b) Letakkan robot beroda pada lantai dan amati apa yang terjadi!
Universitas Islam Negeri Sunan Gunung Djati Bandung

43
motor stepper
5. Tugas dan Pertanyaan
LCD
(a) Berdasarkan setting pada Arduino sebutkan hubungan pin arduino
dengan pin LCD dan motor driver
(b) Jelaskan maksud program Praktek-lcd.
driver motor
(a) Modifikasilah program agar robot berjalan maju sejauh 100 cm dan
kemudian mundur ke tempat semula.
(b) Buatlah program agar robot beroda bergerak maju membentuk lintasan persegi dengan panjang sisi 50 cm.
(c) Jelaskan maksud program praktek-motordc, prektek-motorstepper.

Universitas Islam Negeri Sunan Gunung Djati Bandung

MODUL 6
ADC
6.1

Tujuan

1. Memahami rangkaian mikrokontroler Arduino untuk mengakses ADC dan


menerima input dari sensor Suhu, sensor Cahaya, dan sensor jarak.
2. Memahami Pemograman Arduino untuk untuk mengakses ADC dan menerima input dari sensor Suhu, sensor Cahaya, dan sensor jarak.

6.2

Teori

ADC (Analog to Digital Convertion)


ADC berfungsi untuk mengubah signal analog menjadi signal digital, agar komputer dapat membaca signal analog maka diperlukan ADC untuk mengubah signal
analog menjadi signal digital. ADC mempunyai input analog maksimal 5 volt, untuk setiap kenaikan bit pada ADC adalah 0,02 volt.
sensor LDR
Sensor Cahaya LDR (Light Dependent Resistor) adalah salah satu jenis resistor yang dapat mengalami perubahan resistansinya apabila mengalami perubahan
penerimaan cahaya. Besarnya nilai hambatan pada Sensor Cahaya LDR (Light Dependent Resistor) tergantung pada besar kecilnya cahaya yang diterima oleh LDR
itu sendiri. LDR sering disebut dengan alat atau sensor yang berupa resistor yang
peka terhadap cahaya. Biasanya LDR terbuat dari cadmium sulfida yaitu merupakan bahan semikonduktor yang resistansnya berupah-ubah menurut banyaknya
cahaya (sinar) yang mengenainya. Resistansi LDR pada tempat yang gelap biasanya
mencapai sekitar 10 M, dan ditempat terang LDR mempunyai resistansi yang turun
menjadi sekitar 150 . Seperti halnya resistor konvensional, pemasangan LDR dalam
suatu rangkaian sama persis seperti pemasangan resistor biasa. Simbol LDR dapat
dilihat seperti pada gambar berikut.

44

45

Gambar 6.1: Sensor Cahaya LDR (Light Dependent Resistor)

Karakteristik Sensor Cahaya LDR (Light Dependent Resistor)


Sensor Cahaya LDR (Light Dependent Resistor) adalah suatu bentuk komponen
yang mempunyai perubahan resistansi yang besarnya tergantung pada cahaya.
Karakteristik LDR terdiri dari dua macam yaitu
Laju Recovery dan Respon Spektral sebagai berikut :
Laju Recovery Sensor Cahaya LDR (Light Dependent Resistor) Bila sebuah Sensor
Cahaya LDR (Light Dependent Resistor) dibawa dari suatu ruangan dengan level
kekuatan cahaya tertentu ke dalam suatu ruangan yang gelap, maka bisa kita amati bahwa nilai resistansi dari LDR tidak akan segera berubah resistansinya pada
keadaan ruangan gelap tersebut. Namun LDR tersebut hanya akan bisa mencapai harga di kegelapan setelah mengalami selang waktu tertentu. Laju recovery
meru-pakan suatu ukuran praktis dan suatu ke-naikan nilai resistansi dalam waktu
tertentu. Harga ini ditulis dalam K/detik, untuk LDR tipe arus harganya lebih besar
dari 200K/detik(selama 20 menit pertama mulai dari level cahaya 100 lux), kecepatan tersebut akan lebih tinggi pada arah sebaliknya, yaitu pindah dari tempat
gelap ke tempat terang yang memerlukan waktu kurang dari 10 ms untuk mencapai
resistansi yang sesuai den-gan level cahaya 400 lux.
Respon Spektral Sensor Cahaya LDR (Light Dependent Resistor)
Sensor Cahaya LDR (Light Dependent Resistor) tidak mempunyai sensitivitas yang
sama untuk setiap panjang gelombang cahaya yang jatuh padanya (yaitu warna).
Bahan yang biasa digunakan sebagai penghantar arus listrik yaitu tembaga, aluminium, baja, emas dan perak. Dari kelima bahan tersebut tembaga merupakan
penghantar yang paling banyak, digunakan karena mempunyai daya hantar yang
baik (TEDC,1998)
Prinsip Kerja Sensor Cahaya LDR (Light Dependent Resistor)
Universitas Islam Negeri Sunan Gunung Djati Bandung

46
Resistansi Sensor Cahaya LDR (Light Dependent Resistor) akan berubah seiring
den-gan perubahan intensitas cahaya yang mengenainya atau yang ada disekitarnya.
Dalam keadaan gelap resistansi LDR seki-tar 10M dan dalam keadaan terang sebesar 1K atau kurang. LDR terbuat dari ba-han semikonduktor seperti kadmium sulfida. Dengan bahan ini energi dari cahaya yang jatuh menyebabkan lebih banyak
mua-tan yang dilepas atau arus listrik meningkat. Artinya resistansi bahan telah
men-galami penurunan.
sensor suhu LM35
IC LM 35 sebagai sensor suhu yang teliti dan terkemas dalam bentuk Integrated
Circuit (IC), dimana output tegangan keluaran sangat linear berpadanan dengan perubahan suhu. Sensor ini berfungsi sebagai pengubah dari besaran fisis suhu ke
besaran tegangan yang memiliki koefisien sebesar 10 mV /C yang berarti bahwa
kenaikan suhu 1 C maka akan terjadi kenaikan tegangan sebesar 10 mV. IC LM 35
ini tidak memerlukan pengkalibrasian atau penyetelan dari luar karena ketelitiannya sampai lebih kurang seperempat derajat celcius pada temperatur ruang. Jangka
sensor mulai dari 55C sampai dengan 150C, IC LM35 penggunaannya sangat mudah, difungsikan sebagai kontrol dari indikator tampilan catu daya terbelah. IC LM
35 dapat dialiri arus 60 m A dari supplay sehingga panas yang ditimbulkan sendiri
sangat rendah kurang dari 0 C di dalam suhu ruangan.

Gambar 6.2: Bentuk fisik sensor suhu LM 35

LM 35 ialah sensor temperatur paling banyak digunakan untuk praktek, karena


selain harganya cukup murah, linearitasnya juga lumayan bagus. LM35 tidak membutuhkan kalibrasi eksternal yang menyediakan akurasi C pada temperatur ruangan
dan C pada kisaran -55 C to +150 C. LM35 dimaksudkan untuk beroperasi pada
-55 C hingga +150 C, sedangkan LM35C pada -40 C hingga +110 C, dan LM35D
pada kisran 0-100C. LM35D juga tersedia pada paket 8 kaki dan paket TO- 220.
Universitas Islam Negeri Sunan Gunung Djati Bandung

47
Sensor LM35 umunya akan naik sebesar 10mV setiap kenaikan 1C (300mV pada
30 C).
Sensor suhu LM35 berfungsi untuk mengubah besaran fisis yang berupa suhu
menjadi besaran elektrik tegangan. Sensor ini memiliki parameter bahwa setiap kenaikan 1C tegangan keluarannya naik sebesar 10mV dengan batas maksimal keluaran sensor adalah 1,5V pada suhu 150C.
Pada perancangan kita tentukan keluaran ADC mencapai full scale pada saat
suhu 100C, sehingga tegangan keluaran tranduser (10mV/C x 100C) = 1V. Pengukuran secara langsung saat suhu ruang, keluaran LM35 adalah 0,3V (300mV).
Tegangan ini diolah dengan mengunakan rangkaian pengkondisi sinyal agar sesuai
dangan tahapan masukan ADC. LM35 memiliki kelebihan kelebihan sebagai
berikut:

1. Dikalibrasi langsung dalam celsius


2. Memiliki faktor skala linear + 10.0 mV/C
3. Memiliki ketetapan 0,5C pada suhu 25C
4. Jangkauan maksimal suhu antara -55C sampai 150C
5. Cocok untuk aplikasi jarak jauh
6. Harganya cukup murah
7. Bekerja pada tegangan catu daya 4 sampai 30Volt
8. Memiliki arus drain kurang dari 60 uAmp
9. Pemanasan sendiri yang lambat ( low self-heating)
10. 0,08C diudara diam
11. . Ketidaklinearanya hanya sekitar +-0,25C
Memiliki Impedansi keluaran yang kecil yaitu 0,1 watt untuk beban 1 mAmp. Sensor suhu tipe LM35 merupakan IC sensor temperatur yang akurat yang tegangan
keluarannya linear dalam satuan celcius. Jadi LM35 memiliki kelebihan dibandingkan sensor temperatur linear dalam satuan kelvin, karena tidak memerlukan
pembagian dengan konstanta tegangan yang besar dan keluarannya untuk mendapatkan nilai dalam satuan celcius yang tepat. LM35 memiliki impedansi keluaran
yang rendah, keluaran yang linear, dan sifat ketepatan dalam pengujian membuat
Universitas Islam Negeri Sunan Gunung Djati Bandung

48
proses interface untuk membaca atau mengontrol sirkuit lebuh mudah. Pin V+ dari
LM35 dihubungkan kecatu daya, pin GND dihubungkan ke Ground dan pin Voutyang menghasilkan tegangan analog hasil pengindera suhu dihubungkan ke vin (+)
dan ADC.
sensor ultrasonic PING

Gambar 6.3: Sensor PING

Sensor ultrasonik PING terdiri dari tiga bagian utama yaitu : Transmitter
Gelombang Ultrasonik Receiver Gelombang Ultrasonik Rangkaian kontrol Transmitter berfungsi sebagai pemancar gelombang ultrasonik.
Gelombang yang dipancarkan memiliki frekuensi 40KHz. Gelombang ini akan
dipancarakan dengan kecepatan 344.424m/detik atau 29.034uS per centimeter. Jika
didepan terdapat halangan atau objek maka gelombang tersebut akan memantul.
Pantulan gelombang akan dideteksi oleh receiver. Rangkaian kontrol akan mendeteksi pantulan gelombang dan menghitung lama waktu saat gelombang dipancarkan
dan gelombang terdeteksi pantulannya. Lama waktu pemantulan gelombang ini
akan dikonversi menjadi sinyal digital dalam bentuk pulsa. Sinyal inilah yang
nantinya diolah oleh mikrokontroler atau mikroprosesor sehingga didapat nilai
jarak antara objek dan sensor. Nilai jarak dapat diperoleh melalui rumus berikut ini
:
Jarak (cm) = Lama Waktu Pantul (uS) / 29.034 / 2
Rumus jarak didapat dari pembagian lama waktu pantul dengan kecepatan
gelombang ultrasonik dan dibagi 2 karena pada saat pemantulan terjadi dua kali
jarak tempuh antara sensor dengan objek. Yaitu pada saat gelombang dipancarkan
dari transmitter ke objek dan pada saat gelombang memantul ke receiver ultrasonik.

6.3

Prosedur Percobaan

1. Skematik

Universitas Islam Negeri Sunan Gunung Djati Bandung

49
(a) sensor cahaya

Gambar 6.4: LDR dengan Arduino.

(b) sensor suhu

Gambar 6.5: Sensor suhu dengan Arduino.

(c) sensor jarak

Gambar 6.6: Sensor PING dengan Arduino.

2. Alat dan Bahan


1 unit komputer dengan dilengkapi software Arduino
1 unit modul hadware mikrokontroler Arduino
Universitas Islam Negeri Sunan Gunung Djati Bandung

50
1 buah LDR
1 buah LM35
1 buah ultrasonic PING
3. Langkah Percobaan
Sensor Cahaya LDR
(a) Hubungkan modul LDR dengan Analog Pin 0 mikrokontroler Arduino.
(b) Bukalah program Arduino
(c) Buatlah project baru dengan ketentuan LDR ke Pin 0 sebagai input.
(d) Beri nama project ini Praktek-cahaya
(e) Ketiklah program utama sebagai berikut:
// Program Lampu otomatis gelap/terang
Int sensorPin = 0;
// pin signal LDR dihubungkan ke Port Analog 0 Arduino
int sensorValue = 0; // variable nilai yg dihasilkan sensor
void setup()
{
Serial.begin(9600);
// untuk membaca data pada serial port di layar monitor
}
void loop()
{
sensorValue = analogRead(sensorPin);
// membaca nilai dari sensor:
Serial.println(sensorValue);
// menulis nilai sensor di layar monitor
}
(f) Simpan, compile dan uplad program tersebut. Perhatikan informasi
yang disampaikan.
(g) buka terminal pada software Arduino.
Sensor suhu LM35
(a) Hubungkan modul LM35 dengan Analog Pin 0 mikrokontroler Arduino.
(b) Bukalah program Arduino
Universitas Islam Negeri Sunan Gunung Djati Bandung

51
(c) Buatlah project baru dengan ketentuan LM35 ke Pin 0 sebagai input.
(d) Beri nama project ini Praktek-suhu.
(e) Ketiklah program utama sebagai berikut:
int potPin = 0;
float temperature = 0;
long val = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
if (Serial.available())
{
val = analogRead(potPin);
temperature = (5.0 * val * 100.0)/1024.0;
Serial.println(temperature);
// Serial.println((long)temperature);
}
delay(1000);
}
(f) Simpan, compile dan upload program tersebut. Perhatikan informasi yang disampaikan.
(g) buka terminal pada software Arduino.
Sensor Jarak PING
(a) Hubungkan modul PING dengan digital Pin 7 mikrokontroler Arduino.
(b) Bukalah program Arduino
(c) Buatlah project baru dengan ketentuan PING ke Pin 7 sebagai sensor.
(d) Beri nama project ini Praktek-jarak.
(e) Ketiklah program utama sebagai berikut:
const int pingPin = 7;
void setup() {
Serial.begin(9600);
Universitas Islam Negeri Sunan Gunung Djati Bandung

52
}
void loop() {
long duration, cm;
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(5);
digitalWrite(pingPin, LOW);
pinMode(pingPin, INPUT);
duration = pulseIn(pingPin, HIGH);
cm = microsecondsToCentimeters(duration);
Serial.print(cm);
Serial.print("cm");
Serial.println();
delay(1000);
}
long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}
(f) Simpan, compile dan upload program tersebut. Perhatikan informasi yang disampaikan.
(g) buka terminal pada software Arduino.
4. Hasil Percobaan
Sensor Cahaya
(a) Amati sensor Apa yang terjadi pada layar terminal Arduino!
(b) Apa yang terjadi pada terminal jika sensor LDR jika di tutup atasnya?
Sensor Suhu
(a) Amati sensor Apa yang terjadi pada layar terminal Arduino!
(b) Apa yang terjadi pada terminal jika sensor Suhu dimasukan pada
air panas dan dinging secara bergantian?
Sensor Jarak
(a) Amati sensor jika tidak terhalang oleh benda apapun !
Universitas Islam Negeri Sunan Gunung Djati Bandung

53
(b) Apa yang terjadi pada terminal jika sensor ultrasonik diberi halangan secara maju dan mundur?
5. Tugas dan Pertanyaan
(a) Jelaskan maksud program Praktek-cahaya
(b) Jelaskan maksud program Praktek-suhu
(c) Jelaskan maksud program Praktek-jarak

Universitas Islam Negeri Sunan Gunung Djati Bandung

MODUL 7
KOMUNIKASI SERIAL
7.1

Tujuan

1. Memahami rangkaian mikrokontroler Arduino untuk komunikasi serial dengan PC melalui USB dan Bluetooth HC-05.
2. Memahami Pemograman Arduino untuk komunikasi serial dengan PC
melalui USB dan Bluetooth HC-05.
3. Memahami fungsi serial untuk komunikasi antara mikrokontroler dengan
komputer atau perangkat lain
4. telekontrol melalui komunikasi Bluetooth.

7.2

Teori

Arduino dilengkapi dengan port serial. Port serial memungkinkan kita mengirim
data dalam format serial. Port serial dalam mikrokontroler Arduino memiliki sifat
full duplex, yang berarti dapat mengirim dan menerima data secara bersamaan.
Baudrate
Baudrate menunjukkan laju kecepatan pengiriman data digital secara seri. Laju
baudrate sama dengan banyaknya bit yang dikirim setiap detik. Pada Arduino pengiriman secara serial ditentukan oleh Mode yang telah ditentukan. Baudrate yang
digunakan juga bersesuaian dengan Mode yang digunakan. Pada Mode baudrate
yang digunakan adalah 9600.
Definisi Bluetooth
Bluetooth adalah teknologi yang memungkinkan dua perangkat yang kompatibel,
seperti telepon dan PC untuk berkomunikasi tanpa kabel dan tidak memerlukan
koneksi saluran yang terlihat. Teknologi ini memberikan perubahan yang signifikan
terhadap peralatan elektronik yang kita gunakan. Jika kita melihat sekeliling kita dimana keyboard dihubungkan pada komputer. Demikian juga halnya dengan printer,
mouse, monitor dan lain sebagainya. Semua peralatan itu dihubungkan dengan
menggunakan kabel. Akibatnya terjadi masalah banyak kabel yang dibutuhkan
di kantor, rumah atau tempat-tempat lainnya. Masalah lain yang ditemui adalah
bagaimana menelusuri kabel-kabel yang terpasang jika ada suatu kesalahan atau
54

55
kerusakan. Bluetooth memperbaiki penggunaan teknologi kabel yang cenderung
menyulitkan ini dengan cara menghubungkan beberapa peralatan tanpa menggunakan kabel.
Bluetooth beroperasi dalam pita frekuensi 2,4 GHz (antara 2.402 GHz sampai
2.480 GHz) yang mampu menyediakan layanan komunikasi data dan suara secara
real-time antara host to host bluetooth dengan jarak jangkauan layanan yang terbatas. Bluetooth dapat berupa card yang bentuk dan fungsinya hampir sama dengan
card yang digunakan untuk wireless local area network (WLAN) dimana menggunakan frekuensi radio standar IEEE 802.11, hanya saja pada bluetooth mempunyai
jangkauan jarak layanan yang lebih pendek dan kemampuan transfer data yang lebih
rendah.
Pada dasarnya bluetooth diciptakan bukan hanya menggantikan atau menghilangkan penggunaan kabel didalam melakukan pertukaran informasi, tetapi juga
mampu menawarkan fitur yang baik untuk teknologi mobile wireless dengan biaya
yang relatif rendah, konsumsi daya yang rendah, interoperability yang menjanjikan,
mudah dalam pengoperasian dan mampu menyediakan layanan yang bermacammacam.
Cara Kerja Bluetooth
Terdapat berbagai cara yang berbeda bagaimana peralatan elektronik bisa
berkoneksi dengan peralatan lainnya. Sebagai contoh:
Komponen kabel
Kabel listrik
Kabel Eternet
WiFi
Sinyal Infra Merah
Ketika anda menggunakan komputer, sistem hiburan atau telepon maka sebagian
sistem dari peralatan itu berkomunikasi dengan peralatan elektronik lainnya. Peralatan ini berkomunikasi dengan menggunakan kabel-kabel yang bervariasi, sinyal
radio, cahaya infra merah, konektor, dan protokol.
Seni menghubungkan sebuah benda dengan benda lainnya menjadi sesuatu yang
sangat rumit setiap harinya. Pada artikel ini, kita akan lihat sebuah metode yang
menghubungkan alat-alat elektronik, yang dinamakan dengan Bluetooth, yang bisa
melakukan proses streamline. Koneksi bluetooth adalah tanpa kabel dan otomatis,
dan juga bluetooth memiliki sejumlah fasilitas yang bisa memudahkan kehidupan
Universitas Islam Negeri Sunan Gunung Djati Bandung

56
kita,hamper semua alat elektronika sudah memiliki fasilitas bluetooh sebagai media
komunikasi.
Pengoperasian Bluetooth. Jaringan bluetooth mentransmisikan data melalui
gelombang radio. Jaringan ini berkomunikasi pada frekuensi 2,45 gigahertz (antara 2,402 GHz dan 2,480 GHz). Penggunaan frekuensi ini telah disetujui secara
internasional untuk penggunaan industri, penelitian, dan medis.
Beberapa peralatan yang menggunakan frekuensi ini adalah pembuka garasi,
pemonitor bayi, dan telepon tanpa kawat. Proses agar penggunaan bluetooth tidak
saling mengganggu antar alat-alat tersebut di atas, adalah sebuah proses yang sangat
penting untuk terus dikembangkan.
Satu cara agar bluetooth tidak saling mengganggu dengan sistem yang lain
adalah dengan mengirim sinyal yang sangat kecil sekitar 1 miliwatt. Sebagai perbandingan, telepon seluler mampu mentransmisikan sinyal sekitar 3 watt. Daya
yang kecil ini membatasi jangkauan penggunaan bluetooth, yaitu sekitar 10 meter. Meskipun begitu, tembok rumah anda tidak akan mampu menghentikan laju
sinyal bluetooth, sehingga bluetooth bisa membuat peralatan-peralatan di ruangan
berbeda mampu dikendalikan dari bagian rumah anda (asalkan rumah anda tidak
terlalu besar).
Bluetooth bisa berkoneksi dengan delapan alat sekaligus secara bersamaan. Dengan semua alat ini dalam radius 10 meter, anda mungkin berpikir bahwa sinyalnya
mungkin akan menumpuk dan mengganggu proses kerja alat-alat itu. Sayangnya
tidak, bluetooth menggunakan sebuah teknik yang dinamakan dengan harapan
penyebaran spektrum frekuensi yang membuat sebuah alat untuk mentransmisikan
data pada frekuensi yang sama dalam waktu yang bersamaan pula. Pada teknik ini,
sebuah alat akan menggunakan salah satu dari 79 frekuensi. Pada bluetooth, transmiter mengubah frekuensi 1.600 kali tiap detik, yang berarti lebih banyak alat yang
bisa digunakan pada spektrum radio ini. Karena tiap bluetooth mentransmisikan
sinyal dengan menggunakan penyebaran spektrum secara otomatis, maka sangat
kecil kemungkinan ada dua transmiter yang menggunakan frekuensi sama dalam
waktu yang bersamaan. Teknik ini meminimalisir resiko penggunaan telepon yang
akan mengganggu paralatan bluetooth, karena semua gangguan pada frekuensi yang
sama hanya akan sedikit bergesekan pada satu detik saja.
Spesifikasi Bluetooth

Universitas Islam Negeri Sunan Gunung Djati Bandung

57

Gambar 7.1: Bluetooth Module HC-05

Bluetooth protocal: Bluetooth Specification v2.0+EDR


Frequency: 2.4GHz ISM band
Modulation: GFSK(Gaussian Frequency Shift Keying)
Emission power: ?4dBm, Class 2
Sensitivity: ?-84dBm at 0.1% BER
Speed: Asynchronous: 2.1Mbps(Max) / 160 kbps,
Synchronous: 1Mbps/1Mbps
Security: Authentication and encryption
Profiles: Bluetooth serial port
Power supply: +3.3VDC 50mA
Working temperature: -20C +75C
Dimension: 26.9mm x 13mm x 2.2 mm
Easy adaption on Seeeduino UartSB v2.1

Universitas Islam Negeri Sunan Gunung Djati Bandung

58

7.3

Prosedur Percobaan

1. Skematik dan diagram

Gambar 7.2: BT dengan Arduino.

Gambar 7.3: telekontrol LED dengan BT dan Arduino.

Universitas Islam Negeri Sunan Gunung Djati Bandung

59

Gambar 7.4: telekontrol robot dengan BT dan Arduino.

2. Alat dan Bahan


1 unit komputer dengan dilengkapi software Arduino
1 unit modul hadware mikrokontroler Arduino
4 buah led
4 buah resistor
1 buah Bluetooth HC-05
1 buah base robot
1 buah driver l298
2 buah motor dc
1 buah batrai 9v
1 buah modul power suplay 9v
3. Langkah Percobaan
Universitas Islam Negeri Sunan Gunung Djati Bandung

60
kontrol LED
(a) Hubungkan modul LED dengan Digital Pin 2,3,4,5 mikrokontroler
Arduino.
(b) Hubungkan modul Bluetooth HC-05 dengan D0 dan D1.
(c) Bukalah program Arduino
(d) Buatlah project baru dengan ketentuan LED ke Pin 2,3,4,5 sebagai
output.
(e) Beri nama project ini Praktek-BT
(f) Ketiklah program utama sebagai berikut:
int
int
int
int

led1
led2
led3
led4

=
=
=
=

7;
6;
4;
2;

void setup()
{
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
}
void loop()
{
while (Serial.available()>0)
{
int baca=Serial.read();
if (baca==11)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
}
else if (baca == 21)
{
Universitas Islam Negeri Sunan Gunung Djati Bandung

61
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
}
else if (baca== 41)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
}
else if (baca==31)
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW); }
else
{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, LOW);
}
}
}
(g) Simpan, compile dan upload program tersebut.
(h) Jalankan bluetooth pada hp android
(i) jalankan eduinobot.apk di android dan
(j) pairing dengan melakukan koneksi diaplikasi android
(k) tekan tombol panah di aplikasi android eduinobot.apk
(l) Perhatikan informasi yang disampaikan.
kontrol robot
(a) Hubungkan modul LED dengan Digital Pin 2,3,4,5 mikrokontroler
Arduino.
Universitas Islam Negeri Sunan Gunung Djati Bandung

62
(b) Hubungkan modul Bluetooth HC-05 dengan D0 dan D1.
(c) Bukalah program Arduino
(d) Buatlah project baru dengan ketentuan LED ke Pin 2,3,4,5 sebagai
output.
(e) Beri nama project ini Praktek-BT
(f) Ketiklah program utama sebagai berikut:
int
int
int
int

motor1a
motor1b
motor2a
motor2b

=
=
=
=

7;
6;
4;
2;

void setup()
{
Serial.begin(9600);
pinMode(motor1a, OUTPUT);
pinMode(motor1b, OUTPUT);
pinMode(motor2a, OUTPUT);
pinMode(motor2b, OUTPUT);
}
void loop()
{
while (Serial.available()>0)
{
int baca=Serial.read();
if (baca==11)
{
digitalWrite(motor1a, HIGH);
digitalWrite(motor1b, LOW);
digitalWrite(motor2a, HIGH);
digitalWrite(motor2b, LOW);
Serial.println( "Maju" );
}
else if (baca == 21)
{
digitalWrite(motor1a, LOW);
digitalWrite(motor1b, HIGH);
Universitas Islam Negeri Sunan Gunung Djati Bandung

63
digitalWrite(motor2a, HIGH);
digitalWrite(motor2b, HIGH);
Serial.println( "Belok kiri" );
}
else if (baca== 41)
{
digitalWrite(motor1a, HIGH);
digitalWrite(motor1b, HIGH);
digitalWrite(motor2a, LOW);
digitalWrite(motor2b, HIGH);
Serial.println( "Belok Kanan" );
}
else if (baca==31)
{
digitalWrite(motor1a, LOW );
digitalWrite(motor1b, HIGH);
digitalWrite(motor2a, LOW);
digitalWrite(motor2b, HIGH);
Serial.println( "Mundur" );
}
else
{
digitalWrite(motor1a, LOW);
digitalWrite(motor1b, LOW);
digitalWrite(motor2a, LOW);
digitalWrite(motor2b, LOW);
Serial.println( "Berhenti" );
}
}
}
(g) Simpan, compile dan upload program tersebut.
(h) Jalankan bluetooth pada hp android
(i) jalankan eduinobot.apk di android dan
(j) pairing dengan melakukan koneksi diaplikasi android
(k) tekan tombol panah di aplikasi android eduinobot.apk
(l) Perhatikan informasi yang disampaikan.

Universitas Islam Negeri Sunan Gunung Djati Bandung

64
4. Hasil Percobaan
(a) Amatilah hasil tampilan LED ketika tombol di tekan, apa yang terjadi?
(b) Apa yang terjadi pada LED jika tombol ditekan semua?
5. Tugas dan Pertanyaan
(a) Buatlah program agar LED menyala jika ditekan pada semua tombol.
(b) Jelaskan maksud program Praktek-BT

Universitas Islam Negeri Sunan Gunung Djati Bandung

MODUL 8
SISTEM MONITORING
8.1

Tujuan

1. Memahami rangkaian mikrokontroler Arduino untuk monitoring sistem.


2. Memahami Pemograman Arduino untuk monitoring sistem.

8.2

Teori

Mengawali Membuat Aplikasi berbasis Mikrokontroler Arduino Monitoring System

8.3

Prosedur Percobaan

1. Skematik

Gambar 8.1: monitoring Jarak dengan Arduino.

65

66

Gambar 8.2: monitoring dengan LDR dengan Arduino.

Gambar 8.3: monitoring suhu dengan Arduino.

2. Alat dan Bahan


1 unit komputer dengan dilengkapi software Arduino.
1 unit modul hadware mikrokontroler Arduino.
1 buah LCD.
Universitas Islam Negeri Sunan Gunung Djati Bandung

67
1 buah sensor cahaya LDR.
1 buah sensor suhu LM35.
1 buah sensor jarak PING
3. Langkah Percobaan
sensor cahaya-LCD
(a) Hubungkan aplikasi sensor pada Port Analog dan aplikasi LCD ke
Port Digital mikrokontroler.
(b) Bukalah program Arduino
(c) Buatlah project baru dengan ketentuan Port A0 sebagai input dan
port 2,3,4,5,11,12 sebagai output.
(d) Beri nama project ini Praktek-lrdlcd:
(e) Ketiklah program utama sebagai berikut:
#include <LiquidCrystal.h> // include library for LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // pin to LCD
int potPin = 0; // select the input pin for the LDR
long val = 0;
void setup()
{
lcd.begin(16, 2); // set up the LCDs number of rows and columns
}
void loop()
{
val = analogRead(potPin); // read the value from the sensor
light = val; // convert to Celcius
lcd.clear(); // clear LCD screen
lcd.setCursor(0,0); // set text to LCD row 1
lcd.print("current temp. ");
// some text to add meaning to the numbers
lcd.setCursor(0,1); // set text to LCD row 2
lcd.print((long)light);
// writing light value
lcd.print(" aux");
delay(1000);
}

Universitas Islam Negeri Sunan Gunung Djati Bandung

68
(f) Simpan, compile dan upload program tersebut. Perhatikan informasi yang disampaikan.
suhu-lcd
(a) Hubungkan aplikasi sensor pada Port Analog dan aplikasi LCD ke
Port Digital mikrokontroler.
(b) Bukalah program Arduino
(c) Buatlah project baru dengan ketentuan Port A0 sebagai input dan
port 2,3,4,5,11,12 sebagai output.
(d) Beri nama project ini Praktek-lrdlcd:
(e) Ketiklah program utama sebagai berikut:

#include <LiquidCrystal.h> // include library for LCD


LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // pin to LCD
int potPin = 0; // select the input pin for the LM35
float temperature = 0;
long val = 0;
void setup()
{
lcd.begin(16, 2); // set up the LCDs number of rows and columns
}
void loop()
{
val = analogRead(potPin); // read the value from the sensor
temperature = (5.0 * val * 100.0)/1024.0; // convert to Celcius
lcd.clear(); // clear LCD screen
lcd.setCursor(0,0); // set text to LCD row 1
lcd.print("current temp. "); // some text to add meaning to the num
lcd.setCursor(0,1); // set text to LCD row 2
lcd.print((long)temperature); // writing temperature value
lcd.print(" deg.C");
delay(1000);
}
(f) Simpan, compile dan upload program tersebut. Perhatikan informasi yang disampaikan.
jarak-lcd
(a) Hubungkan aplikasi sensor pada Port Analog dan aplikasi LCD ke
Port Digital mikrokontroler.
Universitas Islam Negeri Sunan Gunung Djati Bandung

69
(b) Bukalah program Arduino
(c) Buatlah project baru dengan ketentuan Port A0 sebagai input dan
port 2,3,4,5,11,12 sebagai output.
(d) Beri nama project ini Praktek-lrdlcd:
(e) Ketiklah program utama sebagai berikut:
#include <LiquidCrystal.h> // include library for LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // pin to LCD
int pingPin = 7;
void setup()
{
lcd.begin(16, 2); // set up the LCDs number of rows and columns
}
void loop() {
long duration, cm;
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(5);
digitalWrite(pingPin, LOW);
pinMode(pingPin, INPUT);
duration = pulseIn(pingPin, HIGH);
cm = microsecondsToCentimeters(duration);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print(cm);
lcd.print("cm");
delay(1000);
}
long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}
(f) Simpan, compile dan upload program tersebut. Perhatikan informasi yang disampaikan.
4. Hasil Percobaan

Universitas Islam Negeri Sunan Gunung Djati Bandung

70
sensor-LCD
Amati perubahan pada LCD dengan sensor yang di pakai !
5. Tugas dan Pertanyaan
jelaskan program-sensor-lcd

Universitas Islam Negeri Sunan Gunung Djati Bandung

MODUL 9
KREATIF APLIKASI
9.1

Tujuan

1. Memahami Rangkaian Mikrokontroler Arduino untuk Akuisisi.


2. Memahami Pemograman Arduino untuk Akuisisi Data.

9.2

Teori

Mengawali Membuat Aplikasi berbasis Mikrokontroler Arduino Akuisisi System


- sistem minimum
- tranduser dan sensor
- aktuator

9.3

Prosedur Percobaan

1. Skematik

Gambar 9.1: robot avoider dengan Arduino.

2. Diagram Robot
3. Alat dan Bahan
1 unit komputer dengan dilengkapi software Arduino.
71

72
1 unit modul hadware mikrokontroler Arduino.
1 buah sensor Jarak (PING).
1 buah driver motor.
1 buah base robot dengan motor dc.
4. Langkah Percobaan
sensor-robot
(a) Hubungkan aplikasi ultrasonik pada Port 2 dan aplikasi driver motor ke port 8,9,10,11. mikrokontroler Arduino.
(b) Bukalah program Arduino
(c) Buatlah project baru dengan ketentuan port 8,9,10,11 sebagai output.
(d) Beri nama project ini Praktek-roboavoider
(e) Ketiklah program utama sebagai berikut:
jarak_cm=300;
const int pingPin = 7;
int motor1a = 5;
int motor1b = 4;
int motor2a = 3;
int motor2b = 2;
void setup() {
pinMode(motor1a, OUTPUT);
pinMode(motor1b, OUTPUT);
pinMode(motor2a, OUTPUT);
pinMode(motor2b, OUTPUT);
}
void loop() {
jarak_cm=ping();
if (jarak_cm > 300){
digitalWrite(motor1a,
digitalWrite(motor1b,
digitalWrite(motor2a,
digitalWrite(motor2b,
}else{jarak_cm <300}
digitalWrite(motor1a,

HIGH);
LOW);
HIGH);
LOW);
LOW);

Universitas Islam Negeri Sunan Gunung Djati Bandung

73
digitalWrite(motor1b, LOW);
digitalWrite(motor2a, LOW);
digitalWrite(motor2b, LOW);
}
float ping(){
long duration, cm;
pinMode(pingPin, OUTPUT);
digitalWrite(pingPin, LOW);
delayMicroseconds(2);
digitalWrite(pingPin, HIGH);
delayMicroseconds(5);
digitalWrite(pingPin, LOW);
pinMode(pingPin, INPUT);
duration = pulseIn(pingPin, HIGH);
cm = microsecondsToCentimeters(duration);
}
long microsecondsToCentimeters(long microseconds)
{
return microseconds / 29 / 2;
}
(f) Simpan, compile dan upload program tersebut. Perhatikan informasi yang disampaikan.
5. Hasil Percobaan
sensor-robot
(a) Amati sensor jika tidak terhalang oleh benda apapun !
(b) Apa yang terjadi pada robot jika sensor ultrasonik diberi halangan secara
maju dan mundur?
6. Tugas !
Jelaskan program-sensor-robot

Universitas Islam Negeri Sunan Gunung Djati Bandung

Anda mungkin juga menyukai