ARDUINO
Arduino, merupakan perkembangan terkini cara
mengembangkan aplikasi mikrokontroler relatif lebih mudah jika
dibandingkan dengan cara konvensional. Sudah lama saya tidak
berkecimpung lagi dalam utak-atik aplikasi mikrokontroler, kira-kira 5
tahun lamanya. Karena sekitar 3 tahun yang lalu saya sudah tidak langi
mengajar mikroprosesor pada Jurusan Teknik Elektro, Universitas
Brawijaya dengan alasan sudah jenuh. Namun seiring dengan perkembangan
teknologi mikrokontroler yang melaju dengan cepat, saya banyak menemukan
mikrokontroler serba canggih dengan banyak piranti didalam internal
mikrokontrolernya seperti keluaran AVR. Karena mikroprosesor telah
mendarah daging dalam kehidupan saya sebagai pengajar mikroprosesor
sejak tahun 1986-2009 atau 23 tahun lamanya.
Didalam mengajar saya utamakan teori kemudian memberikan pemahaman
dalam dunia nyatanya. Karena kalau teori saja, bagaikan sebuah cerita
fiksi yang tidak tahu wujud kenyataannya. Kalau praktek saja tanpa teori
bagaikan orang buta yang tidak tahu jalan sebenarnya, dan pada akhirnya
hanya meraba-raba tanpa tahu sebabnya. Yang benar adalah Teori dan
praktek selalu beriringan, sehingga didalam belajar ilmu pengetahuan
hendaklah berdasar tiga hal yaitu: “Belajar Membaca”, “Belajar Berpikir”
dan “Belajar berbuat”. “Belajar membaca” adalah tahap awal belajar ilmu
pengetahuan. Belajar membaca artinya menelusuri jejak ilmu pengetahuan
yang ada dibumi ini, karya-karya orang lain, atau apa-apa yang sudah
dilakukan oleh orang lain. Tujuannya adalah membangun motivasi,
menghargai karya orang lain, memulai hal-hal baru yang belum dilakukan
orang lain. “Belajar berpikir” adalah suatu langkah awal dari sebuah
ketertarikan kepada sebuah ilmu pengetahuan, sekaligus mengetahui
kemampuan diri sendiri, mengetahui bahwa kita ada oleh karena itu kita
berpikir. Selain itu juga bertujuan untuk mengetahui atau mengukur
kemampuan diri sendiri. Selanjutnya adalah “Belajar berbuat” artinya apa
yang telah dibaca dan dipikir haruslah diverifikasi dalam bentuk
perbuatan, sebagai contoh praktek. Belajar berbuat bertujuan untuk
mengoreksi diri sendiri, apakah yang telah dibaca dan dipikir benar
adanya, kalau tidak benar mulailah dari awal untuk mencari kebenaran apa
yang telah kita pelajari. Semua itu adalah sebuah proses yang harus
dijalani agar apa-apa yang kita ajarkan adalah benar dan telah
dibuktikan. Dengan demikian apa yang kita sampaikan dalam ruang kelas
bukan sebuah isapan jempol belaka.
Arduino
Mengenai arduio yang telah diluncurkan dalam situs arduino,
yang sampai saat posting ini ditulis telah memiliki versi 1.0.1.
Arduino sebenarnya adalah perangkat lunak IDE (Integrated Development
Environment ). Sebuah perangkat lunak yang memudahkan kita mengembangkan
aplikasi mikrokontroler mulai dari menuliskan source program,
kompilasi, upload hasil kompilasi, dan uji coba secara terminal serial.
Namun sampai saat ini arduino belum mampu men-debug secara simulasi
maupun secara perangkat keras, kita tunggu selanjutnya.
Arduino ini bisa dijalankan di komputer dengan berbagai macam
platform karena didukung atau berbasis Java. Source program yang kita
buat untuk aplikasi mikrokontroler adalah bahasa C/C++ dan dapat
digabungkan dengan assembly. Penulis menggunakan arduino berbasis
mikrokontroler AVR dilingkungan jenis ATMEGA yaitu ATMEGA 8, 168, 328
dan 2650.
Sampai disini silakan dulu download program arduino kemudian installah dalam komputer anda. Setelah anda instal coba dirun maka akan muncul tampilan sebagai berikut.
Dari tampilan kedua dapat dibagi menjadi 3 jendela yaitu: Menu dan
tombol icon, editor dan pesan. Pada bagian bawah terlihat jenis
mikrokontroler atau board arduino saat ini yaitu Board Arduino BT dengan
mikrokontroler ATmega328 dengan menggunakan kanal serial COM7 untuk
upload hasil kompilasi dan komunikasi konsole serial.
Penggunaan arduino sangat mudah, kemudahan karena kita tidak perlu
lagi mengetahui detail perangkat keras dari mikrokontroler terutama
mengenai konfigurasi register-register yang harus dilakukan dengan
mengetahui cara kerja dari mikrokontroler. Selain itu arduino sangat
kaya dengan library baik dari pengembang arduino maupun sumbangan dari
orang lain, karena arduino sifatnya adalah opensoource.
Pada saat source dikompilasi, maka hasilnya berupa file heksa di
upload ke mikrokontroler secara serial dengan memanfaatkan pin TX/RX
untuk ATmega8 adalah penyemat 2 dan 3.
Bagaimana cara kerja pengembangan sistemnya ?
Disamping IDE arduino sebagai jantungnya, bootloader adalah jantung
dari arduino lainnya yang berupa program kecil yang dieksekusi sesaat
setelah mikrokontroler diberi catu daya. Bootloader ini berfungsi
sebagai pemonitor aktifitas yang diinginkan oleh arduino. Jika dalam IDE
terdapat file hasil kompilasi yang akan diupload, bootloader secara
otomatis menyambutnya untuk disimpan dalam memori program. Jika pada
saat awal mikrokontroler bekerja, bootloader akan mengeksekusi program
aplikasi yang telah diupload sebelumnya. Jika IDE hendak mengupload
program baru, bootloader seketika menghentikan eksekusi program berganti
menerima data program untuk selanjutnya diprogramkan dalam memori
program mikrokontroler. Pendek kata sangat mudah mekanisme pengembangan
aplikasinya. Tentang IDE arduino kita bahas sampai disini saja,
selanjutnya saya akan menjelaskan perangkat keras pendukung lainnya.
Piranti komunikasi serial RS232
Hubungan komunikasi data antara IDE arduino dengan board arduino
digunakan komunikasi secara serial dengan protokol RS232. Tentunya jika
anda tertarik dengan arduino ini, cek terlebih dahulu apakah komputer
anda ada port komunikasi serialnya. Untuk komputer PC dipastikan sudah
ada port serialnya dengan konektor DB9, namun untuk Laptop akhir-akhir
ini sudah dihilangkan. Jika anda menggunakan laptop modern, diperlukan
sebuah antarmuka serial rs232 biasanya ditancapkan ke USB. Sudah barang
tentu jika board arduino anda sudah dilengkapi dengan komunikasi serial
RS232 (biasanya USB), piranti ini tidak lagi digunakan, cukup langsung
ditancapkan ke USB komputer anda. Biasanya catu daya 5V otomatis akan
disuply ke board arduino anda.
Piranti serial rs232 ini digunakan jika board arduino atau arduino
buatan sendiri tidak dilengkapi dengan piranti serial 232. Jika tidak
tersedia, gunakan usb to serial pada umumnya. Tapi harus diingat
penyemat TX/RX mikrokontroler merupakan level ttl, jadi harus diubah
dari level rs232 ke ttl dengan menggunakan chip max232. Belakangan ini
udah ada piranti usb to serial dengan level ttl, jadi tidak perlu
menggunakan chip max232 lagi. Saluran yang digunakan adalah RX, TX dan
DTR. DTR digunakan untuk mereset mikrokontroler secara otomatis ketika
IDE arduino mengirimkan program untuk dituliskan ke memori program
mikrokontroler. Jadi DTR dihubungkan dengan penyemat reset
mikrokontroler arduino.
Board arduino
Board arduino sebenarnya berisi komponen utama mikrokontroler AVR,
mulai dari ATmega8 sampai seri terbaru diantaranya adalah 2650. Selain
itu board arduino dilengkapi dengan chip USB to serial, sehingga
penggunanya mudah menggunakannya hanya dengan mencolokkan ke port USB
komputer/laptop. Sebenarnya kita bisa membuat board tersebut, karena
board yang sudah jadi hanyalah mikrokontroler yang diisi dengan program
bootloader yang juga tersedia pada IDE arduino. Membangun board arduino
sendiri akan dibahas dalam posting yang terpisah.
Untuk melihat jenis-jenis board arduino yang sudah jadi bisa anda klik disini.
Bahasa pemrograman
Bahasa pemrograman yang digunakan oleh IDE arduino didalam
mengembangkan aplikasi mikrokontroler adalah C/C++. Tentunya terdapat
style khusus yang membedakannya yaitu:
- void main(void) sebagai fungsi program utama diganti dengan void loop() . Perbedaannya pada c biasa tidak terjadi loop, jadi harus ada looping yang ditambahkan misalnya while(1){……}. Dalam arduino secara otomatis fungsi loop() akan kembali lagi dari awal jika sudah dieksekusi intruksi paling bawahnya.
- Ditambahkan fungsi void setup(void), fungsi ini dugunakan untuk inisialisasi mikrokontroler sebelum fungsi utama loop() dieksekusi.
- Tidak direpotkan dengan setting register-register, karena arduino sudah memasukkannya kedalam librarynya dan secara otomatis disesuikan dengan jenis board arduino berkenaan jenis mikrokontrolernya. Jadi setup perangkat kerasnya menjadi mudah.
Dalam posting yang lain akan dijelaskan aplikasi sederhana tentang arduino, agar mudah dipahami apa sebenarnya arduino itu.
Penyemat
Pada arduino memberikan penamaan penyemat secara spesifik agar mudah
dikenali oleh pengguna awam. Jika kita terbiasa mengembangkan aplikasi
mikrokontroler tidak menggunakan arduino, penyemat menggunakan nama
penyemat sesuai dengan lembar data dari pabriknya. Arduino menamakan
penyemat secara spesifik yaitu dua jenis saluran yaitu analog dan
digital. Setiap saluran analog dan digital diberi urutan angka, misalnya
D5 adalah saluran digital kanal 5, A0 adalah saluran analog kanal 0.
Dari gambar di atas, yang penamaan penyemat
yang berwarna merah adalah nama saluran arduino. Sedangkan nama
penyemat yang berwarna hitam adalah nama penyemat mikrokontroler
ATmega8, 168 dan 328. Dengan demikian pengembang aplikasi mikrokontroler
dengan menggunakan arduino tidak usah pusing-pusing mengetahui nama dan
nomer penyemat mikrokontroler yang sedang dikembangkan aplikasinya.
sumber materi: http://bsiswoyo.lecture.ub.ac.id/2012/06/belajar-arduino-pengantar/
sumber materi: http://bsiswoyo.lecture.ub.ac.id/2012/06/belajar-arduino-pengantar/
Tidak ada komentar :
Posting Komentar