0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan90 halaman

Panduan Lengkap Papan Arduino

Arduino adalah papan rangkaian elektronik open source yang menggunakan mikrokontroler untuk mengendalikan input dan output dalam proyek elektronik. Terdapat berbagai jenis papan Arduino, seperti Arduino Serial, USB, Mega, dan Nano, yang masing-masing memiliki spesifikasi dan kegunaan berbeda. Arduino IDE adalah lingkungan pemrograman yang memudahkan pengguna untuk menulis dan mengunggah kode menggunakan bahasa pemrograman yang mirip dengan C.

Diunggah oleh

Miftah Zain
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
6 tayangan90 halaman

Panduan Lengkap Papan Arduino

Arduino adalah papan rangkaian elektronik open source yang menggunakan mikrokontroler untuk mengendalikan input dan output dalam proyek elektronik. Terdapat berbagai jenis papan Arduino, seperti Arduino Serial, USB, Mega, dan Nano, yang masing-masing memiliki spesifikasi dan kegunaan berbeda. Arduino IDE adalah lingkungan pemrograman yang memudahkan pengguna untuk menulis dan mengunggah kode menggunakan bahasa pemrograman yang mirip dengan C.

Diunggah oleh

Miftah Zain
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd

APA ITU ARDUINO ?

Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya
terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel.
Mikrokontroler itu 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 yang diingin-
kan. Jadi mikrokontroler bertugas sebagai ‘otak’ yang mengendalikan input, proses dan output sebuah
rangkaian elektronik.

Mikrokontroler ada pada perangkat elektronik di sekeliling kita. Misalnya handphone, MP3
player, DVD, televisi, AC, dll. Mikrokontroler juga dipakai untuk keperluan mengendalikan robot. Baik
robot mainan, maupu robotindustri.

Karena komponen utama Arduino adalah mikrokontroler, maka Arduino pun dapat diprogram
menggunakan komputer sesuai kebutuhan kita.

1
Jenis-jenis Papan Arduino

Saat ini ada bermacam-macam bentuk papan Arduino yang disesuaikan dengan Kegunaanya atau
yang dikhususkan, seperti diperlihatkan berikut ini:

A. ARDUINO SERIAL
Menggunakan RS232 sebagai antar muka pemrograman atau komunikasi
komputer.
Contoh: Arduino Serial dan Arduino Serial v2.0

KETERANGAN
Penggunan papan Arduino jenis ini cukup rumit, sehingga dibutuhkan
kecakapan yang cukup memadai dari user.

B. ARDUINO USB
Menggunakan USB sebagai antar muka pemrograman atau
komunikasi komputer. Contoh:
° Arduino Uno
° Arduino Duemilanove
° Arduino Diecimila
° Arduino NG Rev. C
° Arduino NG (Nuova Generazione)
° Arduino Extreme dan Arduino Extreme v2
° Arduino USB dan Arduino USB v2.0
KETERANGAN
Karena menggunakan port USB sebagai antar mukanya, jenis papan Arduino ini dapat digunakan secara
plug and play.

C. ARDUINO MEGA
Papan Arduino jenis ini merupakan jenis papan Arduino dengan spesifikasi
yang lebih tinggi.
Contoh:
° Arduino Mega
° Arduino Mega 2560
KETERANGAN
Papan Arduino jenis ini dilengkapi dengan tambahan pin digital, pin analog,
port serial dan peripheral lainnya yang dapat meningkatkan kemampuan pa-
pan Arduino jenis ini

2
D. ARDUINO FIO
Papan Arduino jenis ini merupakan jenis papan Arduino yang
khusus dikembangkan untuk keperluan project Nirkabel
(Wireless).

E. Arduino Lilypad
Papan Arduino Lilypad merupakan jenis papan Arduino yang memiliki
karakteristik unik yang tidak dimiliki papan Arduino jenis lain. Contoh
papan Arduino jenis ini, ialah: LilyPad 00, LilyPad 01, LilyPad 02, LilyPad
03, dan LilyPad04.

KETERANGAN
Papan Arduino Lilypad meiliki bentuk melingkar yang tidak umum di-
jumpai pada papan-papan Arduino lainnya.

F. Arduino BT
Papan Arduino jenis ini memiliki kelebihan tersendiri yang tidak dimiliki
oleh papan Arduino jenis lain.

KETERANGAN
Pada papan Arduino jenis ini telah terpasang modul Bluetooth untuk ko-
munikasi nirkabel (Wireless).

G. ARDUINO NANO
Papan Arduino Nano merupakan jenis papan yang memiliki bentuk paling
simple dibandingkan dengan papan Arduino jenis lain.
Contoh:
° Arduino Nano 3.0, Arduino Nano 2.x
° Arduino Mini 04, Arduino Mini 03, Arduino Stamp 02

KETERANGAN
Papan Arduino Nano memiliki bentuk compact dengan port USB sebagai
antar muka dan media komunikasi dengan komputer. Arduino Nano juga
biasa digunakan bersama breadboard.

3
4
5
6
7
IDE itu merupakan kependekan dari Integrated Developtment Enviroenment, atau secara bahasa mu-
dahnya merupakan lingkungan terintegrasi yang digunakan untuk melakukan pengembangan. Disebut
sebagai lingkungan karena melalui software inilah Arduino dilakukan pemrograman untuk melakukan
fungsi-fungsi yang dibenamkan melalui sintaks pemrograman. Arduino menggunakan bahasa pemro-
graman sendiri yang menyerupai bahasa C. Bahasa pemrograman Arduino (Sketch) sudah dilakukan
perubahan untuk memudahkan pemula dalam melakukan pemrograman dari bahasa aslinya. Sebe-
lum dijual ke pasaran, IC mikrokontroler Arduino telah ditanamkan suatu program bernama Bootlader
yang berfungsi sebagai penengah antara compiler Arduino dengan mikrokontroler.

Arduino IDE dibuat dari bahasa pemrograman JAVA. Arduino IDE juga dilengkapi dengan library C/C++
yang biasa disebut Wiring yang membuat operasi input dan output menjadi lebih mudah. Arduino IDE
ini dikembangkan dari software Processing yang dirombak menjadi Arduino IDE khusus untuk pemro-
graman dengan Arduino.

8
Program yang ditulis dengan menggunaan Arduino
Software (IDE) disebut sebagai sketch. Sketch dit-
ulis dalam suatu editor teks dan disimpan dalam
file dengan ekstensi .ino. Teks editor pada Arduino
Software memiliki fitur” seperti cutting/paste dan
seraching/replacing sehingga memudahkan kamu
dalam menulis kode program.

Pada Software Arduino IDE, terdapat semacam


message box berwarna hitam yang berfungsi me-
nampilkan status, seperti pesan error, compile, dan
upload program. Di bagian bawah paling kanan
Software Arduino IDE, menunjukan board yang
terkonfigurasi beserta COM Ports yang digunakan.

Open
Berfungsi untuk membuka sketch yang per-
nah kamu buat dan membuka kembali un-
tuk dilakukan editing atau sekedar upload
Verify
ulang ke Arduino.
berfungsi untuk melakukan checking kode
yang kamu buat apakah sudah sesuai dengan Save
kaidah pemrograman yang ada atau belum Berfungsi untuk menyimpan Sketch yang
telah kamu buat.
Upload
Berfungsi untuk melakukan kompilasi pro- Serial Monitor
gram atau kode yang kamu buat menjadi Berfungsi untuk membuka serial moni-
bahsa yang dapat dipahami oleh mesih alias tor. Serial monitor disini merupakan jen-
si Arduino. dela yang menampilkan data apa saja yang
dikirimkan atau dipertukarkan antara ar-
New duino dengan sketch pada port serialnya.
berfungsi untuk membuat Sketch baru Serial Monitor ini sangat berguna sekali
ketika kamu ingin membuat program atau
melakukan debugging tanpa menggunakan
LCD pada Arduino. Serial monitor ini dapat
digunakan untuk menampilkan nilai proses,
nilai pembacaan, bahkan pesan error.

9
File
• New, berfungsi untuk membuat membuat sketch baru dengan bare minimum yang terdiri void setup() dan
void loop().
• Open, berfungsi membuka sketch yang pernah dibuat di dalam drive.
• Open Recent, merupakan menu yang berfungsi mempersingkat waktu pembukaan file atau sketch yang
baru-baru ini sudah dibuat.
• Sketchbook, berfungsi menunjukan hirarki sketch yang kamu buat termasuk struktur foldernya.
• Example, berisi contoh-contoh pemrograman yang disediakan pengembang Arduino, sehingga kamu dapat
mempelajari program-program dari contoh yang diberikan.
• Close, berfungsi menutup jendela Arduino IDE dan menghentikan aplikasi.
• Save, berfungsi menyimpan sketch yang dibuat atau perubahan yang dilakukan pada sketch
• Save as…, berfungsi menyimpan sketch yang sedang dikerjakan atau sketch yang sudah disimpan dengan
nama yang berbeda.
• Page Setup, berfungsi mengatur tampilan page pada proses pencetakan.
• Print, berfungsi mengirimkan file sketch ke mesin cetak untuk dicetak.
• Preferences, disini kam dapat merubah tampilan interface IDE Arduino.
• Quit, berfungsi menutup semua jendela Arduino IDE. Sketch yang masih terbuka pada saat tombol Quit
ditekan, secara otomatis akan terbuka pada saat Arduino IDE dijalankan.

