Arduino, USB dan Serial Port RS232

Serial Port (RS232) adalah standar port untuk melakukan interfacing antara komputer dengan board atau device. Penerapan RS232 untuk embedded system sangat mudah dan murah.

Sayangnya hari gini motherboard-motherboard baru sudah tidak mempuyai serial port lagi termasuk juga laptop. Untuk itu diperlukan Kabel converter USB ke Serial Port. Harga kabel converter ini sekitar 80rb-150rb.

Melihat perkembangan desktop komputer atau laptop. Arduino sebagaian besar sudah support USB, sehingga tidak diperlukan kabel converter lagi. Anda bisa menghemat 80rb-150rb.

Secara teknikal Arduino menggunakan chip FTDI USB to Serial (FT232), chip ini berkerja mengkonversi USB ke Serial dan banyak digunakan juga sebagai chip kabel converter USB ke Serial Port. Layaknya kabel converter anda juga terlebih dahulu harus menginstall driver dari chip FTDI ini.

Kesimpulannya Arduino board sudah termasuk USB to Serial converter, tanpa harus menggunakan converter tambahan.

FTDI adalah nama perusahaan pembuat chip http://www.ftdichip.com

Kenapa Bahasa C

Kenapa Bahasa C

Muncul sebuah pertanyaan kenapa Arduino diprogram menggunakan bahasa C. Bahasa C adalah bahasa yang standar dan baku yang sejak puluhan tahun digunakan. Waktu jaman kuliahan ini adalah bahasa yang pertama kali di ajarkan di semester kedua.

Bahasa C adalah bahasa pemrograman yang sangat powerful yang mendekati bahasa assembler. Bahasa C menghasilkan object code yang sangat kecil dan dieksekusi sangat cepat. Karena itu bahasa C digunakan untuk system programming dan programming embedded system.

Bahasa C adalah bahasa standar.
Artinya dapat digunakan di lingkungan Windows atau Linux atau dengan compiler lain, tidak perlu mengalami perubahan untuk di-compile (Mungkin diperlukan perubahan tapi sangat minimal).

Bahasa C mudah dipelajari
Tentu ini adalah pernyataan subyektif tergantung kemampuan tiap individual. Sekali anda mengerti bahasa C anda bisa melakukan pengembangan dengan board lain atau microcontroller/microprocessor lain atau bisa melakukan system programming. Contoh microprocessor yang menggunakan bahasa C juga adalah Rabbit Microprocessor dan ARM microprocessor.

Tips: Cara termudah menurut saya untuk belajar bahasa pemrograman adalah dengan melihat source code program sederhana, lalu coba untuk mengganti-ganti source code tersebut. Anda harus banyak melakukan praktek sendiri.

Hardcore Programming
Tiap ketemu temen dan ditanya bisa bahasa apa aja, saya cuma bilang bisa bahasa C dan C++, temen itu pasti bilang wahh “Hardcore programmer”. Ini merupakan sebuah pujian yang membanggakan. Tidak semua programmer memperdalam pengetahuan bahasa C karena terkait dengan program yang sedang dikembangkannya. Memang bahasa C ini banyak dipakai untuk pengembangan program yang sulit seperti microcontroller dan embededd system.

You can’t go wrong with C.

Arduino Intro

Bagi orang awam termasuk gue, membuat robot terkesan pekerjaan yang sangat super hitech dan sulit. Sambil browsing-browsing gue melihat untuk membuat robot diperlukan pengetahuan eletronik untuk membuat rangkaian dan keahlian software engineering untuk membuat software. Membuat robot adalah pekerjaan dua orang atau lebih.

1. Electrical engineer membuat rangkaian elektronik mikrokontroller.
2. Software engineer membuat software sebagai otak robot
3. Mechanical engineer membuat body, tangan kaki robot.

Untungnya gue ketemu dengan Arduino. Arduino adalah board rangkaian elektronik dengan mikrokontroller. Jadi untuk point nomer satu sudah bisa dilewati. Gue tinggal fokus di software engineering alias programming. Programming arduino sangat mudah dengan bahasa C yang bukunya banyak bangat dan bahasa C ini adalah bahasa standard bisa digunakan untuk programming di environment lain, sepert windows, linux, etc. Untuk point nomer 2 Mechanical engineer sementara gue bisa beli part jadinya aja dulu.

Board Arduino banyak macamnya, tapi yang gue beli Duemilanove 328, Versia terbaru seri Duemilanove dengan mikrokontroller ATMega 328.
Spesifikasi :

Microcontroller            ATmega328
Operating Voltage        5V
Input Voltage (recommended)    7-12V
Input Voltage (limits)        6-20V
Digital I/O Pins        14 (of which 6 provide PWM output)
Analog Input Pins        6
DC Current per I/O Pin        40 mA
DC Current for 3.3V Pin        50 mA
Flash Memory            16 KB (ATmega168) or 32 KB (ATmega328) of which 2 KB used by bootloader
SRAM                1 KB (ATmega168) or 2 KB (ATmega328)
EEPROM                512 bytes (ATmega168) or 1 KB (ATmega328)
Clock Speed            16 MHz

Yang yang paling gue sukai dengan Arduino ini, bisa diprogram dengan kabel USB dan tanpa Serial Port. Dengan kabel USB tidak perlu external DC Adaptor, kecuali menghubungkan Arduino dengan rangkaian/part yang memerlukan banyak power  seperti misalnya Gear Motor/Motor DC.

Arduino menyediakan tools untuk programming dan GRATIS, bisa jalan di Windows dan Linux. Dalam tools ini sudah banyak sample-sample program yang seferhana. Loe langsung bisa belajar bagaimana ngutak-ngatik Arduino ini.

Arduino ini sudah preburned bootloader, jadi ngk perlu pusing juga bikin bootloader buat mikrokontroller, loe tinggal fokus dengan programming.

Komunitas pengguna Arduino ini banyak bangat diInternet, loe ngk perlu khawatir kalau mau cari project untuk belajar dan kalau ada pertanyaan. Video-video arduino di Youtube juga banyak.