BAB II LANDASAN TEORI
2.1. Landasan Teori Sistem Monitoring Simulasi Otomatisasi Mass Rapid Transit (MRT) dengan menggunakan tombol manual. 2.1.1
Arduino Leonardo
Gambar 2.1. Arduino Leonardo Arduino Leonardo adalah sebuah board mikrokontroler berdasarkan dari ATmega32u4. Ini adalah keluaran terbaru dari Arduino tahun 2012 dimana pada
6
http://digilib.mercubuana.ac.id/
mikrokontroler ini terpasang chip utama berupa ATmega32u4 yang memiliki flash, RAM dan kemampuan seperti ATmega328 yang ditemukan dalam UNO. Board ini memiliki 20 pin digital input/output (7 diantaranya dapat digunakan sebagai output PWM dan 12 sebagai input analog ), sebuah kristal 16 MHz, dan sebuah reset. Arduino Leonardo memiliki segala hal yang diperlukan untuk mendukung mikrokontroler; cukup dengan menghubungkannya komputer dengan menggunakan kabel USB atau menghidupkannya dengan adaptor AC-ke-DC atau menggunakan batere untuk menghidupkannya. Penggunaan chip ATmega32u4 membawa perubahan yang sangat besar pada desain Arduino. Terlebih dapat mengeliminasi penggunaan chip USB ke serial converter, yang hal ini berdampak pada harga board yang jauh lebih murah dari board-board Arduino standar sebelumnya. Chip ini selain memungkinkan untuk memprogram Arduino, dapat juga dikenali oleh komputer sebagai perangkat seperti mouse
dan
keyboard.
Untuk
memulainya
dapat
melihat
halaman
[http://arduino.cc/en/Guide/ArduinoLeonardo]. Spesifikasi :
Input Voltage (recommended): 7-12V
Input Voltage (limits): 6-20V
Microcontroller:ATmega32u4
Operating Voltage: 5V 7
http://digilib.mercubuana.ac.id/
Interface: Micro USB
Digital I/O Pins: 20
PWM Channels: 7
Analog Input Channels: 12
DC Current per I/O Pin: 40 mA
DC Current for 3.3V Pin: 50 mA
Flash Memory 32 KB (ATmega32u4) of which 4 KB used by bootloader
SRAM: 2.5 KB (ATmega32u4)
EEPROM: 1 KB (ATmega32u4)
Clock Speed 16 MHz
Size: 70x55x14mm
2.1.2
Motor Shield 2 A L298
Gambar 2.2. Motor Shield 2 A L298
8
http://digilib.mercubuana.ac.id/
Produk- produk Arduino adalah platform belajar yang sangat baik untuk elektronik , pemrograman dan robotika . Tapi sebagian besar proyek di beberapa hal memerlukan mobilitas . Board ini memungkinkan untuk rnengontrol motor dengan Arduino. Shield ini dapat ditumpuk pada kontroler dan drive motor yang membutuhkan daya yang lebih tinggi . Tergantung pada motor pilihan ,dapat membuatnya cepat atau dapat menangani muatan yang lebih tinggi . Arduino ini Kompatibel dengan Motor Shield ( 2A ) menggunakan chip
L298P yang
memungkinkan untuk mendorong dua 7-12V motor DC dengan arus maksimum 2A . Shield ini bisa langsung dipasang ke Arduino Duemilanove dan Arduino Mega. Kontrol kecepatan dicapai melalui PWM konvensional yang dapat diperoleh dari PWM Arduino output Pin 5 dan 6. Mengaktifkan / menonaktifkan fungsi dari kontrol motor ditandai dengan Arduino Digital Pin 4 dan 7. Motor shield dapat langsung dihidupkan dari Arduino atau dari sumber daya eksternal . Hal ini sangat dianjurkan untuk menggunakan catu daya eksternal untuk menyalakan motor shield. (:http://www.dfrobot.com/index.php?route=product/product&keyword=motor%20shi eld&product_id=69#.VYPvUfkm2uI) Spesifikasi
Logic Control Voltage:5V (dari Arduino)
Motor Driven Voltage:6.5~12v(VIN Power Supply),4.8~35V (External Power Source)
2 way motor drive 9
http://digilib.mercubuana.ac.id/
Logic supply current Iss:≤36mA
Motor Driven current Io:≤2A
Maximum power consumption:25W(T=75℃)
Up to 2A current each way
Pin 4,5,6,7 are used to drive two DC motor
Support PWM speed control
Support PLL advance speed control
Size: 55x55mm
10
http://digilib.mercubuana.ac.id/
2.1.3. LCD 16 x 2 I2C
Gambar 2.3. LCD 16 x 2 I2C 11
http://digilib.mercubuana.ac.id/
Ini adalah layar LCD besar lain yang kompatibel dengan Gadgeteer modul dari DFRobot . Dengan sumber daya yang terbatas pin , proyek yang dilakukan akan segera kehabisan sumber daya menggunakan LCD normal. Dengan I2C ini modul interface LCD , hanya memerlukan 2 baris ( I2C ) untuk menampilkan informasi. Apabila sudah memiliki perangkat I2C dalam proyek yang akan dilakukan , modul LCD ini sebenarnya tidak memerlukan sumber daya sama sekali . Alamat dapat diatur dari 0x20-0x27. (http://www.dfrobot.com/index.php?route=product/product&product_id=135#.VYP7fkm2uI
Gambar 2.4. Diagram LCD 16 x 2 I2C 12
http://digilib.mercubuana.ac.id/
Arduino UNO: menghubungkan SDA ke pin A4 dan SCL ke pin A5 pada Arduino. Arduino Leonardo: menghubungkan SDA ke digital pin 2 dan SCL ke digital pin 3 pada Arduino Sample sketch: Control the back light of the I2C LCD1602 Module
1 2 3
#include <Wire.h> #include
#if defined(ARDUINO) && ARDUINO >= 100
4 #define printByte(args)
write(args);
5 #else 6 7 8 9
#define printByte(args)
print(args,BYTE);
#endif
LiquidCrystal_I2C lcd(0x20,16,2); for a 16 chars and 2 line display
// set the LCD address to 0x20
10 11 12 13
void setup(){
lcd.init();
// initialize the lcd
lcd.backlight();
14 15
lcd.home();
16 17 18
lcd.print("Hello world..."); lcd.setCursor(0, 1); lcd.print("dfrobot.com");
13
http://digilib.mercubuana.ac.id/
19 20 } 21 22
int backlightState = LOW; long previousMillis = 0;
23 long interval = 1000; 24 25 void loop(){ 26 27
unsigned long currentMillis = millis();
28 29
if(currentMillis - previousMillis > interval) { previousMillis = currentMillis;
30 31
if (backlightState == LOW)
32
backlightState = HIGH; else
33
backlightState = LOW;
34 35
if(backlightState == HIGH)
36 37
lcd.backlight();
else lcd.noBacklight(); }
38 }
14
http://digilib.mercubuana.ac.id/
Spesifikasi
I2C Address:0x20-0x27(0x20 default)
Back lit (Blue with white char color)
Supply voltage: 5V
Interface:I2C/TWI x1,Gadgeteer interface x2
Adjustable contrast
Size:82x35x18 mm
15
http://digilib.mercubuana.ac.id/
2.1.4. Baterai Lipopolymer 7,4 V
Gambar 2.5. Baterai lipopolymer 7,4 V Batere Lipo ini sangat bagus digunakan sebagai sumber daya untuk R/C, robotik atau proyek kecil. Baterenya kecil tetapi tenaganya kuat. Voltasenya rendah sehingga tidak mengganggu regulasi sirkuit. Discharge rate-nya (tingkat tenanga yang dikeluarkannya) tinggi, cocok untuk penggunaan alat-alat elektronik dan motor. Batere ini menggunakan Arduino Compatible Power Jack yang memudahkan 16
http://digilib.mercubuana.ac.id/
pemakaiannya untuk proyek-proyek yang menggunakan Arduino. Batere ini juga merupakan pilihan terbaik untuk robot-robot yang menggunakan Arduino. Batere ini memiliki 2 sel, output:7.4V storing 2200mAh. (http://www.dfrobot.com/index.php?route=product/product&keyword=batt&product_ id=489#.VdenqPmqqkq) Spesifikasi :
7.4V 2-cell pack
2200mAh of charge
20C continuous discharge rate
8AWG bare discharge leads
1000 chargin cycle
Arduino Compatible DC2.1 Power Jack
Size:103x34x15mm
Weight: 130g
17
http://digilib.mercubuana.ac.id/
2.1.5. MP3 Player
Gambar 2.6. MP3 Player
Gambar 2.7. UART/I2C Mode Switch
18
http://digilib.mercubuana.ac.id/
Gambar 2.8. Diagram Mp3 Player Modul DFRduino player ini adalah modul MP3 yang kompatibel dengan Net gadgeteer.Player mampu memainkan lagu MP3 / WAV / Midi suara pada kartu SD . Mendukung dua jenis interface UART dan Gadgeteer yang memungkinkan mikrokontroler lain untuk berbicara dengan player dengan menempatkan file audio ke kartu SD . Arduino atau mikrokontroler lainnya akan memainkan file audio dengan mengirimkan nama yang relevan dari file audio. .Hal demikian dapat dikontrol oleh PC . Selain itu , modul ini menyediakan port tingkat tinggi output
19
http://digilib.mercubuana.ac.id/
setelah memancing lagu...Modus interface dari Player dapat diaktifkan melalui jumper . Led Hijau akan berkedip sekali yang berarti player berada di bawah UART ( Serial ) mode ketika startup pemain . Led Hijau akan berkedip dua kali yang berarti player berada di bawah mode I2C . Setelah player siap LED hijau akan tetap menyala I2C pin koneksi : Analog pin4 ( SDA ) pergi ke DO Analog pin5 ( SCL ) pergi ke DI
Spesifikasi :
Supply Voltage:5V(via Pin) 3.3V(via IDC10)
Working Current:>200mA(with load)
Output Power:3W per channel
MCU:Atmega 168P
Interface:
UART
.NET gadgeteer connector (IDC10)Socket
UART:19200/8/N/1 (TTL level)
Output Power:2x3W,can directly connect to speaker
Support Media:MP3,WAV,MIDI
Support Meida Card: 1 GB Micro Card 20
http://digilib.mercubuana.ac.id/
Support command: Pause/Next Sound/Previoud Sound/Play Sound/ Volume Control
size:52x37mm
2.1.6. Speaker
Gambar 2.9 Speaker dilihat dari bagian atas
Gambar 2.10. Speaker dilihat dari bagian bawah
21
http://digilib.mercubuana.ac.id/
Speaker dengan 1,5 " ini adalah tambahan yang sempurna untuk setiap proyek audio yang mana diperlukan impedansi 8Ω dan menggunakan 0.25W atau kurang . Speaker ini sangat sederhana dan terbuat dari plastik sangat ringan dan tipis . Awalnya dirancang untuk ' berbicara ' kartu ucapan , yang suaranya cukup keras namun ringan . Perlu berhati-hati untuk tidak overdrive pembicara dengan volume tinggi karena dapat membuatnya rusak. Mulailah dengan volume yang lebih rendah dan naikkan volumenya dengan hati-hati .( http://www.adafruit.com/products/1891). Technical Detail
Dimensions:
Diameter: 39mm / 1.5"
Circumference: 123mm / 4.8"
Weight: 4.6g
Spesifikasi :
Resonant Frequency: 440 ±20% HZ
Impedance: 8 ohm ±15% at 1500HZ
Rated Input Power: 0.25 W
Maximum Input Power: Must be normal at 0.4W white noise for 1 minute
Frequency Range: 440~20KHz 22
http://digilib.mercubuana.ac.id/
2.1.7. NFC
Gambar 2.11. NFC NFC Shield adalah Near Field Communication interface untuk Arduino merupakan rangkaian terpadu dari N532. NFC adalah teknologi radio jarak pendek yang memungkinkan komunikasi antara perangkat yang digelar berdekatan. NFC jejak akarnya dalam teknologi RFID dan merupakan teknologi platform terbuka dibakukan dalam ECMA-340 dan ISO / IEC 18092. Teknologi NFC diatur oleh Near Field Communication Forum yang membuat standarisasi dari komunikasi NFC antara perangkat, bagaimana mereka memasangkan, membagikan data dan memungkinkan 23
http://digilib.mercubuana.ac.id/
transaksi aman terjadi. Forum NFC mengembangkan dan menyatakan perangkat sesuai dengan standar NFC.NFC beroperasi pada ISM band dari frekuensi 13,56 MHzi. Jangkauan komunikasi NFC sampai dengan 10 cm. Tapi, ini dibatasi oleh antena dan desain radiasi listrik. Kebanyakan perangkat bekerja dalam jarak 10mm. Antena dari NFC shield dirancang untuk bekerja dalam jarak 1cm. NFC shield menyediakan semua sirkuit yang diperlukan untuk PN532 seperti 27.12Mhz kristal, power supply.Komunikasi antara Arduino dan NFC Shield adalah melalui SPI. Komunikasi juga mungkin antara perangkat NFC dan chip NFC unpowered seperti tag , stiker , FOBS kunci dan kartu yang tidak memerlukan baterai Near Field Communication (NFC) adalah teknologi komunikasi berbasis RFID (Radio Frequency ID) yang mampu menyederhanakan transaksi, pertukaran data, dan koneksi nirkabel antar dua perangkat komunikasi dengan jarak amat dekat (hanya beberapa sentimeter) dengan prinsip induksi medan magnetik. NFC bekerja dengan cara yang mirip dengan RFID. Sedikit perbedaannya, NFC dapat digunakan untuk pertukaran data seperti transfer file kecil atau konten digital lain. Fitur ini mungkin lebih dapat dibandingkan dengan teknologi Blutooth. Dibuat oleh NXP Semiconductor dan Sony pada tahun 2002, teknologi contactless NCF ini kini telah banyak ditambahkan ke perangkat ponsel untuk memungkinkan pembayaran secara mobile dan aplikasi-aplikasi lainnya. Kemudian pada tahun 2004 dibentuk NFC Forum yang kini anggotanya sekitar 140 perusahaan termasuk LG, Nokia, Huawei, HTC, Motorola, NEC, RIM, Samsung, Sony Ericsson, Toshiba, AT&T, Sprint, Rogers, SK, Google, Microsoft, PayPal, Visa, Mastercard, American 24
http://digilib.mercubuana.ac.id/
Express, Intel, TI, Qualcomm, dan NXP. Forum ini merumuskan resource sharing, proses
pairing,
dan
transaksi
antar
perangkat
NFC.
NFC dan Blutooth sama-sama teknologi komunikasi jarak pendek yang diintegrasikan ke dalam ponsel. NFC beroperasi dengan kecepatan yang lebih rendah dari Blutooh tapi membutuhkan daya listrik yang jauh lebih kecil dan tidak membutuhkan
proses
pairing
seperti
Blutooth.
Pada saat inisialisasi koneksi, NFC lebih cepat dibandingkan Blutooth, meskipun masih lebih lambat dibanding Blutooth yang hemat energi (Blutooth Low Energy). Hubungan antar dua perangkat hanya membutuhkan waktu kurang dari sepersepuluh detik. Transfer rate NFC lebih lambat (sekitar 424 kbps) dibandingkan Blutooth (Blutooth V2.1 sekitar 2,1 Mbps). Namun demikian, jarak yang amat pendek pada NFC menjadikannya lebih cocok untuk area yang padat akan sinyal komunikasi. Sebagai tambahan, NFC distandarisasi oleh badan internasional ISO dengan standar ISO/ICE 18000-3. Berikut ini ialah cntoh ponsel-ponsel yang telah dilengkapi NFC:
Nokia 603
Nokia 600
Nokia 700
Nokia 701
Nokia N9
Nokia C7-00 dan Nokia Astound serta Nokia Oro 25
http://digilib.mercubuana.ac.id/
Nokia 6216 Classic
Nokia 6212 Classic
Nokia 6131 NFC
Nokia 3220 + NFC Shell
Nokia 5140(i) + NFC Shell
Samsung S5230 Tocco Lite/Star/Player One/Avila
Samsung SGH-X700 NFC
Samsung D500E
SAGEM my700X Contactless
LG 600V contactless
Motorola L7 (SLVR)
Benq T80
Sagem Cosyphone
Google Nexus S
Google Nexus S 4G
Samsung Galaxy S-II (tidak semua, hanya beberapa versi)
Samsung Wave 578
Blackberry Bold 9900/9930
Turkcell T20
BlackBerry Torch 9810/9860
Blackberry Curve 9350/9360/9370
Galaxy Nexus 26
http://digilib.mercubuana.ac.id/
HTC Amaze 4g
Samsung Galaxy S-II (tidak semua, hanya beberapa versi)
Samsung Wave 578
Blackberry Bold 9900/9930
Turkcell T20
BlackBerry Torch 9810/9860
Blackberry Curve 9350/9360/9370
Galaxy Nexus
HTC Amaze 4g
2.1.8. RFID
Gambar 2.12. RFID
27
http://digilib.mercubuana.ac.id/
RFID (Radio Frequency Identification) dalam bahasa Indonesia identifikasi frekuensi radio, atau RFID, adalah istilah umum untuk teknologi yang menggunakan gelombang radio untuk secara otomatis mengidentifikasi orang atau benda. Ada beberapa metode identifikasi, tetapi yang paling umum adalah untuk menyimpan nomor seri yang mengidentifikasi orang atau benda, dan mungkin informasi lainnya, pada microchip yang terpasang pada antena (chip dan antena bersama-sama disebut transponder RFID atau tag RFID). Antena memungkinkan chip untuk mengirimkan informasi identifikasi untuk pembaca. Pembaca mengubah gelombang radio dipantulkan kembali dari tag RFID menjadi informasi digital yang kemudian dapat diteruskan ke komputer yang dapat memanfaatkannya.Sebagai bagian Near Field Communications ( NFC ) , seperangkat teknologi nirkabel jarak pendek , biasanya membutuhkan jarak 10cm atau kurang , untuk dua perangkat seperti smartphone atau hal-hal serupa yang sangat dekat satu sama lain untuk membangun komunikasi. RFID tag adalah microchip kecil dengan memori dan antena koil, lebih tipis dari kertas dan beberapa mm . Tag RFID mendengarkan sinyal radio yang dikirim oleh pembaca RFID. Ketika tag RFID menerima query, akan meresponnya dengan mengirimkan ID unik kode dan data lain kembali ke pembaca. Tag tersedia dengan kemampuan penyimpanan dari 512 byte sampai 4KB. Hal ini sangat tergantung pada vendor dan apakah tag adalah pasif atau aktif. Data yang tersimpan di tag akan ditentukan oleh penerapan sistem dan standar yang sesuai. Sebagai contoh, tag bisa menyediakan identifikasi untuk item yang diproduksi, barang dalam perjalanan, atau bahkan lokasi jarak pendek dan identitas kendaraan, hewan, atau individu. Ini data dasar sering disebut sebagai "kode plat," mirip dengan
28
http://digilib.mercubuana.ac.id/
informasi yang disimpan pada label bar code. Ketika dihubungkan ke database, informasi tambahan dapat diakses melalui reader seperti jumlah stok barang, lokasi saat ini, status, harga jual, dan kode batch. Atau, sebuah tag RFID dapat membawa informasi yang spesifik atau instruksi segera tersedia setelah membaca, tanpa perlu referensi database untuk menentukan arti dari kode. Misalnya, warna yang diinginkan dari cat pada mobil yang memasuki area perakitan cat pada lini produksi, atau manifest untuk menemani pengiriman barang. Pada saat ini telah tersedia kartu RFID ( 13.56MHz ). Kartu RFID ini dapat dibaca oleh hampir setiap pembaca 13.56MHz RFID / NFC reader atau perangkat mobile NFC -enabled . Chip ini dapat ditulis ke dan menyimpan hingga 1KB data di EEPROM dapat ditulis dibagi menjadi bank , dan dapat menangani lebih dari 100.000 ulang menulis . Setiap stiker memiliki 4 - byte ID burned ke dalam chip yang dapat digunakan untuk mengidentifikasi satu tag dari yang lain - jumlah ID tidak dapat diubah. (http://www.dfrobot.com/index.php?route=product/product&keyword=RFID&produc t_id=932#.VYUQqfkm2uI) Aplikasi :
Contactless payment systems
Bluetooth and WiFi connections
NFC modules
Smartphone with NFC
Specification 29
http://digilib.mercubuana.ac.id/
Operating Frequency:13.56 MHz
EEPROM storage: 1K Byte
Default protocol: ISO14443A
4 Byte unique identifier
Variable Identification distance:0~5+cm
Service life:>=10 years
Service time:100,000 re-writes
Material: ABS/PVC
Size:85.60*53.98*0.76mm
2.1.9. Xbee 60mW Wire Antenna
Gambar 2.13. Xbee 60mW Wire Antenna Ini sangat populer 2.4GHz XBee XBP24 - AWI - 001 modul dari Digi ( sebelumnya dikenal sebagai Maxstream ) . Seri Pro memiliki pinout yang sama dan set perintah dari seri dasar dengan peningkatan daya output 60mW. Modul ini mengambil 802.15.4 stack ( dasar untuk Zigbee ) dan membungkusnya menjadi sederhana untuk menggunakan perintah set seri . Modul ini memungkinkan 30
http://digilib.mercubuana.ac.id/
komunikasi yang sangat handal dan sederhana antara mikrokontroler , komputer , sistem , benar-benar sesuatu dengan port serial. Dapat men-support point to point dan multi-point networks. Spesifikasi :
3.3V @ 215mA
250kbps Max data rate
60mW output (+18dBm)
1 mile (1500m) range
Built-in antenna
Fully FCC certified
6 10-bit ADC input pins
8 digital IO pins
128-bit encryption
Local or over-air configuration
AT or API command set
31
http://digilib.mercubuana.ac.id/
2.1.10. Servo
Gambar 2.14.Servo Servo mini ini sangat mengesankan, karena dapat melakukan berbagai macam pekerjaan. Beratnya hanya 9 gram dan dapat memberikan torsi 1.6 kg. Sangat kuat dibandingkan ukurannya. Sangat cocok untuk membuat robot dan mengerjakan pekerjaan yang bersifat otomatisasi. (http://www.dfrobot.com/index.php?route=product/product&product_id=184&search =xbee&description=true#.VYT7Hfkm2uJ) Spesifikasi :
No load speed: 0.12 seconds / 60 degrees (4.8V)
Stall Torque: 1.6 kg / cm (4.8V)
Operating temperature: -30 ~ +60 degrees Celsius
Dead Set: 7 microseconds
Operating voltage: 4.8V-6V
Working current: less than 500mA 32
http://digilib.mercubuana.ac.id/
Cable length: 180mm
Size: 22mmx12.5mmx29.5mm
Weight: 9 grams
2.1.11. IO Expansion Shield V.7.1
Gambar 2.15. IO Expansion Shield V.7.1 IO Expansoni shield adalah salah satu favorit pasar.Pembuatan prototype robot yng bergerak cepat dibuat terjangkau dan sederhana berkat desain ini. Penyolderan dan wiring sering menjadi masalah ketika koneksi bridge terjadi dan komponen berhenti sehingga mengakibatkan semakin lama waktu yang diperlukan untuk pengerjaan proyek-proyek. Seringkali, tanpa solusi ini dan penyolderan yang statis, alat cripping kawat atau penyolderan yang statis, prototyping robot menjadi proyek jangka yang sangat panjang. The DFRobot Expansion shield diperkenalkan dengan kode warna sensor yang terkenal dan aktuator input dan output. 3 pin format untuk Signal, Tegangan dan 33
http://digilib.mercubuana.ac.id/
Ground sangat berguna, khususnya jika digunakan modul-modul yang semakin berkembang, beserta sensor dan perangkat yang cocok Mempunyai soket Xbee yang
sangat umum untuk konektivitas nirkabel
serbaguna seperti RF, nirkabel, bluetooth. Versi terbaru memiliki sebuah saklar yang mudah yang memungkinkan memprogram board ATmega328 Anda seperti UNO , sementara memiliki perangkat Serial lain yang terhubung seperti Xbee 2.1.12. MiniQ 2WD plus
Gambar 2.16. MiniQ 2WD plus Add-on ini adalah multi-purpose extension board untuk robot desktop. Hal ini sepenuhnya kompatibel dengan Arduino Leonardo, serta berbagai expansion shield Arduino dengan mudah ditumpuk. Dapat ditambahkan semua jenis sensor dengan IO expansion shied, motor shield, WiFi shield untuk robot yang akan dibuat. Ada juga prototyping area yang cukup luas dengan banyak pads yang memungkin untuk membuat prototype. Board ini dapat bertindak sebagai kontroler utama untuk 34
http://digilib.mercubuana.ac.id/
robot desktop untuk menjadi two-wheel self-balanced robot. Ia juga bekerja sebagai MiniQ port expansion board, melalui onboard Gadgeteer interface yang digunakan untuk komunikasi antara dua board. (http://www.dfrobot.com/index.php?route=product/product&keyword=2wd&product _id=1232#.VYUQI_km2uK) Spesifikasi :
Microcontroller: Atmega 32u4
Accelerometer chip:ADXL345
Gyroscope chip: ITG3205
Digital I/O port: total 23(D17 is for RX LED)
5V D/A port max allowable current: 40 mA
Compatible standard Arduino interface
Supply program download by USB
7 PWM channel
1 xbee interface(Serial1)
1 1-Wire Bus RGB light
1 installing hole of 9g servo
35
http://digilib.mercubuana.ac.id/
2.1.13. 2Wd MiniQ Robot Chasis
Gambar 2.17. 2Wd MiniQ Robot Chasis dilihat dari bawah
Gambar 2.18. 2Wd MiniQ Robot Chasis dilihat dari bawah samping 36
http://digilib.mercubuana.ac.id/
Gambar 2.19. 2Wd MiniQ Robot Chasis apabila perlengkapannya dilepas 2WD miniQ platform robot ini dirancang khusus untuk siswa dan penggemar robotik. Ini serbaguna dan kecil, cocok untuk sebagian besar aplikasi di dalam ruangan. Mempunyai fitur yang berkualitas tinggi dan powerful metal gear motor yang membuat robot dapat bergerak cepat. Ini sangat ideal untuk kompetisi labirin dan kursus pendidikan, dan sangat mudah untuk dirakit. Hanya membutuhkan 8 sekrup untuk menyelesaikan pekerjaan. Jika berencana untuk memulai membuat robot, sebagai bukti dari konsep, body robot ini yang kecil dan ringan membuatnya menjadi pilihan yang cocok. Robot ini dapat dengan mudah digunakan dan diuji pada meja atau area kecil, mudah dirakit dan expanded. An extra set of stand off and screws might come handy. Bentuknya yang bulat membantu ketika bergerak mengitari obyek, menghindari obstruction. 37
http://digilib.mercubuana.ac.id/
Platform ini memiliki convenient drillingsyang membantu menempatkan sensor atau bagian skrup lain seperti casing yang dirancang khusus. Untuk menjalankan robot ini, diperlukan Romeo, Romeo BLE, atau Arduino standar dengan motors shield. (http://www.dfrobot.com/index.php?route=product/product&product_id=367#.VYU G8Pkm2uJ)
Gambar 2.20. MiniQ dengan Romeo
38
http://digilib.mercubuana.ac.id/
Gambar 2.21.MiniQ dengan Motor Shield, DFRduino dan expansion shield.
39
http://digilib.mercubuana.ac.id/
Spesifikasi Chassis Specification :
Chassis Diameter:122mm
Ground Clearance: 15mm
Wheel Diameter:42mm
Soesifikasi motor :
13000 rpm @ No load
50:1 Gear ratio
260 rpm @ 6V
40mA @ 6V
360mA stall current @ 6V
10 oz inches torque @ 6V
Tambahan penjelasan mengenai H-Bridge Driver : Kontrol Arah Motor Untuk aplikasi robot mobile, biasanya dapat digunakan beberapa aktuator. Salah satunya yang paling umum digunakan adalah motor listrik DC. Untuk aplikasi yang menggunakan motor listrik ini, kita hanya membutuhkan 2 manipulasi atau pengontrolan, yaitu bagaimana caranya : 1.agar
motor
bisa
membuat
robot
bergerak
maju
dan
mundur
2.agar kecepatan motor bisa diatur 40
http://digilib.mercubuana.ac.id/
Dua hal inilah yang akan menjadi fokus dan hal ini akan menjawab kebutuhan pertama yaitu menemukan cara agar sebuah motor dapat membuat robot bergerak maju dan pada kondisi yang lain bisa pula bergerak mundur yaitu dengan menggunakan H-bridge. H-Bridge atau yang diterjemahkan secara kasar sebagai “Jembatan H”, adalah sebuah rangkaian dimana motor menjadi titik tengahnya dengan dua jalur yang bisa dibuka tutup untuk melewatkan arus pada motor tersebut, persis seperti huruf “H” (dengan motor berada pada garis horizontal).
Gambar 2.22 H-Brige Dua terminal motor a dan b dikontrol oleh 4 saklar (1 s/d 4). Ketika saklar satu dan dua diaktifkan (saklar 3 dan 4 dalam keadaan off), maka terminal motor a akan mendapatkan tegangan (+) dan terminal b akan
41
http://digilib.mercubuana.ac.id/
terhubung ke ground (-), hal ini menyebabkan motor bergerak maju (atau searah jarum jam) sesuai dengan Gambar 2.23.
B Gambar 2.23 H-Bridge saat saklar 3 dan 4 off Sedangkan sebaliknya, bila saklar 1 dan 2 dalam keadaan off, saklar 3 dan 4 dalam keadaan aktif, maka terminal a akan terhubung ke ground (-) dan terminal b akan mendapatkan tegangan (+), dan tentunya hal ini dapat menyebabkan motor berubah arah putarnya, menjadi bergerak mundur (atau berlawanan dengan arah jarum jam) sesuai dengan Gambar 2.24.
Gambar 2.24. H-Bridge saat saklar 1 dan 2 off 42
http://digilib.mercubuana.ac.id/
Untuk mengimplementasikan H-Bridge ini, tidak bisa langsung dihuhubungkan ke output yang diambil dari pin I/O mikrokontroler. Sebab output dari mikrokontroler hanya mempunyai daya yang sangat kecil. Sedangkan untuk motor sendiri, kadang-kadang membutuhkan daya yang tidak kecil (misalnya 200 mA, 1 A atau bahkan lebih). Jika kita memaksakan menghubungkan output digital dari mikrokontroler langsung ke motor, bisa jadi merusak mikrokontroler itu sendiri. Untuk itu kita membutuhkan sebuah rangkaian penguat yang dapat dikontrol dari input digital. Dan tentunya chip (IC) yang mengakomodasi keperluan ini telah ada. H-Bridge driver. Salah satu tipenya kita bisa menggunakan L293D (untuk meng-handle arus rata-rata 600 mA) atau LMD18200 (untuk meng-handle arus 3A, tegangan sampai 55V). Arsitektur dari half H-Bridge ini sebenarnya terdiri dari 2 amplifier, seperti terlihat pada gambar:
Gambar 2.25 H-Bridge dengan 2 amplifier
43
http://digilib.mercubuana.ac.id/
Untuk membuat motor berhenti ada 2 cara : 1.memberikan logik yang sama pada x dan y 2.tidak memberikan speed (speed = 0) ( https://insansainsprojects.wordpress.com/2008/06/05/h-bridge-driverkontrol-arah-motor/)
44
http://digilib.mercubuana.ac.id/
2.2. Landasan Teori Sistem Monitoring Simulasi Otomatisasi Mass Rapid Transit (MRT) dengan menggunakan PC dengan software Visual Basic dan Flash. 2.2.1.Arduino UNO R3
Gambar 2.26. Arduino Uno R3 2.2.1.1.
Gambaran umum
Arduino Uno adalah board mikrokontroler berbasis ATmega328. Uno memiliki 14 pin digital input / output (dimana 6 dapat digunakan sebagai output PWM), 6 input analog, resonator keramik 16 MHz, koneksi USB, jack listrik, header ICSP, dan tombol reset. Uno dibangun berdasarkan apa yang diperlukan untuk mendukung mikrokontroler, sumber daya bisa menggunakan power USB (jika terhubung ke komputer dengan kabel USB) dan juga dengan adaptor atau baterai. Arduino Uno berbeda dari semua board sebelumnya dalam hal tidak menggunakan FTDI chip driver USB-to-serial. Sebaliknya, fitur Atmega16U2 (Atmega8U2 sampai versi R2) diprogram sebagai konverter USB-to-serial. Revisi 2 dari Uno memiliki
45
http://digilib.mercubuana.ac.id/
resistor pulling 8U2 HWB yang terhubung ke tanah, sehingga lebih mudah untuk menggunakan mode DFU. 2.2.1.2 Skema Arduino Uno
Gambar 2.27. Skema Arduino Uno
46
http://digilib.mercubuana.ac.id/
Board Arduino Rev 3 memiliki fitur baru seperti berikut:
Pertama adalah pinout: ada penambahan pin SDA dan SCL yang dekat dengan pin AREF dan dua pin baru lainnya ditempatkan dekat dengan pin RESET, IOREF yang memungkinkan shield untuk beradaptasi dengan tegangan yang disediakan dari board. Di masa depan, shield akan kompatibel dengan kedua board yang menggunakan AVR, yang beroperasi dengan 5V dan dengan Arduino yang beroperasi 3.3V. Kedua adalah pin tidak terhubung, yang dicadangkan untuk tujuan masa depan.
Reset sirkuit yang sangat kuat
Atmega16U2 menggantikan Atmega8U2
47
http://digilib.mercubuana.ac.id/
Spesifikasi Teknis
2.2.1.3.
Microcontroller
ATmega328P
Operating Voltage
5V
Input Voltage (recommended)
7-12V
Input Voltage (limit)
6-20V
Digital I/O Pins
14 (of which 6 provide PWM output)
PWM Digital I/O Pins
6
Analog Input Pins
6
DC Current per I/O Pin
20 mA
DC Current for 3.3V Pin
50 mA 32
Flash Memory
of
KB which
(ATmega328P) 0.5
KB
used
by
bootloader SRAM
2 KB (ATmega328P)
EEPROM
1 KB (ATmega328P)
Clock Speed
16 MHz
48
http://digilib.mercubuana.ac.id/
Length
68.6 mm
Width
53.4 mm
Weight
25 g
Tabel 2.1 Spesifikasi Teknis Arduino Uno
49
http://digilib.mercubuana.ac.id/
2.2.1.4. Sumber daya Arduino Uno dapat diaktifkan melalui koneksi USB atau dengan catu daya eksternal. Sumber daya dipilih secara otomatis. Eksternal (non-USB) listrik bisa dari adaptor AC-DC atau baterai. Adaptor dapat dihubungkan dengan mencolokkan plug 2.1mm tengah-positif ke sumber listrik. Kabel dari baterai dapat dimasukkan dalam GND dan Vin pin header konektor DAYA. Board dapat beroperasi pada pasokan eksternal dari 6 sampai 20 volt. Jika disertakan dengan kurang dari 7V, bagaimanapun, 5V pin dapat memasok kurang dari lima volt dan board dapat menjadi tidak stabil. Jika menggunakan lebih dari 12V, regulator tegangan bisa panas dan merusak board. Kisaran yang disarankan adalah 7 sampai 12 volt. Pin listrik adalah sebagai berikut:
Vin. Tegangan input ke board Arduino / Genuino ketika itu menggunakan sumber daya eksternal (sebagai lawan 5 volt dari koneksi USB atau sumber daya lainnya diatur). Anda dapat menyediakan tegangan melalui pin ini, atau, jika memasok tegangan melalui colokan listrik, mengaksesnya melalui pin ini.
Pin 5V. Output 5V diatur dari regulator pada board. Board menggunakan daya baik dari colokan listrik DC (7 - 12V), konektor USB (5V), atau pin VIN dewan (7-12V).Menyediakan tegangan melalui 5V atau 3.3V pin bypasses regulator, dan dapat merusak board.
3V3. Sebuah pasokan 3,3 volt yang dihasilkan oleh regulator onboard. Menarik arus maksimum 50 mA.
GND. Pin ground. 50
http://digilib.mercubuana.ac.id/
IOREF. Pin ini di board Arduino memberikan tegangan referensi dengan yang mikrokontroler beroperasi. Sebuah perisai dikonfigurasi dengan benar dapat membaca pin tegangan IOREF dan memilih sumber daya yang tepat atau mengaktifkan penerjemah tegangan pada output untuk bekerja dengan 5V atau 3.3V.
2.2.1.5. Memory ATmega328 memiliki 32 KB (0,5 KB diduduki oleh bootloader). 2 KB dari SRAM dan 1 KB EEPROM. Input dan Output Masing-masing dari 14 pin digital pada Uno dapat digunakan sebagai input atau output, menggunakan fungsi pinMode () , digitalWrite () , dan digitalRead (). Mereka beroperasi di 5 volt. Setiap pin dapat memberikan atau menerima 20 mA sebagai kondisi operasi yang direkomendasikan dan memiliki pull-up resistor internal yang (terputus secara default) dari 20-50k ohm. Maksimal 40mA adalah nilai yang tidak boleh melebihi pada setiap I / O pin untuk menghindari kerusakan permanen ke mikrokontroler. Selain itu, beberapa pin memiliki fungsi khusus:
Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirimkan (TX) TTL data serial. Pin ini terhubung ke pin yang sesuai dari ATmega8U2 USB-to-TTL Serial Chip.
51
http://digilib.mercubuana.ac.id/
Interupsi eksternal: 2 dan 3. Pin ini dapat dikonfigurasi untuk memicu interupsi pada nilai rendah, naik atau jatuh tepi, atau perubahan nilai. Lihat attachInterrupt () fungsi untuk rincian.
PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output dengan fungsi analogWrite ().
SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin ini mendukung komunikasi SPI menggunakan library SPI.
LED: 13. Ada built-in LED didorong oleh pin digital 13. Ketika pin adalah nilai HI, LED menyala, ketika pin LO, itu off.
TWI: pin A4 atau SDA dan A5 atau pin SCL. Dukungan komunikasi TWI menggunakan library Wire. Uno memiliki 6 input analog, berlabel A0 melalui A5, yang masing-masing
menyediakan 10 bit resolusi (yaitu 1024 nilai yang berbeda). Secara default mereka mengukur dari ground ke 5 volt, meskipun adalah mungkin untuk mengubah ujung atas jangkauan mereka menggunakan pin AREF dan fungsi analogReference (). Ada beberapa pin lainnya di board:
AREF. Tegangan
referensi
untuk
input
analog. Digunakan
dengan
analogReference ().
RESET. LOW untuk me-reset mikrokontroler. Biasanya digunakan untuk menambahkan tombol reset untuk shield yang menghalangi board.
52
http://digilib.mercubuana.ac.id/
2.2.1.6. Komunikasi Arduino Uno memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, lain board Arduino, atau mikrokontroler lainnya. The ATmega328 menyediakan UART TTL (5V) komunikasi serial, yang tersedia pada pin digital 0 (RX) dan 1 (TX). Sebuah ATmega16U2 pada saluran board komunikasi serial ini melalui USB dan muncul sebagai com port virtual untuk perangkat lunak pada komputer. The 16U2 firmware menggunakan driver standar USB COM, dan tidak ada driver eksternal yang dibutuhkan. Namun, pada Windows, file .inf diperlukan . Arduino Software (IDE) termasuk monitor serial yang memungkinkan data tekstual sederhana yang akan dikirim ke dan dari board. RX dan TX LED di board akan berkedip ketika data sedang dikirim melalui chip dan USB koneksi USB-to-serial ke komputer (tetapi tidak untuk komunikasi serial pada pin 0 dan 1). Sebuah library SoftwareSerial memungkinkan komunikasi serial pada salah digital pin Uno. ATmega328 juga mendukung I2C (TWI) dan komunikasi SPI. Arduino Software (IDE) termasuk library wire untuk menyederhanakan penggunaan bus I2C. Untuk komunikasi SPI, menggunakan library SPI .
53
http://digilib.mercubuana.ac.id/
2.2.1.7. Otomatis (Software) Reset Daripada membutuhkan tombol fisik reset sebelum upload, board Arduino Uno dirancang dengan cara yang memungkinkan untuk direset oleh perangkat lunak yang berjalan pada komputer yang terhubung. Salah satu garis hardware flow control (DTR) dari ATmega8U2 / 16U2 terhubung ke garis reset dari ATmega328 melalui 100 nanofarad kapasitor. Ketika baris ini menegaskan (diambil low), garis reset cukup lama untuk me-reset chip. Arduino Software (IDE) menggunakan kemampuan ini untuk memungkinkan Anda untuk meng-upload kode dengan hanya menekan tombol upload di toolbar antarmuka. Ini berarti bahwa bootloader dapat memiliki batas waktu yang lebih pendek, seperti penurunan DTR dapat terkoordinasi dengan dimulainya upload. Pengaturan ini memiliki implikasi lain. Ketika Uno terhubung ke salah satu komputer yang menjalankan Mac OS X atau Linux, itu me-reset setiap kali sambungan dibuat untuk itu dari perangkat lunak (via USB). Untuk berikut setengah detik atau lebih, bootloader berjalan pada Uno. Sementara itu diprogram untuk mengabaikan data yang cacat (yaitu apa-apa selain upload kode baru), itu akan mencegat beberapa byte pertama dari data yang dikirim ke papan setelah sambungan dibuka. Jika berjalan sketsa di board menerima konfigurasi satu-waktu atau data lain ketika pertama kali dimulai, memastikan bahwa perangkat lunak dengan yang berkomunikasi menunggu kedua setelah membuka koneksi dan sebelum mengirim data ini. Uno board memiliki jalur yang dapat dipotong untuk menonaktifkan autoreset. Bantalan di kedua sisi jalur dapat disolder bersama untuk mengaktifkan 54
http://digilib.mercubuana.ac.id/
kembali. Ini berlabel "RESET-EN". Anda juga mungkin dapat menonaktifkan autoreset dengan menghubungkan ohm resistor 110 dari 5V ke garis reset. 2.2.1.8. Penulisan Perintah Arduino Untuk dapat bekerja, maka sebelumnya Arduino UNO harus diberikan beberapa perintah dahulu yang harus diupload ke Arduino Uno. Berikut prosedur-prosedur dan perintah-perintah yang ada pada Arduino.[5] [13] [16]
Prosedur setup Prosedur ini akan dijalankan pertama kali sejak Arduino UNO dihidupkan.
Setelah prosedur setup ini dijalankan, maka prosedur loop akan dijalankan. Perintah yang dijalankan adalah semua baris perintah di dalam braket buka “{“ dan braket tutup “}”. Cara penulisan perintah: void setup() { baris_perintah; }
Prosedur loop Prosedur ini dijalankan secara terus menerus. Jika semua baris perintah telah
dijalankan, maka program akan mengulang baris perintah lagi dari awal. Oleh karena sifatnya mengulang-ulang baris perintah, prosedur ini disebut void loop. Perintah 55
http://digilib.mercubuana.ac.id/
yang dijalankan adalah semua baris perintah di dalam braket buka “{“ dan braket tutup “}”. Cara penulisan perintah: void loop() { baris_perintah; }
Perintah #included Perintah ini digunakan utuk mengambil procedure dari file resource lain.
Cara penulisan perintah : #included Contoh : #include <SoftwareSerial.h> //menggunakan resources dari file prosedur SoftwareSerial.h
Perintah deklarasi variabel Pada Arduino UNO, dikenal beberapa tipe data, yaitu integer, Boolean,
floating, string. Jika sebuah variabel akan diisi oleh bilangan integer, maka variabel tersebut haruslah dideklarasikan terlebih dahulu sebelum void setup(). Cara penulisan perintah: Type_variable Nama_Variabel;
56
http://digilib.mercubuana.ac.id/
Contoh: int Nilai;
//nilai Nilai adalah bilangan integer.
string Nama_Pohon; //nilai Nama_Pohon adalah bertipe String. float pecahan;
//nilai pecahan adalah bertipe float.
Perintah PinMode Perintah ini digunakan untuk menugaskan pin pin_number agar bertindak
sebagai input atau sebagai output. Cara penulisan perintah : pinMode(pin_number, INPUT/OUTPUT); Contoh: PinMode(13, OUTPUT); //mengatur pin13 menjadi output PinMode(3, INPUT); //mengatur pin3 menjadi input
Perintah Serial.Begin Perintah Serial.begin ini digunakan jika serial hardware digunakan untuk
komunikasi serial RS-232. Cara penulisan perintah: Serial.Begin(baud_rate, [DataParity]); Contoh : Serial.begin(9600); //mengatur baud_rate menjadi 9600. Serial.begin(9600, SERIAL_8N2); //mengatur baud_rate menjadi 9600.
57
http://digilib.mercubuana.ac.id/
Perintah mySerial.begin (lihat SoftwareSerial) Perintah ini adalah pengembangan dari pemakaian resource SoftwareSerial.h.
Perintah ini digunakan untuk mengatur baudrate softserial. Cara penulisan perintah: mySerial.Begin(baud_rate, Data, [DataParity]); Contoh mySerial.begin(9600); //mengatur baud_rate menjadi 9600. mySerial.begin(9600, SERIAL_8N2); //mengatur baud_rate menjadi 9600.
Perintah SoftwareSerial Perintah ini adalah pengembangan dari pemakaian resource SoftwareSerial.h.
Pada perintah ini membuat sebuah software serial dengan mengatur pin TX dan pin RX. Nama software serial ini bisa diisi apa saja sesuka hati. Cara penulisan perintah: SoftwareSerial nama_software (pin_RX , pin_TX) Contoh: SoftwareSerial MySerial(2,3); //membuat softwareSerial bernama mySerial dengan menggunakan pin2 sebagai RX dan pin3 sebagai TX.
Perintah Serial.print Perintah Serial.print digunakan untuk menulis isi variabel ke HardwareSerial.
Cara penulisan perintah: 58
http://digilib.mercubuana.ac.id/
Serial.print(variable); Contoh: Serial.print(alarmRX); //menulis isi variabel alarmRX ke Serial Hardware Serial.print(“Terkirim\n”); //menulis teks “Terkirim” ke Serial Hardware dan menambahkan karakter CR untuk membuat baris baru dengan menambah “\n”.
Perintah Serial.println Perintah Serial.print digunakan untuk menulis isi variabel ke HardwareSerial.
Namun ada tambahan memindahkan kursor ke baris baru. Cara penulisan perintah: Serial.println(variable); Contoh: Serial.println(alarmRX); //menulis isi variabel alarmRX ke Serial Hardware dan menambah baris baru Serial.println(“Terkirim”); //menulis teks “Terkirim” ke Serial Hardware dan menambah baris baru
Perintah MySerial.print MySerial di sini adalah software serial yang dibentuk oleh perintah
SoftwareSerial nama_software (pin_RX , pin_TX). Perintah MySerial.print digunakan untuk menulis isi variabel ke Software Serial. Cara penulisan perintah: MySerial.print(variable); 59
http://digilib.mercubuana.ac.id/
Contoh: MySerial.print(alarmRX); //menulis isi variabel alarmRX ke Serial Software MySerial.print(“Terkirim\n”); //menulis teks “Terkirim” ke Serial Software dan menambahkan karakter CR untuk membuat baris baru.
Perintah MySerial.println MySerial di sini adalah software serial yang dibentuk oleh perintah
SoftwareSerial nama_software (pin_RX , pin_TX). Perintah MySerial.print digunakan untuk menulis isi variabel ke Software Serial. Cara penulisan perintah: MySerial.println(variable); Contoh: MySerial.println(alarmRX); //menulis isi variabel alarmRX ke Serial Software dan menambah baris baru MySerial.println(“Terkirim”); //menulis teks “Terkirim” ke Serial Software dan menambah baris baru
Perintah digitalWrite Perintah kepada mikroprosessor Arduino untuk membuat pin pin_number
menjadi HIGH (logika 1) atau menjadi LOW (logika 0). Cara penulisan perintah: digitalWrite(pin_number, HIGH/LOW); Contoh : 60
http://digilib.mercubuana.ac.id/
digitalWrite(3, HIGH); // mengatur agar output pin3 menjadi HIGH. digitalWrite(13, LOW); // mengatur agar output pin12 menjadi LOW. Perintah digitalRead
Perintah kepada mikroprosessor Arduino untuk membaca keadaan pin pin_number dengan hasil HIGH (Logika 1) atau LOW (Logika 0). Cara penulisan perintah: digitalWrite(pin_number); contoh: If digitalWrite(3) then procedur_test; //jika pin3 HIGH, maka jalankan procedur_test. Status_pin = digitalRead(3); //mengisi parameter Status_pin sesuai keadaan pin3 antara HIGH (Logika 1) atau LOW (Logika 0).
Perintah If
Perintah if digunakan untuk membandingkan keadaan, misalnya isi variabel dengan nilai yang telah ditentukan. Cara penulisan perintah: If (variable comparation) { baris_perintah… } 61
http://digilib.mercubuana.ac.id/
Contoh: If (A>100) { digitalWrite(13, ON); // dijalankan jika nilai A lebih besar dari 100 } Perintah If… Else…
Hampir sama dengan perintah if, namun dengan tambahan perintah lain yang dijalankan jika kondisi perbandingan tidak sesuai dengan harapan. Cara penulisan perintah: If (variable comparation) { baris_perintah sesuai harapan } Else { baris_perintah tidak sesuai harapan } Contoh: If (A>100) { digitalWrite(13, ON); // dijalankan jika nilai A lebih besar dari 100 }
62
http://digilib.mercubuana.ac.id/
Else { digitalWrite(13, OFF); // dijalankan jika nilai A kurang dari dari 100 } 2.2.1.9. Mengenal Arduino Sketch Arduino Sketch adalah sebuah program yang digunakan untuk memasukkan program ke dalam Arduino Uno. Program ini bersifat bebas bayar dan dapat diunduh tanpa biaya dari website Arduino.cc. Program ini dapat berjalan pada sistem operasi Windows, Linux maupun Apple. [11] [16]
Gambar 2.28. Tampilan Program Aduino Sketch 63
http://digilib.mercubuana.ac.id/
2.2.2. IO Expansion Shield (V5)
Gambar 2.29 IO Expansion Shield (V5)
2.2.2.1 Gambaran umum Shield ini merupakan shield tambahan I/O Arduino yang dapat mendukung penggunaan :
kontrol motor Servo
I2C Interface
Xbee (Xbee pro)
komunikasi bluetooth
APC220
SD Card
dan Input / Output lainnya
I/O Expansion Shield ini memudahkan pengguna dalam menghubungkan komponen atau perangkat input/output dengan board Arduino. 64
http://digilib.mercubuana.ac.id/
Gambar 2.30. Pinout IO Expansion Shield (V5)
65
http://digilib.mercubuana.ac.id/
2.2.3. Xbee 60mW Wire Antenna
Gambar 2.31. Xbee 60mW Wire Antenna 2.2.3.1.Gambaran umum Xbee shield memungkinkan papan Arduino untuk berkomunikasi secara nirkabel menggunakan Zigbee. Hal ini didasarkan pada modul Xbee dari MaxStream. Modul dapat berkomunikasi hingga 30 meter di dalam ruangan atau 100 meter di luar ruangan (dengan line-of-sight). Hal ini dapat digunakan sebagai pengganti serial / usb atau Anda dapat memasukkannya ke dalam mode perintah dan mengkonfigurasinya untuk berbagai siaran dan mesh pilihan jaringan. Pelindung menembus setiap pin Xbee untuk melalui-lubang solder pad. Ini juga menyediakan female pin header untuk penggunaan pin digital 2 sampai 7 dan input analog, yang ditutupi oleh pelindung (pin digital 8 sampai 13 tidak terhalang oleh pelindung, sehingga dapat menggunakan header di papan itu sendiri).
66
http://digilib.mercubuana.ac.id/
2.2.3.2.Skema Xbee
Gambar 2.32. skema Xbee
67
http://digilib.mercubuana.ac.id/
2.2.3.3.Pengaturan Jumper Xbee shield memiliki dua jumper (lengan plastik removable kecil yang masing-masing cocok ke dua dari tiga pin berlabel Xbee / USB). Ini menentukan bagaimana komunikasi serial Xbee yang menghubungkan ke komunikasi serial antara mikrokontroler (ATmega8 atau ATmega168) dan FTDI USB-to-serial chip pada board Arduino. Dengan jumper pada posisi Xbee (yaitu pada dua pin terhadap interior papan), pin DOUT dari modul Xbee terhubung ke pin RX dari mikrokontroler; dan DIN terhubung ke TX. Perhatikan bahwa RX dan TX pin dari mikrokontroler masih terhubung ke TX dan RX pin (masing-masing) dari chip FTDI - data yang dikirim dari mikrokontroler akan dikirim ke komputer melalui USB serta dikirim secara nirkabel dengan modul Xbee . Mikrokontroler, bagaimanapun, hanya akan dapat menerima data dari modul Xbee, tidak lebih dari USB dari komputer. Dengan jumper pada posisi USB (yaitu pada dua pin terdekat tepi papan), yang DOUT pin modul Xbee terhubung ke pin RX chip FTDI, dan DIN pada modul Xbee terhubung ke pin TX chip FTDI. Ini berarti bahwa modul Xbee dapat berkomunikasi langsung dengan komputer - namun, ini hanya bekerja jika mikrokontroler telah dihapus dari papan Arduino. Jika mikrokontroler yang tersisa di papan Arduino, itu akan dapat berbicara dengan komputer biasanya melalui USB, tetapi tidak komputer atau mikrokontroler akan dapat berbicara dengan modul Xbee.
68
http://digilib.mercubuana.ac.id/
2.2.3.4.Jaringan Arduino XBee shield
dapat
digunakan
dengan
modul XBee yang
berbeda. Petunjuk di bawah ini adalah untuk modulXBee 802.15.4 (kadang-kadang disebut "Seri 1" untuk membedakan mereka dari Seri 2 modul, meskipun "Seri 1" tidak muncul dalam nama resmi atau deskripsi produk). 2.2.3.5.Pengalamatan Ada beberapa parameter yang perlu dikonfigurasi dengan benar untuk dua modul untuk berbicara satu sama lain (meskipun dengan pengaturan default, semua modul harus dapat berbicara satu sama lain). Mereka harus di jaringan yang sama, seperti yang ditetapkan oleh parameter ID (lihat "Konfigurasi" di bawah ini untuk rincian lebih lanjut tentang parameter). Modul harus pada channel yang sama, seperti yang
ditetapkan
oleh
parameter CH. Akhirnya,
alamat
tujuan
modul (DH dan DL parameter) menentukan modul pada jaringan dan saluran akan menerima data transmit. Hal ini dapat terjadi dalam beberapa cara:
Jika modul DH adalah 0 dan DL adalah kurang dari 0xFFFF (yaitu 16 bit), data yang dikirimkan oleh modul yang akan diterima oleh setiap modul yang 16-bit alamat parameter MY sama DL.
Jika DH adalah 0 dan DL sama 0xFFFF, transmisi modul akan diterima oleh semua modul.
Jika DH adalah non-nol atau DL lebih besar dari 0xFFFF, transmisi hanya akan diterima oleh modul yang nomor seri sama dengan alamat tujuan
69
http://digilib.mercubuana.ac.id/
transmisi modul (yaitu yang SH sama dengan transmisi modul DH dan yang sama DL nya SL). Sekali lagi, pencocokan alamat ini hanya akan terjadi antara modul pada jaringan yang sama dan saluran. Jika dua modul yang pada jaringan atau saluran yang berbeda, mereka tidak dapat berkomunikasi tanpa alamat mereka. Konfigurasi Berikut adalah beberapa parameter yang lebih berguna untuk mengkonfigurasi modul Xbee. Pastikan untuk tambahkan ATdengan nama parameter saat mengirim perintah ke modul (misalnya untuk membaca ID parameter, Anda harus mengirimkan perintah ATID ). Perintah
Deskripsi
Nilai yang valid
Nilai Default
ID
Jaringan ID dari
0 - 0xFFFF
3332
0x0B - 0x1A
0x0C
Nomor seri
0 - 0xFFFFFFFF
berbeda
modul Xbee
(Untuk
setiap modul
( SH memberika
kedua SH danSL )
modul Xbee. CH
Saluran
modul
Xbee. SH dan SL
untuk
n tinggi 32 bit, SLrendah 32 bit). Hanya 70
http://digilib.mercubuana.ac.id/
membaca. MY
Alamat
16-bit
0 - 0xFFFF
0
tujuan
0 - 0xFFFFFFFF
0
modul. DH dan D
Alamat
L
untuk
(Untuk
komunikasi
kedua DH danDL
nirkabel
)
(untuk kedua DH danDL )
( DH adalah tinggi
32
bit, DL rendah 32). BD
Tingkat
baud
0
(1200
bps)
digunakan untuk
1
(2400
bps)
komunikasi
2
(4800
bps)
serial
dengan
3
(9600
bps)
papan
Arduino
4
(19200
bps)
5
(38400
bps)
6
(57600
bps)
atau komputer.
3 (9600 baud)
7 (115200 bps)
Tabel 2.2 Pengalamatan Xbee 71
http://digilib.mercubuana.ac.id/
Catatan: meskipun nilai-nilai yang berlaku dan standar pada tabel di atas ditulis dengan
awalan
"0x" (untuk
menunjukkan
bahwa
mereka
adalah
nomor
heksadesimal), modul tidak akan mencakup "0x" ketika melaporkan nilai parameter, dan Anda harus menghilangkan ketika nilai pengaturan. Berikut adalah beberapa perintah yang berguna untuk mengkonfigurasi modul Xbee. Perintah
Deskripsi
RE
Mengembalikan pengaturan default pabrik (perhatikan bahwa perubahan parameter seperti, ini tidak permanen kecuali jika diikuti oleh WR perintah).
WR
Menulis yang baru dikonfigurasi nilai parameter
untuk
non-volatile
(jangka
panjang) penyimpanan. Jika tidak, mereka hanya akan berlangsung hingga modul kehilangan daya. CN
Keluar dari mode perintah sekarang. (Jika Anda tidak mengirim perintah ke modul selama beberapa detik, modus perintah akan
habis
dan
keluar
bahkan
tanpa CN perintah.)
Tabel 2.3 Perintah Modul Xbee 72
http://digilib.mercubuana.ac.id/
2.2.4. Visual Basic
Gambar 2.33. Logo Visual Basic Visual Basic adalah generasi ketiga bahasa pemrograman dan lingkungan pengembangan
terpadu/integrated
development
environment (IDE)
dari
Microsoft untuk model pemrograman COM, pertama kali dirilis pada tahun 1991. Microsoft Visual Basic dimaksudkan untuk membuat pemrograman menjadi relatif mudah untuk dipelajari dan digunakan. Visual Basic berasal dari BASIC dan memungkinkan pengembangan
aplikasi
cepat/rapid
application
development
(RAD) dari aplikasi antarmuka pengguna grafis/graphical user interface (GUI) , akses ke database menggunakan Data Access Objects , Remote Data Objects , atau ActiveX Data Objects , dan penciptaan ActiveX Control dan objek. Seorang programmer dapat membuat aplikasi menggunakan komponen yang disediakan oleh Visual Basic program itu sendiri. Seiring waktu komunitas programmer telah mengembangkan komponen baru pihak ketiga, menjaga bahasa pemrograman ini untuk standar modern. Program yang ditulis dalam Visual Basic
73
http://digilib.mercubuana.ac.id/
juga dapat menggunakanWindows API , yang membutuhkan deklarasi fungsi eksternal. Rilis terakhir adalah versi 6 pada tahun 1998 (sekarang dikenal hanya sebagai Visual Basic). 2.2.5.Adobe Flash
Gambar 2.34. Logo Adobe Flash Adobe
Flash (sebelumnya
disebut Macromedia Flash dan Shockwave
Flash) adalah multimedia dan platform perangkat lunak yang digunakan untuk membuat grafis desktop , aplikasi
vektor , animasi , game
browser , aplikasi
Internet , aplikasi
mobile dan game
mobile . Flash
menampilkan
teks, vektor dan raster grafis untuk memberikan animasi, video game dan aplikasi.Hal ini memungkinkan streaming audio dan video , dan dapat membaca mouse, keyboard, mikrofon dan masukan kamera. Grafik flash dan animasi dirancang menggunakan Editor flash , dan dapat dilihat oleh pengguna akhir menggunakan Flash Player (untuk web browser), AIR (untuk desktop atau aplikasi mobile) atau pihak ketiga pemain seperti Scaleform GFX (untuk video game) . Adobe Flash Player memungkinkan pengguna akhir untuk 74
http://digilib.mercubuana.ac.id/
melihat konten Flash menggunakan web browser , dan didukung padaMicrosoft Windows , Mac OS X dan Linux . Adobe Flash Lite dapat digunakan untuk melihat konten Flash di smartphone lawas, namun telah dihentikan dan digantikan oleh Adobe AIR . Pemrograman ActionScript memungkinkan penciptaan animasi interaktif, video game, aplikasi web, aplikasi desktop dan aplikasi mobile. Software Flash dapat dikembangkan menggunakan IDE seperti Adobe Flash Professional , Adobe Flash Builder ,FlashDevelop dan Powerflasher FDT. Adobe AIR memungkinkan desktop yang berfitur lengkap dan aplikasi mobile untuk dikembangkan dengan Flash, dan diterbitkan untuk Microsoft Windows, Mac OS X, Google Android, dan iOS. Flash
sering
digunakan
untuk
menampilkan video
streaming, iklan dan interaktif konten multimedia pada halaman web dan perangkat lunak Flash-enabled. Namun, setelah tahun 2000-an, penggunaan Flash di situs web telah
menurun, dan
pada
tahun
2015,
Flash
terutama
digunakan
untuk
membangun video game untuk perangkat mobile dengan Adobe AIR.
75
http://digilib.mercubuana.ac.id/
2.2.6. XCTU
Gambar 2.35. Software XCTU XCTU adalah aplikasi multi-platform yang dirancang untuk memungkinkan pengembang untuk berinteraksi dengan modul RF melalui antarmuka grafis sederhana.
Termasuk alat-alat baru yang membuatnya mudah untuk set-up,
mengkonfigurasi dan menguji XBee® modul RF. XCTU mencakup semua tools yang diperlukan pengembang dan dapat berjalan pada XBee. Fitur unik seperti tampilan grafis jaringan, yang secara grafis mewakili jaringan XBee bersama dengan kekuatan sinyal setiap koneksi, dan XBee API frame builder, yang intuitif membantu untuk membangun dan menafsirkan frame 76
http://digilib.mercubuana.ac.id/
API untuk XBees digunakan dalam modus API, menggabungkan untuk membuat pengembangan pada platform XBee lebih mudah dari sebelumnya. Fitur XCTU mencakup sebagai berikut:
Anda
dapat mengelola
dan
mengkonfigurasi
beberapa
perangkat
RF, bahkan dengan yang terhubung jauh (over-the-air).
Proses update firmware yang mudah mengembalikan pengaturan modul, secara otomatis menangani modus dan perubahan baud rate.
Dua API spesifik dan AT konsol, telah dirancang untuk berkomunikasi dengan perangkat radio.
Dapat menyimpan sesi konsol dan mejalankan dalam PC berbeda yang juga memiliki XCTU.
XCTU memiliki tools yang ada di dalamnya yang dapat dieksekusi tanpa memiliki modul RF yang terhubung: o
Generator frame: Menghasilkan bingkai API apapun dengan mudah untuk disimpan nilainya.
o
Interpreter frame: Decode frame API dan melihat nilai-nilai frame spesifik.
o
Pemulihan: Recover modul radio yang telah rusak pada bagian firmware atau berada dalam mode pemrograman.
o
Konsol sesi load: Sesi konsol load yang dapat disimpan dalam setiap PC yang menjalankan XCTU. 77
http://digilib.mercubuana.ac.id/
o
Uji jangkauan: Melakukan uji jangkauan antara 2 modul radio dari jaringan yang sama.
o
Firmware explorer: Arahkan melalui perpustakaan firmware XCTU ini.
Sebuah proses update memungkinkan untuk secara otomatis memperbarui aplikasi itu sendiri dan perpustakaan firmware radio tanpa perlu mendownload file tambahan.
XCTU berisi dokumentasi lengkap dan komprehensif yang dapat diakses setiap saat.
78
http://digilib.mercubuana.ac.id/