Edit
• Undo/Redo, berfungsi untuk mengembalikan perubahan yang sudah dilakukan pada Sketch beberapa
langkah mundur dengan Undo atau maju dengan Redo.
• Cut, berfungsi untuk meremove teks yang terpilih pada editor dan menempatkan teks tersebut pada clip-
board.
• Copy, berfungsi menduplikasi teks yang terpilih kedalam editor dan menempatkan teks tersebut pada
clipboard.
• Copy for Forum, berfungsi melakukan copy kode dari editor dan melakukan formating agar sesuai untuk
ditampilkan dalam forum, sehingga kode tersebut bisa digunakan sebagai bahan diskusi dalam forum.
• Copy as HTML, berfungsi menduplikasi teks yang terpilih kedalam editor dan menempatkan teks tersebut
pada clipboard dalam bentuk atau format HTML. Biasanya ini digunakan agar code dapat diembededdkan
pada halaman web.
• Paste, berfungsi menyalin data yang terdapat pada clipboard, kedalam editor.
• Select All, berfungsi untk melakukan pemilihan teks atau kode dalam halaman editor.
• Comment/Uncomment, berfungsi memberikan atau menghilangkan tanda // pada kode atau teks, dimana
tanda tersebut menjadikan suatu baris kode sebagai komen dan tidak disertakan pada tahap kompilasi.
• Increase/Decrease Indent, berfunsgi untuk mengurangi atau menambahkan indetntasi pada baris kode
tertentu. Indentasi adalah “tab”.
• Find, berfungsi memanggil jendela window find and replace, dimana kamu dapat menggunakannya untuk
menemukan variabel atau kata tertentu dalam program atau menemukan serta menggantikan kata tersebut
dengan kata lain.
• Find Next, berfungsi menemukan kata setelahnya dari kata pertama yang berhasil ditemukan.
• Find Previous, berfungsi menemukan kata sebelumnya dari kata pertama yang berhasil ditemukan.

10
Sketch
• Verify/Compile, berfungsi untuk mengecek apakah sketch yang kamu buat ada kekeliruan dari segi sintaks
atau tidak. Jika tidak ada kesalahan, maka sintaks yang kamu buat akan dikompile kedalam bahasa mesin.
• Upload, berfunsi mengirimkan program yang sudah dikompilasi ke Arduino Board.
• Uplad Using Programmer, menu ini berfungsi untuk menuliskan bootloader kedalam IC Mikrokontroler
Arduino. Pada kasus ini kamu membutuhkan perangkat tambahan seperti USBAsp untuk menjembatani pe-
nulisan program bootloader ke IC Mikrokontroler.
• Export Compiled Binary, berfungsi untuk menyimpan file dengan ekstensi .hex, dimana file ini dapat disim-
pan sebagai arsip untuk di upload ke board lain menggunakan tools yang berbeda.
• Show Sketch Folder, berfungsi membuka folder sketch yang saat ini dikerjakan.
• Include Library, berfunsi menambahkan library/pustaka kedalam sketch yang dibuat dengan menyertakan
sintaks #include di awal kode. Selain itu kamu juga bisa menambahkan library eksternal dari file .zip kedalam
Arduino IDE.
• Add File…, berfungsi untuk menambahkan file kedalam sketch arduino (file akan dikopikan dari drive asal).
File akan muncul sebagai tab baru dalam jendela sketch.

Tools
• Auto Format, berfungsi melakukan pengatran format kode pada jendela editor
• Archive Sketch, berfungsi menyimpan sketch kedalam file .zip
• Fix Encoding & Reload, berfungsi memperbaiki kemungkinan perbedaan antara pengkodean peta karakter
editor danpeta karakter sistem operasi yang lain.
• Serial Monitor, berungsi membuka jendela serial monitor untuk melihat pertukaran data.
• Board, berfungsi memilih dan melakukan konfigurasi board yang digunakan.
• Port, memilih port sebbagai kanal komunikasi antara software dengan hardware.
• Programmer, menu ini digunakan ketika kamu hendak melakukan pemrograman chip mikrokontroller tan-
pa menggunakan koneksi Onboard USB-Serial. Biasanya digunakan pada proses burning bootloader.
• Burn Bootloader, mengizinkan kamu untuk mengkopikan program bootloader kedalam IC mikrokontroler

Help
Disini kamu bisa mendapatkan bantuan terhadap kegalauanmu mengenai pemrograman. Menu help berisi-
kan file-file dokumentasi yang berkaitan dengan masalah yang sering muncul, serta penyelesaiannya. Selain
itu pada menu help juga diberikan link untuk menuju Arduino Forum guna menanyakan serta mendiskusikan
berbagai masalah yang ditemukan.

11
PROGRAMMING AND SKECT PROGRAM PADA ARDUINO
Bahasa pemrograman Arduino adalah bahasa C (Bahasa yang Tersetruktur). Tetapi bahasa ini sudah
dipermudah menggunakan fungsi-fungsi yang sederhana sehingga pemula pun bisa mempelajarinya dengan
cukup mudah. Baiklah kita akan bahas bahasa pemrogramannya, seperti bahasa pemrograman tingkat men-
egah pada umumnya arduino pun sama memiliki alur algoritma yang mirip yang beda adalah cara penulisan
sintaknya.

Struktur Pemrograman

Structure dasar dari bahasa pemrograman arduino itu sederhana hanya terdiri dari dua bagian.
void setup( )
{
// Statement;
}
void loop( )
{
// Statement;
}
Dimana setup( ) bagian untuk inisialisasi yang hanya dijalankan sekali di awal program, sedangkan loop()
untuk mengeksekusi bagian program yang akan dijalankan berulang-ulang untuk selamanya.
setup()
Fungsi setup() hanya di panggil satu kali ketika program pertama kali di jalankan. Ini digunakan untuk pen-
definisian mode pin atau memulai komunikasi serial. Fungsi setup() harus di ikut sertakan dalam program
walaupun tidak ada statement yang di jalankan.
void setup()
{
pinMode(13,OUTPUT); // mengset ‘pin’ 13 sebagai output
}
loop
Setelah melakukan fungsi setup() maka secara langsung akan melakukan fungsi loop() secara berurutan
dan melakukan instruksi-instruksi yang ada dalam fungsi loop().
void loop()
{
digitalWrite(13, HIGH); // nyalakan ‘pin’ 13
delay(1000); // pause selama 1 detik
digitalWrite(13, LOW); // matikan ‘pin’ 13
delay(1000); /// pause selama 1 detik
}

12
Function
Function (fungsi) adalah blok pemrograman yang mempunyai nama dan mempunyai statement yang
akan di eksekusi ketika function di panggil. Fungsi void setup() dan void loop() telah di bahas di atas
dan pembuatan fungsi yang lain akan di bahas selanjutnya.
Cara pendeklarasian function
type functionName(parameters)
{
// Statement;
}
Contoh:
int delayVal()
{
int v; // membuat variable ‘v’ bertipe integer
v = analogRead(pot); // baca harga potentiometer
v /= 4; // konversi 0-1023 ke 0-255
return v; // return nilai v
}
Pada contoh di atas fungsi tersebut memiliki nilai balik int (integer), karena kalau tidak menghendaki
adanya nilai balik maka type function harus void.

{ } curly braces
Curly brace mendefinisikan awal dan akhir dari sebuah blok fungsi. Apabila ketika memprogram dan
progremer lupa memberi curly brace tutup maka ketika di compile akan terdapat laporan error.

; semicolon
Semicolon harus di berikan pada setiap statement program yang kita buat ini merupakan pembatas
setiap statement program yang di buat.

/*…*/ blok comment


Semua statement yang di tulis dalam block comments tidak akan di eksekusi dan tidak akan di compile
sehingga tidak mempengaruhi besar program yang di buat untuk di masukan dalam board arduino.

// line comment
Sama halnya dengan block comments, line coments pun sama hanya saja yang di jadikan komen adalh
perbaris.

13
Variable
Variable adalah sebuah penyimpan nilai yang dapat di gunakan dalam program. Variable dapat di ru-
bah sesuai dengan instruksi yang kita buat. Ketika mendeklarisikan variable harus di ikut sertakan type
variable serta nilai awal variable.
Type variableName = 0;
Contoh
Int inputVariable = 0; // mendefinisikan sebuah variable bernama inputVariable dengan nilai awal 0
inputVariable = analogRead(2); // menyimpan nilai yang ada di analog pin 2 ke inputVariable

variable scope
sebuah variable dapat di deklarasikan pada awal program sebelum void setup(), secara local di dalam
sebuah function, dan terkadang di dalam sebuah block statement pengulangan.
Sebuah variable global hanya satu dan dapat di gunakan pada semua block function dan statement di
dalam program. Variable global di deklarasikan pada awal program sebelum fungstion setup().
Sebuah variable local di deklarasikan di setiap block function atau di setiap block statement pengulan-
gan dan hanya dapat di gunakan pada block yang bersangkutan saja.
Contoh penggunaan:
int value; // ‘value’ adalah variable global dan dapat di gunakan pada semua block funtion
void setup()
{
// no setup needed
}

void loop()
{
for (int i=0; i<20;) // ‘i’ hanya dapat di gunakan dalam pengulangan saja
{
i++;
}
float f; // ‘f’ sebagai variable local
}

14
Konstanta
Arduino mempunyai beberapa variable yang sudah di kenal yang kita sebut konstanta. Ini membuat
memprogram lebih mudah untuk di baca. Konstanta di kelasifikasi berdasarkan group.

TRUE/FALSE
Merupakan konstanta Boolean yang mendifinisikan logic level. False mendifinisikan 0 dan True mendifin-
isikan 1.
If ( b == TRUE );
{
//doSomething
}

HIGH/LOW
Konstanta ini mendifinisikan aktifitas pin HIGH atau LOW dan di gunakan ketika membaca dan menulis
ke digital pin. HIGH di definisikan sebagai 1 sedangkan LOW sebagai 0.
digitalWrite( 13, HIGH );

INPUT/OUTPUT
Konstanta ini digunakan dengan fungsi pinMode() untuk mendifinisikam mode pin digital, sebagai input
atau output
pinMode( 13, OUTPUT );

