Panduan Lengkap Papan Arduino
Panduan Lengkap Papan 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.
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.
// 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.
While
Operator while akan terus mengulang baris perintah yang ada dalam bracket sampai ekspresi sebagai
kondisi pengulangan benilai salah
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.
21
KOMPONEN PASIF
Resistor
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
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)
26
Cara Mengetahui Polaritas LED
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.
28
29
EXERCISE LED !!
30
Setelah rangkian LED kalian rangkai, sekarang buatlah program seperti source code berikut
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.
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.
*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.
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 !
int pushButton = 2;
void setup () {
[Link] (9600);
void loop () {
[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 !
SKEMA RANGKAIAN
36
CODING
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
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().
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:
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.
*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....
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.
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.
*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.
52
EXERCISE LCD DISPLAY!
OK.. Setelah berkenalan dengan perangkat LCD dan I2C sekarang, saatnya kita coba membuat Display pada
LCD dengan Arduino.
1x Arduino
1x LCD 16x2 dan I2c
4x Kabel jumper Male-Female
CATATAN:
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(){
Jika sudah selesai membuat codingnya, silahkan di Verivy laluTekan Upload dan TARAAA...
SELAMAT.... (Jika sudah berhasil).. kalau belum “JANGAN MENYERAH”.
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.
55
EXERCISE :
// 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.
*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.
EXERCISE !
SKEMA RANGKAIAN
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 :
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 =
if (nilaiLDR < 500) { // jika nilai dari LDR kurang dari 500
}
else { // jika tidak
}
}
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.
*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.
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.
void setup()
{
pinMode(13,OUTPUT);
[Link](9600);
}
void loop()
{
nilaiSensor = analogRead(pinSensor);
[Link](nilaiSensor);
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.
*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.
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.
*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.
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
*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
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 :
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.
*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.
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)
*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.
77
EXERCISE
Skema Rangkaian.
2. Hubungkan Kaki ECHO Ultrasonic Sensor dengan salah Digital pin 11 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”.
CHALANGE !
1. Tambahkan satu buah servo lagi pada rangkaian yang sudah kalian buat lalu buatlah program sesuai in-
struksi Trainer.
*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