z

counters

Sabtu, 02 Mei 2015

Mikroprossesor - Arduino

 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:
  1. 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.
  2. Ditambahkan fungsi void setup(void), fungsi ini dugunakan untuk inisialisasi mikrokontroler sebelum fungsi utama loop() dieksekusi.
  3. 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/

Tidak ada komentar :

Posting Komentar