Data type

Byte
type byte dapat menyimpan 8-bit nilai angka bilangan asli tanapa koma. Byte memiliki range 0 – 255.
Byte biteVariable = 180; // mendeklarasikan ‘biteVariable’ sebagai type byte

Integer
Integer adalah tipe data yang utama untuk menyimpan nilai bilangan bulat tanpa koma. Penyimpanan
integer sebesar 16-bit dengan range 32.767 sampai -32.768.
Int integerVariable = 1600; // mendeklarasikan ‘integerVariable’ sebagai type integer

Long
Perluasan ukuran untuk long integer, penyimpanan long integer sebesar 32-bit dengan range
[Link] sampai -[Link]
Long longVariable = 500000; // mendeklarasikan ‘longVariable’ sebagai type long

15
Float
Float adalah tipe data yang dapat menampung nilai decimal, float merupakan penyimpan yang leb-
ih besar dari integer dan dapat menyimpan sebesar 32-bit dengan range 3.4028235E+38 sampai
-3.4028235E+38
Float floatVariable = 3.14; // mendeklarasikan ‘floatVariable’ sebagai type float

Array
Array adalah kumpulan nilai yang dapat di akses dengan index number, nilai yang terdapat dalam array
dapat di panggil dengan cara menuliskan nama array dan index number. Array dengan index 0 merupa-
kan nilai pertama dari array. Array perlu di deklarasikan dan kalau perlu di beri nilai sebelum di gunakan.
Int arraysName[] = {nilai0, nilai1, nilai2 . . . }
Contoh penggunaan array:
Int arraySaya[] = {2,4,6,8,10}
x = arraySaya[5]; // x sekarang sama dengan 10

Operator aritmetic

Aritmetic
operator aritmatik terdiri dari penjumlahan, pengurangan, pengkalian, dan pembagian.
y = y + 3;
x = x - 8;
i = i * 5;
r = r / 9;
dalam menggunakan operan aritmatik harus hati-hati dalam menentukan tipe data yang digunakan
jangan sampai terjadi overflow range data.

Compound assignments
Compound assignments merupakan kombinasi dari aritmatic dengan sebuah variable. Ini biasanya di-
pakai pada pengulangan.
x ++; // sama seperti x = x + 1 atau menaikan nilai x sebesar 1
x --; // sama seperti x = x - 1 atau mengurangi nilai x sebesar 1
x += y; // sama seperti x = x + y
x -= y; // sama seperti x = x – y
x *= y; // sama seperti x = x * y
x /= y; // sama seperti x = x / y

16
Comparison
Statement ini membadingkan dua variable dan apabila terpenuhi akan bernilai 1 atau true. State-
ment ini banyak digunakan dalam operator bersyarat.
x == y; // x sama dengan y
x != y; // x tidak sama dengan y
x < y; // x leboh kecil dari y
x > y; // x lebih besar dari y
x <= y; // x lebih kecil dari sama dengan y
x >= y; // x lebih besar dari sama dengan y

Logic operator
operator logical digunakan untuk membandingkan 2 expresi dan mengembalikan nilai balik benar
atau salah tergantung dari operator yang di gunakan. Terdapat 3 operator logical AND,OR, dan
NOT, yang biasanya di gunakan pada if statement.
Contoh penggunaan:

Logical AND
If ( x > 0 && x < 5) // bernilai benar apabila kedua operator pembanding terpenuhi

Logical OR
If ( x > 0 || y > 0) // bernilai benar apabila salah satu dari operator pembanding terpenuhi

Logical NOT
If ( !x > 0 ) // benilai benar apabila ekspresi operator salah

Flow control
If
If Operator if mengtest sebuah kondisi seperti nilai analog sudah berada di bawah nilai yang kita
kehendaki atau belum, apabila terpenuhi maka akan mengeksekusi baris program yang ada dalam
brackets kalau tidak terpenuhi maka akan mengabaikan baris program yang ada dalam brackets.

If ( someVariable ?? value )
{
//DoSomething;
}

17
f… else
Operator if…else mengtest sebuah kondisi apabila tidak sesuai dengan kondisi yang pertama maka
akan mengeksekusi baris program yang ada di else.

If ( inputPin == HIGH )
{
//Laksanakan rencana A;
}
Else
{
//Laksanakan rencana B;
}

For
Operator for digunakan dalam blok pengulangan tertutup.

For ( initialization; condition; expression )


{
//doSomethig;
}

While
Operator while akan terus mengulang baris perintah yang ada dalam bracket sampai ekspresi sebagai
kondisi pengulangan benilai salah

While ( someVariable ?? value )


{
//doSomething;
}

Do… while
Sama halnya dengan while() hanya saja pada operator Do…while tidak melakukan pengecekan pada
awal tapi di akhir, sehingga otomatis akan melakukan satu kali baris perintah walaupun pada awalnya
sudah terpenuhi.

Do
{
//doSomething;
}
While ( someVariable ?? value );

18
19
20
Komponen Dasar dalam Praktek

komponen elektronika ini sangat membantu kita dalam pembuatan project/alat dengan arduino, karena
dengan komponen-komponen ini kita dapat langsung mencoba pada rangkaian yang sebenarnya. Kom-
ponen elektronika dapat dibedakan berdasarkan fungsi dan cara kerjanya. Berikut ini uraian komponen
dan alat-alat yang digunaka dalam praktik arduino.

1. Komponen Elektronika Pasif

Komponen pasif adalah komponen elektronika yang


dalam pengoperasiannya tidak membutuhkan suber
tegangan atau sumber arus tersendiri. Komponen
pasif pada umumnya digunakan sebagai pembatas
arus, pembagi tegangan, tank circuit dan filter pasif.
Komponen elektronika yang digolongkan sebagai
komponen pasif diantarnya adalah resistor, kapsitor,
induktor dan saklar.

2. Komponen Elektronika Aktif

Komponen aktif adalah komponen elektronika yang


dalam pengoperasiannya membutuhkan sumber
tegangan atau sumber arus dari luar. Ada banyak tipe
komponen aktif yang digunakan dalam rangkaian
atau sitem elektronika. Secara umum komponen ak-
tif dibangun mengunakan bahan semikonduktor yang
didesain sedemikian rupa sehingga memiliki fungsi,
nilai dan kapasitas sesuai kebutuhan yang diinginkan.

21
KOMPONEN PASIF

Resistor

Resistor adalah komponen elektronika yang ber-


fungsi sebagai penghambat/pembatas arus listrik. Dalam
aplikasinya resistor dapat dirangkai secara seri dan paralel,
pada rangkaian seri maka resistor dapat difungsikan sebagai
pembagi tegangan dengan karakteristik nilai resistor akan
bertambahsesuai dengan nilai resistor yang dihubung seri
tersebut. Kemudian resistor pada konfigurasi paralel resis-
tor berfungsi sebagai pembagi arus dan memiliki karkateris-
tik nilai resistansi menjadi lebih rendah berbanding terbalik
dengan jumlah dan nilai resistansi resistor yang diparalel.

Nilai pada komponen resistor dapat diketahu/dibaca dari kode warna yang terdapat pada komponen resistor,
ada beberapa produk resistor yang diberi kode warna dengan 4 gelang warna dan 5 gelang warna. Berikut
penjelasan mengenai cara membaca kode warna resistor.

22
23
Variabel Resistor
Variabel resistor adalah resistor yang
nilai hambatanya bisa diubah-ubah
dengan cara diputar atau digeser.

Saklar
Saklar tekan atau Tactile switch digunakan
untuk menghubungkan atau mematikan
arus dalam rangkaian eletronik. Mekan-
ismenya jika tombol ditekan maka arus
akan mengalir pada rangkaian.

Kapasitor
Kapasitor adalah komponen elektronika yang ber-
fungsi untuk menyimpan muatan listrik sementara.
Besar kecilnya muatan listrik yang dapat disimpan
olehkapasitor sebanding dengan nilai kapasitas ka-
pasitor tersebut. Selain sebagai penyimpan muatan
listrik kapasitor juga dapat digunakan sebagai pen-
ghubung atau coupling sinyal atau isyarat AC dalam
suatu rangkaian pemroses sinyal.

24
KOMPONEN AKTIF
Dioda

Dioda adalah komponen pasif yang dibuat dari bahan se-


mikonduktor. Dioda memiliki 2 kaki yaitu kaki Anoda dan
Kaki Katoda, pada prinsipnya dioda akan mengalirkan
arus DC dari Anoda ke Katoda. Pada aplikasi lain dioda
dapat berfungsi sebagai penyearah gelombang AC. Dioda
dibangun menggunakan dua lempeng bahan semikon-
duktor tipe P dan tipe N. Simbol dan salah satu bentuk
fisik dioda dapat dilihat pada gambar berikut.

Fungsi Dioda and Jenis-jenisnya

Berdasarkan Fungsi Dioda, Dioda dapat dibagi menjadi beberapa Jenis, diantaranya adalah:
• Dioda Penyearah (Dioda Biasa atau Dioda Bridge) yang berfungsi sebagai penyearah arus AC ke
arus DC.
• Dioda Zener yang berfungsi sebagai pengaman rangkaian dan juga sebagai penstabil tegangan.
• Dioda LED yang berfungsi sebagai lampu Indikator ataupun lampu penerangan
• Dioda Photo yang berfungsi sebagai sensor cahaya
• Dioda Schottky yang berfungsi sebagai Pengendali

25
LED (Light Emitting Diode)

Light Emitting Diode atau sering disingkat dengan LED


adalah komponen elektronika yang dapat memancar-
kan cahaya monokromatik ketika diberikan tegangan
maju. LED merupakan keluarga Dioda yang terbuat
dari bahan semikonduktor. Warna-warna Cahaya yang
dipancarkan oleh LED tergantung pada jenis bahan se-
mikonduktor yang dipergunakannya. LED juga dapat
memancarkan sinar inframerah yang tidak tampak
oleh mata seperti yang sering kita jumpai pada Remote
Control TV ataupun Remote Control perangkat elek-
tronik lainnya.

