Sekilas Arduino
Sekilas Arduino
LANDASAN TEORI
suatu jaringan nirkabel yang terdiri dari beberapa sensor node yang bersifat
kondisi suatu tempat dan dapat berinteraksi dengan lingkungannya dengan cara
Pada Gambar 2.1 menunjukkan gambaran umum WSN dapat dilihat node
sensor yang berukuran kecil disebar dalam di suatu area sensor. Node sensor
lain yang berdekatan. Data dikirimkan melalui transmisi radio akan diteruskan
menuju BS (Base Station) atau sink node yang merupakan penghubung antara
node sensor dan user. Informasi tersebut dapat diakses melalui berbagai platform
6
seperti koneksi internet atau satelit sehingga memungkinkan user untuk dapat
mengakses secara realtime melalui remote server. (E, Sugiarto, & Sakti, 2009)
catu daya. Umumnya catu daya yang dipakai adalah baterai. Komponen –
2. Mikrokontroler
3. Sensor
Sensor adalah suatu alat yang mampu untuk mengubah suatu bentuk energi ke
bentuk energi lain, dalam hal ini adalah mengubah dari energi besaran yang
7
diukur menjadi energi listrik yang kemudian diubah oleh ADC menjadi deretan
4. Memory
5. Power supply
keseluruhan.
2.2 Arduino
dari mikrokontroler, bahasa pemrograman, dan IDE. Arduino adalah alat untuk
pemula tetapi masih cukup fleksibel bagi para ahli untuk mengembangkan
bahasa Italy “Uno” berarti satu, maka peluncuran arduino ini diberi nama Uno.
baterai. (arduino.cc)
8
Gambar 2.3 Arduino Uno SMD R3 Sisi Depan (Kiri) dan Belakang(Kanan)
Sumber : (arduino.cc)
Berikut adalah Tabel 2.1 spesifikasi dari arduino uno smd R3:
9
2.2.2 Daya (Power)
Arduino Uno dapat disuplai melalui koneksi USB atau dengan sebuah
power suplai eksternal. Suplai eksternal (non-USB) dapat diperoleh dari sebuah
sebuah center-positive plug yang panjangnya 2,1 mm ke power jack dari board.
Kabel lead dari sebuah battery dapat dimasukkan dalam header/kepala pin
sampai 20 Volt. Jika disuplai dengan yang lebih kecil dari 7 V, kiranya pin 5 Volt
mungkin mensuplai kecil dari 5 Volt dan board Arduino Uno bisa menjadi tidak
stabil. Jika menggunakan suplai yang lebih dari besar 12 Volt, voltage regulator
bisa kelebihan panas dan membahayakan board Arduino Uno. Range yang
menggunakan sumber suplai eksternal (seperti 5 Volt dari koneksi USB atau
sumber tenaga lainnya yang diatur). Kita dapat menyuplai tegangan melalui pin
ini, atau jika penyuplaian tegangan melalui power jack, aksesnya melalui pin
ini.
b) 5V. Pin output ini merupakan tegangan 5 Volt yang diatur dari regulator
pada board. Board dapat disuplai dengan salah satu suplai dari DC power jack
(7-12V), USB connector (5V), atau pin VIN dari board (7-12). Penyuplaian
10
c) 3V3. Sebuah suplai 3,3 Volt dihasilkan oleh regulator pada board. Arus
2.2.3 Memori
program. dan 1 KB EEPROM (yang dapat dibaca dan ditulis (RW/read and
written). (arduino.cc)
Setiap 14 pin digital pada Arduino Uno dapat digunakan sebagai input dan
resistor pull-up (terputus secara default) 20-50 kOhm. Selain itu, beberapa pin
ini dihubungkan ke pin-pin yang sesuai dari chip Serial Atmega8U2 USB-ke-
TTL.
dipicu sebuah interrupt (gangguan) pada suatu nilai rendah, suatu kenaikan
11
c) PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output dengan
fungsi analogWrite().
e) LED: 13. Ada sebuah LED yang terpasang, terhubung ke pin digital 13.
Ketika pin bernilai HIGH LED menyala, ketika pin bernilai LOW LED mati.
mempunyai fungsi spesifik yaitu pin A4 atau SDA dan pin A5 atau SCL.
pin lainnya pada board yaitu AREF referensi tegangan untuk input analog.
(arduino.cc)
berdasarkan pengolahan seperti, avr-gcc, dan perangkat lunak open source lainnya
12
akan bisa memahami bahasa processing, yang dipahami oleh mikrokontroller
Pada Gambar 2.4 terdapat menu bar, kemudian toolbar dibawahnya, dan
sebuah area putih untuk editing sketch, area hitam dapat kita sebut sebagai
progress area, dan paling bawah dapat kita sebut sebagai “status bar”.
13
2.4 Bahasa Pemograman Arduino
platform karena didukung atau berbasis Java. Source program yang dibuat untuk
assembly. (arduino.cc)
1. Struktur
a) void setup( ) { }
Semua kode didalam kurung kurawal akan dijalankan hanya satu kali ketika
b) void loop( ) { }
Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah
dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi secara terus
2. Serial
perangkat lainnya. Arduino board memiliki minimal satu port serial yang
berkomunikasi melalui pin 0 (RX) dan 1 (TX) serta dengan komputer melalui
USB. Jika menggunakan fungsi – fungsi ini, pin 0 dan 1 tidak dapat digunakan
untuk input digital atau output digital (arduino.cc). Terdapat beberapa fungsi
14
a) Serial.begin ( )
Fungsi ini digunakan untuk transmisi data serial dan mengatur data rate dalam
bits per second (baud). Untuk berkomunikasi dengan komputer gunakan salah
satu dari angka ini: 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800,
b) Serial.available ( )
Fungsi ini digunakan untuk mendapatkan jumlah data byte (characters) yang
tersedia dan membacanya dari port serial. Data tersebut adalah data yang telah
tiba dan disimpan dalam buffer serial yang menampung sampai 64 bytes.
c) Serial.read ( )
Fungsi ini digunakan untuk mencetak data ke port serial dalam format text
hanya saja ketika menggunakan fungsi ini akan mencetak data dan kemudian
3. Syntax
penulisan. (arduino.cc)
Kadang diperlukan untuk memberi catatan pada diri sendiri apa arti dari kode-
kode yang dituliskan. Cukup menuliskan dua buah garis miring dan apapun
15
b) /* */(komentar banyak baris)
Jika anda punya banyak catatan, maka hal itu dapat dituliskan pada beberapa
baris sebagai komentar. Semua hal yang terletak di antara dua simbol tersebut
c) { }(kurung kurawal)
d) ;(titk koma)
Setiap baris kode harus diakhiri dengan tanda titik koma (jika ada titik koma
4. Variabel
untuk memindahkan angka dengan cara yang cerdas. Variabel inilah yang
a) int (integer)
Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak mempunyai
b) long (long)
Digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte (32 bit) dari
2,147,483,647.
c) boolean (boolean)
Variabel sederhana yang digunakan untuk menyimpan nilai TRUE (benar) atau
FALSE (salah). Sangat berguna karena hanya menggunakan 1 bit dari RAM.
16
d) float (float)
Digunakan untuk angka desimal (floating point). Memakai 4 byte (32 bit) dari
e) char (character)
5. Operator Matematika
a) = (sama dengan)
b) % (persen)
Menghasilkan sisa dari hasil pembagian suatu angka dengan angka yang lain
c) + (penjumlahan)
d) – (pengurangan)
e) * (perkalian)
f) / (pembagian)
6. Operator Pembanding
a) ==
TRUE (benar)).
17
b) !=
c) <
Lebih kecil dari (misalnya: 12 < 10 adalah FALSE (salah) atau 12 < 12 adalah
d) >
Lebih besar dari (misalnya: 12 > 10 adalah TRUE (benar) atau 12 > 12 adalah
7. Struktur Pengaturan
berikutnya, berikut ini adalah elemen dasar pengaturan (banyak lagi yang lain dan
if (kondisi) { }
else if (kondisi) { }
else { }
Dengan struktur seperti diatas program akan menjalankan kode yang ada di
dalam kurung kurawal jika kondisinya TRUE, dan jika tidak (FALSE) maka
akan diperiksa apakah kondisi pada else if dan jika kondisinya FALSE maka
While(kondisi) {}
18
Dengan struktur ini, while akan melakukan pengulangan terus menurus
dengan i–-.
8. Operator Boolean
Digunakan bila ingin mendapatkan nilai yang true hanya jika kedua input
bernilai HIGH.
if (x > 0 || y > 0) {}
Digunakan bila ingin mendapatkan nilai yang true hanya jika nilai x dan y
if (!x) {}
Digunakan bila ingin mendapatkan nilai yang true hanya jika nilai tidak sama
dengan x.
19
9. Digital
a) pinMode(pin, mode)
Digunakan untuk menetapkan mode dari suatu pin, pin adalah nomor pin
yang akan digunakan dari 0-19 (pin analog 0-5 adalah 14-19). Mode yang bisa
b) digitalWrite(pin, value)
Ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat dijadikan
c) digitalRead(pin)
menggunakan kode ini untuk mendapatkan nilai pin tersebut apakah HIGH (5
10. Analog
beroperasi di dalam analog. Berikut ini cara untuk menghadapi hal yang bukan
digital.
a) analogWrite(pin, value)
Beberapa pin pada Arduino mendukung PWM (pulse width modulation) yaitu
pin 3, 5, 6, 9, 10, 11. Ini dapat merubah pin hidup (on) atau mati (off) dengan
Value (nilai) pada format kode tersebut adalah angka antara 0 ( 0% duty cycle ~
20
b) analogRead(pin)
Ketika pin analog ditetapkan sebagai INPUT anda dapat membaca keluaran
(untuk 5 volts).
ZigBee dengan biaya yang murah dan jaringan sensor nirkabel menggunakan daya
yang rendah. Modul ini membutuhkan daya yang rendah dan dapat melakukan
pengiriman data yang handal antara perangkat dengan jarak yang jauh. Modul ini
beroperasi pada frekuensi 2.4 GHz. (Inc, XBee Series 2 OEM RF Modules, 2007)
adalah chip antenna. Chip antenna merupakan suatu chip keramik yang terletak
pada board modul Xbee, bentuknya lebih kecil. Chip antenna memiliki pola
radiasi cardoid, yang berarti sinyal dilemahkan dalam berbagai arah dan sangat
baik digunakan dalam area yang tidak luas atau kecil. Pada Gambar 2.5
21
Berikut adalah spesifikasi dari modul Xbee series 2 chip antenna :
modul Xbee ke komputer dengan kabel mini usb dan selanjutnya dapat
berkomunikasi dengan Xbee lainya. Parameter yang harus diatur adalah PAN ID
(Personal Area Network) ID yaitu parameter yang mengatur radio mana saja yang
harus sama. Parameter yang harus diatur adalah PAN ID (Personal Area Network)
ID yaitu parameter yang mengatur Xbee mana saja yang dapat berkomunikasi,
agar dapat berkomunikasi PAN ID dalam satu jaringan harus sama. Xbee dapat
22
Gambar 2.6 Xbee Usb Adapter dan Kabel Mini Usb
Pada Gambar 2.7 software X-CTU, terdapat empat tab di bagian atas
program. Masing – masing tab mempunyai fungsi yang berbeda – beda (Inc,
1. PC Settings
Pada tab ini mengijinkan pengguna untuk memilih COM port yang
23
diinginkan. Terdapat tombol Test / Query pada tab PC Settings, tombol ini
digunakan untuk menguji COM port yang telah dipilih, jika pengaturan dan COM
port benar, maka akan muncul kotak dialog respon seperti pada Gambar 2.8.
Pada tab range test ini, pengguna dapat melakukan pengujian range test
antara dua Xbee dengan mengirimkan paket data yang ditentukan pengguna dan
memverifikasi apakah paket data yang dikirim sama dengan yang diterima.
3. Terminal
menerima data dalam format Hex dan ASCII dengan memilih Assemble Packet
(Gambar.2.9).
24
Gambar 2.9 Tab Terminal
Pada Gambar 2.10 area putih dalam terminal tab ini berisi data informasi
komunikasi yang terjadi antara 2 Xbee atau lebih. Teks yang berwarna biru
merupakan teks yang telah diketik pengguna dan diarahkan ke port serial Xbee
sedangkan teks merah merupakan data yang masuk dari port serial Xbee.
25
4. Modem Configuration Tab
firmware Xbee dan merubah versi firmwarenya melalui Graphical User Interface
dengan Xbee usb adapter yang telah terhubung dengan kabel mini usb,
Jalankan aplikasi X-CTU pada komputer, selanjutnya atur com port pada tab
PC Settings seperti Gambar 2.11. Pada tab Modem Configuration, klik “Read”
26
Gambar 2.12 Tab Modem Configuration
Setelah firmware Xbee telah terbaca, terdapat tiga warna dalam pengaturan
konfigurasi (Gambar 2.13) yaitu hitam yang berarti read-only dan tidak bisa
dirubah nilainya, kemudian hijau yang berarti nilai default Xbee dan biru yang
berarti nilai yang pengguna tentukan sesuai keinginan. Untuk mengubah nilai
parameter yang bisa dirubah, klik paramater tersebut kemudian ketik nilai yang
deskripsi atau keterangan dalam pengisian nilai pada setiap parameter yang berada
pada bagian bawah. Setelah semua nilai – nilai yang baru masuk, maka nilai
tersebut dapat disimpan ke memori non-volatile pada Xbee. Klik tombol “Write”
27
Gambar 2.13 Firmware Xbee Telah Terbaca
User atau pengguna dapat meng-update firmware pada Xbee baik melalui web
atau menginstalnya dari file.zip atau disk. Klik “Download New Versions” pada
bagian Versions (Gambar 2.13). Klik tombol Web jika ingin meng-update file
firmware melalui web atau klik tombol File jika ingin meng-update melalui
28
d) Save atau load modem profile
X-CTU dapat menyimpan dan men-load profil modem atau konfigurasi yang
telah disimpan, ini sangat berguna ketika paramater konfigurasi yang sama
langsung antara dua node jaringan. Dalam jaringan sensor nirkabel atau WSN ini
dapat menggunakan topologi point to point. Jenis node dan parameter yang harus
dikonfigurasi agar dua Xbee dapat berkomunikasi secara point to point adalah
salah satu node harus menjadi coordinator dan lainnya menjadi router atau end
device. Klik “Read” dan “Always Update Firmware” pada tab modem
29
configuration dalam software X-CTU untuk dapat membaca modul Xbee, pada
parameter pada node coordinator yang harus diatur adalah parameter PAN ID,
PAN ID dalam satu jaringan (antara dua Xbee) harus sama agar dapat
SL milik router atau end device yang merupakan source address. Jika jenis node
dan parameter sudah diatur, setelah itu klik “Write” untuk menyimpan konfigurasi
function set diatur menjadi ZIGBEE ROUTER AT ATAU END DEVICE AT.
Selanjutnya parameter pada node router atau end device yang harus diatur adalah
30
parameter PAN ID, PAN ID dalam satu jaringan (antara dua Xbee) harus sama
coordinator yang merupakan source address. Jika jenis node dan parameter sudah
diatur, setelah itu klik “Write” untuk menyimpan konfigurasi yang telah diatur ke
antara beberapa node, yang dimana suatu node dapat berkomunikasi dengan
beberapa node secara broadcast. Jenis node dan parameter yang harus
31
adalah salah satu node harus menjadi coordinator dan lainnya menjadi router atau
end device. Parameter yang harus diatur hampir sama dengan parameter dalam
DH = 0 dan DL = FFFF, FFFF mempunyai arti bahwa data akan dikirim secara
broadcast sehingga beberapa node dalam PAN ID yang sama akan mendapat data
32
Gambar 2.19 Xbee Shield
Xbee shield memiliki dua jumper terbuat dari plastik yang dapat di
removeable dari tiga pin pada shied yang berlabel Xbee/USB (Gambar 2.20).
Jumper ini menentukan komunikasi serial Xbee agar terhubung pada komunikasi
33
2.8 Visual Basic
c) Jendela Project, jendela berisi gambaran dari semua modul yang terdapat
dalam aplikasi.
34
e) Jendela Toolbox, jendela berisi komponen-komponen yang dapat anda
f) Jendela Code, merupakan tempat bagi anda untuk menulis koding. Anda
h) Jendela Color Palette, adalah fasilitas cepat untuk mengubah warna suatu
object.
35