Cara Kerja LED (Light Emitting Diode)

Seperti dikatakan sebelumnya, LED merupakan keluarga dari Di-


oda yang terbuat dari Semikonduktor. Cara kerjanya pun hampir
sama dengan Dioda yang memiliki dua kutub yaitu kutub Positif
(P) dan Kutub Negatif (N). LED hanya akan memancarkan cahaya
apabila dialiri tegangan maju (bias forward) dari Anoda menuju
ke Katoda.

LED terdiri dari sebuah chip semikonduktor yang di doping se-


hingga menciptakan junction P dan N. Yang dimaksud dengan
proses doping dalam semikonduktor adalah proses untuk me-
nambahkan ketidakmurnian (impurity) pada semikonduktor
yang murni sehingga menghasilkan karakteristik kelistrikan yang
diinginkan. Ketika LED dialiri tegangan maju atau bias forward
yaitu dari Anoda (P) menuju ke Katoda (K), Kelebihan Elektron
pada N-Type material akan berpindah ke wilayah yang kelebihan
Hole (lubang) yaitu wilayah yang bermuatan positif (P-Type ma-
terial). Saat Elektron berjumpa dengan Hole akan melepaskan
photon dan memancarkan cahaya monokromatik (satu warna).

26
Cara Mengetahui Polaritas LED

Untuk mengetahui polaritas terminal Anoda (+) dan


Katoda (-) pada LED. Kita dapat melihatnya secara fisik
berdasarkan gambar diatas. Ciri-ciri Terminal Anoda
pada LED adalah kaki yang lebih panjang dan juga Lead
Frame yang lebih kecil. Sedangkan ciri-ciri Terminal Ka-
toda adalah Kaki yang lebih pendek dengan Lead Frame
yang besar serta terletak di sisi yang Flat.

Warna-warna LED (Light Emitting Diode)

Saat ini, LED telah memiliki beranekaragam warna, diantaranya seperti warna merah, kuning, biru, putih,
hijau, jingga dan infra merah. Keanekaragaman Warna pada LED tersebut tergantung pada wavelength (pan-
jang gelombang) dan senyawa semikonduktor yang dipergunakannya. Berikut ini adalah Tabel Senyawa Se-
mikonduktor yang digunakan untuk menghasilkan variasi warna pada LED :

27
EXERCISE 1
Setelah sebelumnya dijelaskan secara singkat tentang bahasa pemrograman Arduino dan beberapa kom-
ponen dasar yang digunakan dalam praktek belajar Arduino, maka sekarang kita coba penerapannya. Pada
pelajaran pertama pemrograman dengan bahasa apapun (html, php, dll) biasanya kita kenal program “Hello
world”. Nah pada Arduino, program “Hello world” ini adalah “Blinking LED”.

LED pada program kali ini akan dibuat menjadi berkelap-kelip (blinking) dengan durasi waktu yang tertentu
dan dilakukan berulang terus menerus.

Komponen yang diperlukan:


1. 1 buah LED
2. 1 buah resistor 220 ohm
3. Kabel jumper

Skema rangkaian dapat dilihat pada gambar berikut :

28
29
EXERCISE LED !!

Update Rangkaian LED

30
Setelah rangkian LED kalian rangkai, sekarang buatlah program seperti source code berikut

// Inisialisasi Pin LED


const int pinLED1 = 10;
const int pinLED2 = 11;
const int pinLED3 = 12;
const int pinLED4 = 13;
void setup() {
// pin LED sebagai output
pinMode(pinLED1, OUTPUT);
pinMode(pinLED2, OUTPUT);
pinMode(pinLED3, OUTPUT);
pinMode(pinLED4, OUTPUT);
}
void loop() {
// perulangan sebanyak 5 kali
// dari i=0 hinga i=4 atau (i < 5)
for(int i=0; i<5; i++){
if(i==1){
// jika i=1, hidupkan led 1, led yang lain mati
digitalWrite(pinLED1, HIGH);
digitalWrite(pinLED2, LOW);
digitalWrite(pinLED3, LOW);
digitalWrite(pinLED4, LOW);
}else if(i==2){
// jika i=2, hidupkan led 1 & 2, led 3 & 4 mati
digitalWrite(pinLED1, HIGH);
digitalWrite(pinLED2, HIGH);
digitalWrite(pinLED3, LOW);
digitalWrite(pinLED4, LOW);
}
// delai selama 5 detik
delay(5000);
}
}

31
CHALANGE !
1. Lanjutkan program LED ANIMATION yang sudah kalian buat sesuai pola pada Animasi Led tersebut.
2. Buat program LED ANIMATION dengan pola berbeda sesuai imajinasi kalian.

EXERCISE 2 !!
Pada awal pertemuan kita telah dijelaskan beberapa perintah dan logika yang digunakan dalam bahasa C
yang digunakan oleh microcontroller Arduino. untuk lebiih memahami beberapa perintah yang ada, mari kita
coba program LED ANIMATION dengan memanfaatkan perulangan FOR dan Array.

buatlah source code berikut.

// Inisialisasi Jumlah LED


const int numLED = 4;

// LED 1,2,3,&4 jadi 1 varibel


// dengaan alamat index 0,1,2,3
const int pinLED[numLED] = {8,9,10,11};

void setup() {
// Inisialisasi semua pin LED sebagai OUTPUT
for(int i=0; i<4; i++){
pinMode(pinLED[i], OUTPUT);
}
}

void loop() {
// Matikan semua LED
for(int i=0; i<4; i++){
digitalWrite(pinLED[i], LOW);
}
delay(1000);
// Hidupkan semua LED bertahap dg jeda 1 detik
for(int i=0; i<4; i++){
digitalWrite(pinLED[i], HIGH);
delay(1000);
}
}

32
CHALANGE 2 !
1. Coba pindahkan Pin LED yang sudah ada. jika ada warna yang berbeda, ubah warna LED yang sebelumnya.
2. Ubah pola Program LED ANIMATION dengan perulangan FOR dan Array sesuai imajinasi kalian.

SELAMAT MENCOBA ^_^


SEMANGAT!!!

*Setelah materi ini dipelajari jangan lupa untuk terus di pelajari/diulang dirumah dengan alat asli/simulator.
karena sebelum kelas di mulai di pertemuan selanjutnya, akan ada rivew atau test singkat oleh Trainer...
HEHEHEHE.... Terus Semangat ‘-’)9

33
Ok.. Pada praktikum kali ini, kita akan mencoba peng-
gunaan button sebagai input ke arduino, dan membaca
hasilnya pada komputer kita. Untuk membuat sebuah ro-
bot diperlukan pemahaman tentang sensor.

Pada dasarnya sensor ini bekerja layaknya sebuah but-


ton, saat satu kondisi tertentu mengalirkan arus listrik dan
dilain waktu tidak atau mengalirkan arus listrik dengan
proporsi tertentu. Nah, itulah yang nantinya diterima oleh
Arduino.

Dari hasil bacaan sensor tersebut barulah kita membuat program/sketch aksi apa yang harus dilakukan oleh
Arduino terhadap bacaan sensor. Untuk praktikum kali ini kita menggunakan button sebagai sensor kita.

Skema Rangkaian

34
EXERCISE 1 !

Susun dan rangkai komponen-komponen seperti pada gambar skema.


1. Hubungkan Kaki 1 Push Button dengan pin 5v Arduino menggunakan kabel jumper (gunakan warna merah)
2. Hubungkan Kaki 2 Push Button dengan salah satu kaki Resistor 1K Ohm dan pin digital 2 Arduino. Untuk ke
pin 2 arduino gunakan kabel jumper (gunakan warna kuning)
3. Hubungkan kaki Resistor yang belum terhubung ke pin Gnd arduino menggunakan kabel jumper (gunakan
warna hitam)
4. Pasang dan hubungkan kabel USB ke arduino kemudian sambungkan dengan port USB komputer
5. Bukalah IDE Arduino pada komputer kemudian ketikkan Program/Sketch berikut

int pushButton = 2;

void setup () {

[Link] (9600);

pinMode (pushButton, INPUT);

void loop () {

int kondisiButton = digitalRead(pushButton);

[Link] ( kondisiButton);

delay (1);
}

6. Compile sketch tersebut menggunakan tombol “verify” pada IDE Arduino jika tidak ada error, Upload ke
Board Arduino menggunakan tombol “Upload”.

7. Buka jendela komunikasi serial pada IDE arduino caranya, pilih Tools > Serial Monitor.

Jika tidak ada kesalahan, maka hasil dari input yang mana dalam praktikum ini yaitu Pushbutton akan terbaca
di jendela komunikasi serial pada IDE arduino.

Cobalah menekan Pushbutton dan amati hasilnya pada jendela komunikasi serial tersebut.

35
EXERCISE 2 !

Susun dan rangkai komponen-komponen seperti pada gambar skema.


1. Hubungkan Kaki 1 Push Button dengan pin 5v Arduino menggunakan kabel jumper (gunakan warna merah)
2. Hubungkan Kaki 2 Push Button dengan salah satu kaki Resistor 1K Ohm dan pin digital 2 Arduino. Untuk ke
pin 2 arduino gunakan kabel jumper (gunakan warna kuning)
3. Hubungkan kaki Resistor yang belum terhubung ke pin Gnd arduino menggunakan kabel jumper (gunakan
warna hitam)
4. Hubungkan kaki Negatif LED dengan resistor 220 Ohm dan Gnd.
5. Hubungkan kaki Positif LED dengan Pin Digital 13 Arduino.
6. Pasang dan hubungkan kabel USB ke arduino kemudian sambungkan dengan port USB komputer
7. Bukalah IDE Arduino pada komputer kemudian ketikkan Program/Sketch berikut

SKEMA RANGKAIAN

36
CODING

int LedPin = 3; // Pin LED (Output)


int ButtonPin = 2; // tombol untuk LED pada Pin3
int kondisiButtonPin2 = 0; //kondisi awal tombol 0 = mati

void setup () {
pinMode (LedPin, OUTPUT);
pinMode (ButtonPin, INPUT);
}

void loop () {
kondisiButtonPin2 = digitalRead (ButtonPin);
if (kondisiButtonPin2 == HIGH) // jika tombol pin 2 ditekan
{
digitalWrite (LedPin, HIGH); // LED pin 3 menyala
}

else
{
digitalWrite (LedPin, LOW); // LED pin 3 mati
}
}

37
CHALANGE 1 !
1. Buatlah sebuah skema rangkaian sebagai berikut. Dan buatlah pengembangan coding dari program yang
telah kalian buat.

SKEMA RANGKAIAN

38
Mengontrol Tingkat Kecerahan LED dengan Push Button

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). Yak, setidaknya kalian
paham dengan apa yang dimaksudkan disini.
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 den-
gan 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?
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.

39
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 mem-
berikan 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 berikut.

40
EXERCISE 3!

Buatlah rangkaian seperti gambar. Rencananya, pushbutton yang atas untuk menyalakan dan meningkatkan
kecerahan LED, sedangkan pushbutton yang bawah untuk menurunkan tingkat kecerahan LED dan memad-
amkannya:

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

SKEMA RANGKAIAN

41
CODING

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

SELAMAT MENCOBA ^_^


SEMANGAT!!!

42
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-matin-
ya 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 menen-
gah, 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:

43
EXERCISE 1 !

Buatlah Rangkaian Seperti pada gambaar dengan speaker 8 ohm atau 16 ohm. Speaker baru atau speaker
bekas radio yang masih berfungsi bisa Anda gunakan. Anda bisa menggunakan project board atau tidak.
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.

SKEMA RANGKAIAN

44
CODING

Jika kita kembali ke catatan pembuka pada bagian ini, maka 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().

const int pinSpeaker = 9; // speaker ada di pin 9


const int timeDelay = 1163;// delay untuk nada 440 Hz

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

void loop() {
digitalWrite(pinSpeaker, HIGH);
delayMicroseconds(timeDelay);
digitalWrite(pinSpeaker, LOW);
delayMicroseconds(timeDelay);
}

45
Membuat Musik

Musik adalah kumpulan nada, sehingga jika kita ingin membuat musik, maka kita bisa merangkai nada-nada
sehingga alunannya enak didengar. Pada Arduino kita bisa menggunakan fungsi tone() untuk membuat nada.
Fungsi tone() memiliki 2 parameter inputan wajib dan 1 parameter tambahan. Cara menggunakan fungsi
tone() yaitu:

tone(pin, frekuensi, durasi); atau tone(pin, frekuensi);

Parameter pin adalah pin yang disambungkan ke speaker, frekuensi adalah frekuensi yang digunakan,
sedangkan durasi adalah lama nada berbunyi pada frekuensi tersebut.
Jika tanpa menginputkan durasi, maka nada akan dibunyikan hingga nada selanjutnya dijalankan atau
ketika kita memberikan perintah noTone(). Sehingga kita bisa memanfaatkan delay untuk membuat nada
yang panjang atau pendek.
Parameter durasi akan berguna ketika kita ingin membunyikan nada sambil menjalankan perintah lain-
nya. sebab jika kita menggunakan delay, maka kita harus menunggu delay selesai dahulu untuk menjalankan
perintah selanjutnya.

Perintah noTone() berguna untuk menghentikan nada pada pin tertentu, sehingga kita bisa mengguna-
kan perintah pin dengan format

noTone(pin);
Perintah noTone() akan berguna ketika kita menggunakan banyak speaker yang dikontrol oleh banyak
pin. Sekedar catatan bahwa ketika kita menjalankan fungsi tone(), maka kita tidak bisa menggunakan fungsi
PWM pada pin 3 dan pin 11. Oleh sebab itu, jika ingin menggunakan PWM dan fungsi tone(), sebaiknya Anda
menggunakan pin lainnya untuk PWM.

46
EXERCISE 2 !

Buatlah Sketch program yang berfungsi untuk membuat tangga nada Do-Re-Mi kunci C. Silakan dicoba.

// 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
const int pinSpeaker = 9; // speaker ada di pin 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);
}

47
CHALANGE 1 !
1. Cobalah buatlah lagu bintang kecil dengan contoh Sketch program yang sudah dipelajari.
2. Cobalah buatlah lagu kesukaanmu (sebagian/sedikit) dengan contoh Sketch program yang sudah dipelajari.

SELAMAT MENCOBA ^_^


SEMANGAT!!!

*Setelah materi ini dipelajari jangan lupa untuk terus di pelajari/diulang dirumah dengan alat asli/simulator.
karena sebelum kelas di mulai di pertemuan selanjutnya, akan ada rivew atau test singkat oleh Trainer...
HEHEHEHE.... Terus Semangat ‘-’)9

48
Komunikasi serial adalah salah satu metode komunika-
si data dimana proses pengiriman data dilakukan satu per
satu bit data secara berurutan dan bergantian yang dikirim-
kan melalui seuntai kabel pada suatu waktu tertentu....

Fungsi komunikasi serial ini adalah untuk komunikasi


data antara arduino dengan PC atau perangkat lainnya (PLC,
Sensor DLL)
seperti kita ketahui arduino menggunakan IC USB To serial
sehingga bisa dihubungkan langsung ke port USB

Istilah Istilah dalam komunikasi serial


1. Baudrate -> Kecepatan transfer data dinyatakan dalam satuan bps ( bit per second)
2. Data Bit -> Jumlah bit yang dikirimkan dalam frame data (5bit - 9bit)
3. Parity Bit -> Bit parity digunakan dalam pengecekan error untuk menemukan kesalahan yang
mungkin terjadi selama transmisi data
4. Start Bit -> Bit yang digunakan sebagai indikator awal sebuah frame data (selalu low)
5. Stop Bit -> Bit yang digunakan sebagai indikator akhir sebuah frame data (selalu high)

EXERCISE 1.
1. Pasang dan hubungkan kabel USB ke arduino kemudian sambungkan dengan port USB komputer
2. Bukalah IDE Arduino pada komputer kemudian ketikkan Program/Sketch berikut

void setup(){
[Link](9600); //Baudrate
}
void loop(){
[Link](“Hello Robotic Club Bogor”); // Karakter yang di
tampilkan
[Link](“Ini Dari Komunikasi Serial”);
delay(1000);
}

49
EXERCISE 2.

1. Susunlah rangkian LED seperti pada pertemuan sebelumnya.


2. Pasang dan hubungkan kabel USB ke arduino kemudian sambungkan dengan port USB komputer
3. Bukalah IDE Arduino pada komputer kemudian ketikkan Program/Sketch berikut

int lampu1=13;
int melihat;
void setup(){
pinMode(lampu1, OUTPUT);
digitalWrite(lampu1,LOW);
digitalWrite(lampu2,LOW);
digitalWrite(lampu3,LOW);
[Link](9600);
}
void loop(){
if([Link]()>0){
melihat=[Link]();
}
if(melihat==’1’){
digitalWrite(lampu1,HIGH);
}
else if(melihat==’2’){
digitalWrite(lampu1,LOW);
}
}

4. Compile sketch tersebut menggunakan tombol “verify” pada IDE Arduino jika tidak ada error, Upload ke
Board Arduino menggunakan tombol “Upload”.
5. Buka jendela komunikasi serial pada IDE arduino caranya, pilih Tools > Serial Monitor.
Jika tidak ada kesalahan, maka perintah berupa input tombol dari keyboard akan terbaca di jendela komuni-
kasi serial pada IDE arduino dan mampu mengontrol LED.
Cobalah menekan tombol keyboard yang telah dimasukkan dalam program dan amati hasilnya.

50
CHALANGE !

1. Dengan program awal pertemuan ini, buatlah program agar serial komunikasi dapat menampilkan
Nama, kelas dan sekolah.
2. Tambahkan program, agar ketika LED sudah menyala maka pada serial komunikasi akan menampil
kan tulisan “Lampu sudah menyala”.
3. Buatlah sebuah rangkaian seperti Blinking LED dengan 3 buah LED, kemudian buat agar LED dapat
dinyalakan dengan tombol keyboard dalam serial komunikasi.

SELAMAT MENCOBA ^_^


SEMANGAT!!!

*Setelah materi ini dipelajari jangan lupa untuk terus di pelajari/diulang dirumah dengan alat asli/simulator.
karena sebelum kelas di mulai di pertemuan selanjutnya, akan ada rivew atau test singkat oleh Trainer...
HEHEHEHE.... Terus Semangat ‘-’)9

51
Layar LCD (Liquid Crystal Display) merupakan suatu media
penampilan data yang sangat efektif dan efisien dalam peng-
gunaannya. Untuk menampilkan sebuah karakter pada layar
LCD diperlukan beberapa rangakaian tambahan. Untuk lebih
memudahkan para pengguna, maka beberapa perusahaan
elektronik menciptakan modul LCD.

LCD dibagi menjadi dua bagian yaitu bagian depan panel LCD yang terdiri dari banyak dot atau titik LCD
dan mikrokontroler yang menempel pada bagian belakang panel LCD yang berfungsi untuk mengatur titik-
titik LCD sehingga dapat menampilkan huruf, angka, dan simbol khusus yang dapat terbaca.

Nah ok guys seiring berkembangnya kecanggihan


teknologi, agar kita gak ribet dan bingung lagi un-
tuk menginstalasi rangkayan lcd display ini akhirnya
dibuatlah modul yang namanya I2C dengan tambahan
modul i2C, kita hanya menggunakan 4 pin saja. Be-
narkah? Yap, hemat kabel banget kan :D

52
EXERCISE LCD DISPLAY!

OK.. Setelah berkenalan dengan perangkat LCD dan I2C sekarang, saatnya kita coba membuat Display pada
LCD dengan Arduino.

Sebelum Praktek.. Jangan lupa siapkan alat :

1x Arduino
1x LCD 16x2 dan I2c
4x Kabel jumper Male-Female

Kemudian silahkan rangkai seperti gambar dibawah ini:

CATATAN:

1. Hubungkan pin VCC pada LCD i2C ke pin 5V Arduino


2. Hubungkan pin GND pada LCD i2C ke pin GND Arduino
3. Hubungkan pin SCL pada LCD i2C ke pin SCL (atau bisa pake pin A5) Arduino
4. Hubungkan pin SDA pada LCD i2C ke pin SDA (atau bisa pake pin A4) Arduino

53
Jika sudah selesai membuat rangkaiannya. Silahkan Ketika Ulang atau salin program dibawah ini:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27 ,2,1,0,4,5,6,7,3, POSITIVE); //Ubah
alamat 0x27 dengan alamat i2C kamu
void setup(){
[Link](16,2); //LCD untuk ukuran 16x2
}
void loop(){

[Link](0, 0); //baris pertama


[Link](“(NAMA)”);
[Link](0, 1); //baris kedua
[Link](“ROBOTIC”);
}

Jika sudah selesai membuat codingnya, silahkan di Verivy laluTekan Upload dan TARAAA...
SELAMAT.... (Jika sudah berhasil).. kalau belum “JANGAN MENYERAH”.

CHALANGE LCD DISPLAY !


1. Buatlah tulisan bergantian dengan memanfaatkan delay
2. Buatlah Display “RUNNING TEXT” dengan tambahan coding rumus pada Void loop sebagai beri-
kut
for (i = 0 ; i < 16; i ++) {
[Link]();
delay(400);
}

SELAMAT MENCOBA ^_^


SEMANGAT!!!

54
LM35 adalah komponen sensor suhu berukuran kecil seperti
transistor (TO-92). Komponen yang sangat mudah digunakan
ini mampu mengukur suhu hingga 100 derajad Celcius. Den-
gan tegangan keluaran yang terskala linear dengan suhu ter-
ukur, yakni 10 milivolt per 1 derajad Celcius, maka komponen
ini sangat cocok untuk digunakan sebagai teman eksperimen
kita, atau bahkan untuk aplikasi-aplikasi seperti termometer
ruang digital, mesin pasteurisasi, atau termometer badan digi-
tal. LM35 dapat disuplai dengan tegangan mulai 4V-30V DC
dengan arus pengurasan 60 mikroampere.

Beberapa varian LM35:


• LM35, LM35A memiliki jangkauan -55ºC hingga + 150ºC.
• LM35C, LM35CA memiliki jangkauan -40ºC hingga + 110ºC.
• LM35D memiliki jangkauan 0ºC hingga +100ºC. LM35

Berikut Skema rangkaiannya:

55
EXERCISE :

Susun dan rangkai komponen-komponen seperti pada gambar skema.


1. Hubungkan Kaki VCC LM35 Sensor dengan 5V Arduino.
2. Hubungkan Kaki GND LM35 Sensor dengan pin GND Arduino.
3. Hubungkan kaki OUT LM35 Sensor dengan A0 (Analog pin) Arduino.
4. Pasang dan hubungkan kabel USB ke arduino kemudian sambungkan dengan port USB komputer lalu beri
kan source code berikut.

// deklarasi variabel
float tempC;
int tempPin = 0;

void setup(){
[Link](9600); // buka serial port, set baud rate 9600 bps
}

void loop(){
tempC = analogRead(tempPin); // baca data dari sensor
tempC = (5.0 * tempC * 100.0)/1024.0; // konversi analog ke suhu
[Link]((int)tempC,DEC); // kirim data via serial
delay(1000); // tunggu sejenak
}

5. Compile sketch tersebut menggunakan tombol “verify” pada IDE Arduino jika tidak ada error, Upload ke
Board Arduino menggunakan tombol “Upload”.

6. Buka jendela komunikasi serial pada IDE arduino caranya, pilih Tools > Serial Monitor.

Jika tidak ada kesalahan, maka hasil dari perhitungan suhu dari sensor LM35 akan terbaca dan muncul di
jendela komunikasi serial pada IDE arduino.

56
CHALANGE !

1. Tambahkan 2 buah LED dengan warna hijau dan merah, lalu buatlah program, Jika Nilai pada
sensor menunjukkan suhu diatas 27 derajat Celcius maka LED Merah menyala dan bila suhu nor-
mal maka LED hijau menyala.

SELAMAT MENCOBA ^_^


SEMANGAT!!!

*Setelah materi ini dipelajari jangan lupa untuk terus di pelajari/diulang dirumah dengan alat asli/simulator.
karena sebelum kelas di mulai di pertemuan selanjutnya, akan ada rivew atau test singkat oleh Trainer...
HEHEHEHE.... Terus Semangat ‘-’)9

57
Light Dependent Resistor (LDR) adalah jenis resistor yang nilai
hambatannya di pengaruhi oleh cahaya di sekitar. Maka kita bisa
membuat LDR ini menjadi sensor cahaya. Karena memang sudah
banyak aplikasinya. Misalnya pada lampu jalan, tidak ada saklar
untuk mematikan dan menghidupkan lampu jalan.

Dengan menggunakan sensor cahaya LDR, lampu jalan akan mati


ketika siang dan akan hidup ketika malam secara otomatis.

EXERCISE !

SKEMA RANGKAIAN

Susun dan rangkai komponen-komponen seperti pada gambar skema.

1. Hubungkan Kaki-kaki LED seperti pada project Blinking LED

2. Hubungkan Kaki LDR seperti pada gambar

3. Pasang dan hubungkan kabel USB ke arduino kemudian sambungkan dengan port USB komputer

58
Bukalah IDE Arduino pada komputer kemudian ketikkan Program/Sketch berikut :

int LDR = A2; // membuat variabel LDR untuk pin A2


int LED = 13; // membuat variabel LED untuk pin 13
int nilaiLDR = 0; // variabel nilai awal untuk nilaiLDR

void setup(){
pinMode(LED, OUTPUT); // menentukan LED menjadi OUTPUT
[Link](9600); // komunikasi Arduino ke Komputer
}

void loop(){
nilaiLDR = analogRead(LDR); // menyimpan nilai yang dibaca
dari LDR ke variabel nilaiLDR
[Link] (“NilaiLDR= “); // menampilkan teks nilaiLDR =

[Link] (nilaiLDR); // menampilkan nilai dari nilaiLDR

if (nilaiLDR < 500) { // jika nilai dari LDR kurang dari 500

digitalWrite (LED, HIGH); // lampu LED menyala

}
else { // jika tidak

digitalWrite (LED, LOW); // lampu LED mati

}
}

4. Compile sketch tersebut menggunakan tombol “verify” pada IDE Arduino jika tidak ada error, Upload ke
Board Arduino menggunakan tombol “Upload”.

5. Buka jendela komunikasi serial pada IDE arduino caranya, pilih Tools > Serial Monitor.

Jika tidak ada kesalahan, maka display tulisan dan data intensitas cahaya hasil perhitungan sensor LDR akan
terbaca kemudian beri Sensor LDR cahaya dan perhatikan yang terjadi pada LED.

59
CHALANGE !

1. Tambahkan komponen LDR dan LED sebanyak 2 buah, dan buat masing-masing bekerja secara
bersama seperti yang pertama kamu buat.

2. Tampilkan pada Serial Monitor. Bila terang, maka serial monitor menampilkan “Kondisi cukup
cahaya, lampu dimatikan”. Bila gelap, maka serial monitor menampilkan “Kondisi kurang cahaya,
Lampu dinyalakan.

SELAMAT MENCOBA ^_^


SELAMAT MENCOBA ^_^
SEMANGAT!!!
SEMANGAT!!!

*Setelah materi ini dipelajari jangan lupa untuk terus di pelajari/diulang dirumah dengan alat asli/simulator.
karena sebelum kelas di mulai di pertemuan selanjutnya, akan ada rivew atau test singkat oleh Trainer...
HEHEHEHE.... Terus Semangat ‘-’)9

60
Moisture sensor adalah sensor kelembaban yang dapat men-
deteksi kelembaban dalam tanah. Sensor ini sangat sederhana,
tetapi ideal untuk memantau taman kota, atau tingkat air pada
tanaman.

Sensor ini terdiri dari dua probe untuk melewatkan arus melalui
tanah, kemudian membaca resistansinya untuk mendapatkan
nilai tingkat kelembaban. Semakin banyak air membuat tanah
lebih mudah menghantarkan listrik (resistansi kecil), sedangkan
tanah yang kering sangat sulit menghantarkan listrik (resistansi
besar).

Sensor ini sangat membantu untuk mengingatkan tingkat kelembaban pada tanaman atau memantau
kelembaban tanah di kebun.

Berikut Skema rangkaiannya:

61
EXERCISE :
Susun dan rangkai komponen-komponen seperti pada gambar skema.
1. Hubungkan Kaki VCC Moisture Sensor dengan pin Digital Arduino (Agar tidak terjadi kerusakan pada sesor).
2. Hubungkan Kaki GND Moisture Sensor dengan pin GND Arduino.
3. Hubungkan kaki OUT Moisture Sensor dengan A0 (Analog pin) Arduino.
4. Pasang dan hubungkan kabel USB ke arduino kemudian sambungkan dengan port USB komputer lalu beri
kan source code berikut.

int LED = 13;


int nilaiSensor=0;
int pinSensor=A0;

void setup()
{
pinMode(13,OUTPUT);
[Link](9600);
}

void loop()
{
nilaiSensor = analogRead(pinSensor);
[Link](nilaiSensor);

if (nilaiSensor <= 341)


{
[Link](“Tanah Kurang Lembab”);
digitalWrite(LED,HIGH);
}
else if (nilaiSensor >=343)
{
[Link](“Tanah Sangat Lembab”);
digitalWrite(LED,LOW);
}
}

62
5. Compile sketch tersebut menggunakan tombol “verify” pada IDE Arduino jika tidak ada error, Upload ke
Board Arduino menggunakan tombol “Upload”.

6. Buka jendela komunikasi serial pada IDE arduino caranya, pilih Tools > Serial Monitor.

Jika tidak ada kesalahan, maka display tulisan yang sudah diprogram dan hasil dari perhitungan kelembaban
dari sensor Moisture akan terbaca dan muncul di jendela komunikasi serial pada IDE arduino.

CHALANGE !

1. Tambahkan 1 buah LED berwarna Hijau dan 1 buah Buzzer , lalu buatlah program, Jika nilai kelembaban
tanah kurang lembab maka LED Merah akan menyala dan Buzzer berbunyi bila kelembaban kembali nor
mal maka LED hijau menyala dan Buzzer berhenti berbunyi.

SELAMAT MENCOBA ^_^


SEMANGAT!!!

*Setelah materi ini dipelajari jangan lupa untuk terus di pelajari/diulang dirumah dengan alat asli/simulator.
karena sebelum kelas di mulai di pertemuan selanjutnya, akan ada rivew atau test singkat oleh Trainer...
HEHEHEHE.... Terus Semangat ‘-’)9

63
Flame Sensor merupakan sebuah alat pendeteksi api yang mengguna-
kan sensor optic untuk mendeteksinya. Di sini ditegaskan bahwa flame
detector digunakan untuk mendeteksi keberadaan api, bukan panas.
Prinsip kerja flame detector adalah dimulai dari pendeteksian cahaya,
Cahaya Api akan bisa dideteksi oleh keberadaan spectrum cahaya infra
red maupun ultraviolet, dan dari situ semacam microprocessor dalam
flame detector akan bekerja untuk membedakan spectrum cahaya yang
terdapat pada api yang terdeteksi tersebut.

Flame sensor/ Sensor nyala api ini dapat mendeteksi nyala api dengan panjang gelombang 760 nm ~ 1100
nm, mempunyai sudut pembacaan 60 derajat, dan beroperasi pada suhu -25 - 85 derajat Celcius. Dan tentu
saja untuk jarak pembacaan antara sensor dan objek yang dideteksi tidak boleh terlalu dekat, untuk meng-
hindari kerusakan sensor.

EXERCISE
Berikut Skema rangkaiannya:

64
Susun dan rangkai komponen-komponen seperti pada gambar skema.

1. Hubungkan Kaki VCC Flame Sensor dengan 5V Arduino.

2. Hubungkan Kaki GND Flame Sensor dengan pin GND Arduino.

3. Hubungkan kaki OUT Flame Sensor dengan A0 pin apapun (Analog pin) Arduino.

4. Pasang dan hubungkan kabel USB ke arduino kemudian sambungkan dengan port USB komputer lalu beri
kan source code berikut.

int api;

void setup() {
[Link](9600);
pinMode (A0, INPUT);
}

void loop() {
api = analogRead(A0);
[Link](api);
delay(100);
}

5. Compile sketch tersebut menggunakan tombol “verify” pada IDE Arduino jika tidak ada error, Upload ke
Board Arduino menggunakan tombol “Upload”.

6. Buka jendela komunikasi serial pada IDE arduino caranya, pilih Tools > Serial Monitor.

Jika tidak ada kesalahan, maka tulisan api akan terbaca dan muncul di jendela komunikasi serial pada IDE
arduino.

65
CHALANGE !
1. Tambahkan 2 buah LED dengan warna hijau dan merah, kipas angin (+driver yg sudah dibuat) lalu buat-
lah program, Jika sensor Flame mendeteksi api maka LED Merah dan kipas menyala lalu bila sensor tidak
mendeteksi api maka LED hijau menyala dan kipas angin mati.

SELAMAT MENCOBA ^_^


SEMANGAT!!!

*Setelah materi ini dipelajari jangan lupa untuk terus di pelajari/diulang dirumah dengan alat asli/simulator.
karena sebelum kelas di mulai di pertemuan selanjutnya, akan ada rivew atau test singkat oleh Trainer...
HEHEHEHE.... Terus Semangat ‘-’)9

66
MQ-2 adalah komponen elektronika untuk mendeteksi kadar gas
hidrokarbon seperti iso butana (C4H10 / isobutane), propana
(C3H8 / propane), metana (CH4 / methane), etanol (ethanol alco-
hol, CH3CH2OH), hidrogen (H2 / hydrogen), asap (smoke), dan LPG
(liquid petroleum gas). Gas sensor ini dapat digunakan untuk men-
deteksi kebocoran gas di rumah / pabrik, misalnya untuk membuat
rangkaian elektronika pendeteksi kebocoran elpiji.

sensor gas analog MQ5, sangat baik digunakan baik di indus-


tri maupun rumah untuk mendeteksi LPG, natural gas dengan
mengabaikan noise gas seperti alkohol, dan asap rokok. Module
sensor ini sudah dilengkapi dengan potensiometer untuk menga-
tur sensitifitas sensor.

Berikut Skema rangkaiannya:

67
EXERCISE :
Susun dan rangkai komponen-komponen seperti pada gambar skema.
1. Hubungkan Kaki VCC MQ-2/MQ5 Sensor dengan 5V Arduino.
2. Hubungkan Kaki GND MQ-2/MQ-5 Sensor dengan pin GND Arduino.
3. Hubungkan kaki OUT MQ-2/MQ5 Sensor dengan A2 (Analog pin) Arduino.
4. Pasang dan hubungkan kabel USB ke arduino kemudian sambungkan dengan port USB komputer lalu beri
kan source code berikut.

// deklarasi variabel
int sensorAsap = A2;
int sensorAsapValue = 0;

void setup(){
[Link](9600); // buka serial port, set baud rate 9600 bps
}

void loop(){
sensorAsapValue = analogRead(sensorAsap); // baca data dari sensor
[Link](sensorAsapValue); // kirim data via serial
if (sensorAsapValue > 52) [Link] (”Status Asap : Yes”);
else
[Link] (”Status Asap : No”);
}

5. Compile sketch tersebut menggunakan tombol “verify” pada IDE Arduino jika tidak ada error, Upload ke
Board Arduino menggunakan tombol “Upload”.

6. Buka jendela komunikasi serial pada IDE arduino caranya, pilih Tools > Serial Monitor.

Jika tidak ada kesalahan, maka hasil dari perhitungan suhu dari sensor MQ-2/MQ-5 akan terbaca dan mun-
cul di jendela komunikasi serial pada IDE arduino.

68
CHALANGE !

1. Tambahkan 2 buah LED dengan warna hijau dan merah, lalu buatlah program, Jika Nilai pada sensor men-
unjukkan > 57 s maka LED Merah menyala dan bila kondisi normal / nilai < 57 maka LED hijau menyala

SELAMAT MENCOBA ^_^


SEMANGAT!!!

*Setelah materi ini dipelajari jangan lupa untuk terus di pelajari/diulang dirumah dengan alat asli/simulator.
karena sebelum kelas di mulai di pertemuan selanjutnya, akan ada rivew atau test singkat oleh Trainer...
HEHEHEHE.... Terus Semangat ‘-’)9

69
PASSIVE INFRA RED

Sesuai namanya, PIR (Passive Infra Red) , sensor ini bersifat pasif
alias hanya menerima. Sensor ini menerima sinyal infrared yang di
pancarkan suatu objek (dalam hal ini tubuh manusia) yang di band-
ingkan dengan suhu ruangan. Oleh karena itu sensor ini lebih banyak
digunakan di dalam ruangan karena bila diluar ruangan (outdoor)
perubahan suhu yang terjadi tidak hanya dari panas tubuh manusia,
bisa juga dari cuaca. Namun saat ini sudah banyak product dari sen-
sor ini yang aplikasinya bisa di gunakan di luar ruangan, biasanya
settingnya berbeda dari yang ’indoor type’, atau bisa dikombinasikan
dengan sensor microwave (PIR dual Tech), selain mendeteksi peru-
bahan suhu ruang karena panas tubuh sensor ini juga mendeteksi
gerakannya.

Aplikasi sensor ini banyak di gunakan untuk Security System, Lighting Control System dan Pintu Oto-
matis. Secara umum penggunaan PIR untuk aplikasi tadi hampir sama. Namun sensor PIR untuk keperluan
security system dibutuhkan sensor yang lebih akurasi dalam mendeteksi, lebih baik lagi bila menggunakan
PIR dual Tech.

70
EXERCISE

Skema Rangkaian

Susun dan rangkai komponen-komponen seperti pada gambar skema.

1. Hubungkan Kaki OUT PIR Sensor dengan Digital pin 2 Arduino

2. Hubungkan kaki VCC (+) ke pin 5V Arduino

3. Hubungkan kaki GND ke pin GND Arduino

4. Pasang dan hubungkan kabel USB ke arduino kemudian sambungkan dengan port USB komputer

71
Bukalah IDE Arduino pada komputer kemudian ketikkan Program/Sketch berikut :

int ledPin = 13; // Memilih pin untuk LED


int inputPin = 2; // Memilih input pin (untuk sensor PIR)
int pirState = LOW; // Kita mulai, dengan asumsi tidak ada gerakan
terdeteksi
int val = 0; // Variabel untuk membaca status pin

void setup () {
pinMode (ledPin, OUTPUT); // Mendeklarasikan LED sebagai output
pinMode (inputPin, INPUT); // Mendeklarasikan sensor sebagai input
[Link] (9600);
}

void loop () {
val = digitalRead (inputPin); // Membaca nilai masukan
if (val == HIGH) { // Memberi logika bila sensor mendeteksi
digitalWrite (ledPin, HIGH); // Hidupkan LED ON

if (pirState == HIGH) {
// Kita baru saja diaktifkan
[Link] (“Motion detected!”);
delay (100);
pirState = LOW;
}
} else {
digitalWrite (ledPin, LOW); // turn LED OFF

if (pirState == LOW) {
// Kita baru saja dimatikan
[Link] (“Motion ended!”);
delay (100);
pirState = HIGH;

}
}
}

72
6. Compile sketch tersebut menggunakan tombol “verify” pada IDE Arduino jika tidak ada error, Upload ke
Board Arduino menggunakan tombol “Upload”.

7. Buka jendela komunikasi serial pada IDE arduino caranya, pilih Tools > Serial Monitor.

Jika tidak ada kesalahan, maka display tulisan jika sensor PIR mendeteksi pergerakan akan Tampil di jendela
komunikasi serial pada IDE arduino.

CHALANGE !

1. Buatlah Program, Jika sensor PIR mendeteksi Objek maka menyalakan akan lampu LED, Buzzer dan me-
nampilkan display tulisan pada serial monitor di LCD Module.

SELAMAT MENCOBA ^_^


SEMANGAT!!!

*Setelah materi ini dipelajari jangan lupa untuk terus di pelajari/diulang dirumah dengan alat asli/simulator.
karena sebelum kelas di mulai di pertemuan selanjutnya, akan ada rivew atau test singkat oleh Trainer...
HEHEHEHE.... Terus Semangat ‘-’)9

73
HT11 adalah sensor digital yang dapat mengukur suhu dan kelem-
baban udara di sekitarnya. Sensor ini sangat mudah digunakan ber-
sama dengan Arduino. Memiliki tingkat stabilitas yang sangat baik
serta fitur kalibrasi yang sangat akurat. Koefisien kalibrasi disimpan
dalam OTP program memory, sehingga ketika internal sensor mende-
teksi sesuatu, maka module ini menyertakan koefisien tersebut dalam
kalkulasinya..

DHT11 termasuk sensor yang memiliki kualitas terbaik, dinilai dari respon, pembacaan data yang cepat, dan
kemampuan anti-interference. Ukurannya yang kecil, dan dengan transmisi sinyal hingga 20 meter, membuat
produk ini cocok digunakan untuk banyak aplikasi-aplikasi pengukuran suhu dan kelembaban.

Berikut Skema rangkaiannya:

74
EXERCISE :
Susun dan rangkai komponen-komponen seperti pada gambar skema.
1. Hubungkan Kaki VCC DHT11 Sensor dengan 5V Arduino.
2. Hubungkan Kaki GND DHT11 Sensor dengan pin GND Arduino.
3. Hubungkan kaki OUT DHT11 Sensor dengan Digital Pin 4 Arduino.
4. Pasang dan hubungkan kabel USB ke arduino kemudian sambungkan dengan
port USB komputer lalu berikan source code berikut.

#include <dht11.h>
dht11 DHT;
#define DHT11_PIN 4

void setup(){
[Link](9600);
[Link](“DHT TEST PROGRAM “);
[Link](“LIBRARY VERSION: “);
[Link](DHT11LIB_VERSION);
[Link]();
[Link](“Type,\tstatus,\tHumidity (%),\tTemperature (C)”);
}

void loop(){
int chk;
[Link](“DHT11, \t”);
chk = [Link](DHT11_PIN); // READ DATA
switch (chk){
case DHTLIB_OK:
[Link](“OK,\t”);
break;
case DHTLIB_ERROR_CHECKSUM:
[Link](“Checksum error,\t”);
break;
case DHTLIB_ERROR_TIMEOUT:
[Link](“Time out error,\t”);
break;
default:
[Link](“Unknown error,\t”);
break;
}

75
// DISPLAT DATA
[Link]([Link],1);
[Link](“,\t”);
[Link]([Link],1);

delay(1000);
}

5. Compile sketch tersebut menggunakan tombol “verify” pada IDE Arduino jika tidak ada error, Upload ke
Board Arduino menggunakan tombol “Upload”.

6. Buka jendela komunikasi serial pada IDE arduino caranya, pilih Tools > Serial Monitor.
Jika tidak ada kesalahan, maka hasil dari perhitungan suhu dan kelembaban dari sensor DHT11 akan terbaca
dan muncul di jendela komunikasi serial pada IDE arduino.

CHALANGE !
1. Tampilkan Data SUHU dan Kelembaban pada LCD (Liquid Crystal Display)

SELAMAT MENCOBA ^_^


SEMANGAT!!!

*Setelah materi ini dipelajari jangan lupa untuk terus di pelajari/diulang dirumah dengan alat asli/simulator.
karena sebelum kelas di mulai di pertemuan selanjutnya, akan ada rivew atau test singkat oleh Trainer...
HEHEHEHE.... Terus Semangat ‘-’)9

76
Sensor Ultrasonik adalah alat elektronika yang kemampuannya
bisa mengubah dari energy listrik menjadi energy mekanik dalam
bentuk gelombang suara ultrasonic.

Sensor Ultrasonic umunya berbentuk papan elektronik ukuran


kecil dengan beberapa rangkaian elektronik dan 2 buah trans-
ducer. Dari 2 buah transducer ini, salah satu berfungsi sebagai
transmitter dan satu lagi sebagai receiver. Ada juga modul yang
hanya mempunyai 1 buah transducer, berfungsi sebagai trans-
mitter dan receiver sekaligus. Tersedia pin VCC, TRIG, ECHO dan
GND. Ada juga modul yang pin TRIG dan ECHO-nya digabung
menjadi satu dan pemakaiannya berganti-ganti.

Sensor Ultrasonik adalah alat elektronika yang kemampuannya bisa


mengubah dari energy listrik menjadi energy mekanik dalam bentuk
gelombang suara ultrasonic.

Sensor Ultrasonic umunya berbentuk papan elektronik ukuran kecil


dengan beberapa rangkaian elektronik dan 2 buah transducer. Dari 2
buah transducer ini, salah satu berfungsi sebagai transmitter dan satu
lagi sebagai receiver. Ada juga modul yang hanya mempunyai 1 buah
transducer, berfungsi sebagai transmitter dan receiver sekaligus. Terse-
dia pin VCC, TRIG, ECHO dan GND. Ada juga modul yang pin TRIG dan
ECHO-nya digabung menjadi satu dan pemakaiannya berganti-ganti.

77
EXERCISE

Skema Rangkaian.

Susun dan rangkai komponen-komponen seperti pada gambar skema.


1. Hubungkan Kaki TRIGGER Ultrasonic Sensor dengan Digital pin 12 Arduino menggunakan kabel jumper

2. Hubungkan Kaki ECHO Ultrasonic Sensor dengan salah Digital pin 11 Arduino.

3. Hubungkan kaki VCC ke pin 5V Arduino

4. Hubungkan kaki GND ke pin GND Arduino

5. Pasang dan hubungkan kabel USB ke arduino kemudian sambungkan dengan port USB komputer

78
Bukalah IDE Arduino pada komputer kemudian ketikkan Program/Sketch berikut :

#include <NewPing.h>
// Arduino pin untuk trigger pin ultrasonic sensor.
#define TRIGGER_PIN 12
// Arduino pin untuk echo pin ultrasonic sensor.
#define ECHO_PIN 11
// Jarak maksimal ping yang kita inginkan (dalam centimeter).
// Jarak maksimum sensor rata-rata 400-500cm.
#define MAX_DISTANCE 200
// setup dari pin-pin (NewPing) dan jarak maksimal.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup(){
[Link](115200);
}
void loop(){
// delay 50ms di antara pings (20 pings/sec). 29ms adalah delay tercepat di
antara ping
delay(50);
// mengirim pings (sinyal yang ditembakkan), dan memberi hasil dalam satuan
centimeters.
int cm = sonar.ping_cm();
[Link](“Ping: “);
// menampilkan hasil perhitungan jarak dari sensor
[Link](cm);
[Link](“cm”);
}

6. Compile sketch tersebut menggunakan tombol “verify” pada IDE Arduino jika tidak ada error, Upload ke
Board Arduino menggunakan tombol “Upload”.
7. Buka jendela komunikasi serial pada IDE arduino caranya, pilih Tools > Serial Monitor.
Jika tidak ada kesalahan, maka hasil dari perhitungan jarak dari sensor ultrasonic akan terbaca dan muncul di
jendela komunikasi serial pada IDE arduino.

79
80
81
5. Compile sketch tersebut menggunakan tombol “verify” pada IDE Arduino jika tidak ada error, Upload ke
Board Arduino menggunakan tombol “Upload”.

6. Lihat dan amati apa myang terjadi pada servo

CHALANGE !
1. Tambahkan satu buah servo lagi pada rangkaian yang sudah kalian buat lalu buatlah program sesuai in-
struksi Trainer.

SELAMAT MENCOBA ^_^


SEMANGAT!!!

*Setelah materi ini dipelajari jangan lupa untuk terus di pelajari/diulang dirumah dengan alat asli/simulator.
karena sebelum kelas di mulai di pertemuan selanjutnya, akan ada rivew atau test singkat oleh Trainer...
HEHEHEHE.... Terus Semangat ‘-’)9

82
83
84
85
86
87
SELAMAT MENCOBA ^_^
SEMANGAT!!!

88

Anda mungkin juga menyukai