Belajar mikrokontroler Arduino untuk tingkat Pemula.

Arduino sudah menjadi salah satu modul mikrokontroler yang cukup populer sejak beberapa tahun ini. Sifatnya yang open source dan semakin banyak dukungan library gratis di internet adalah salah satu alasan mengapa Arduino bisa populer yang bisa ditemui di hampir setiap toko online elektronik. Bagi para pemula, modul ini sangat bagus untuk belajar pemrograman mikrokontroler, karena  kita tidak perlu mengembangkan terlalu banyak di sisi hardware.  Kita tidak perlu membuat PCB, pasang komponen, solder dan belum lagi uji coba hardware, yang cukup memakan waktu. Tapi saya menyarankan, jika Anda punya banyak waktu, akan lebih bagus silakan merakit sendiri, namun saya tidak bahas di artikel ini.

 

Sebelum kita membahas pemrograman Arduino, kita tinjau dulu apa yang bisa dilakukan oleh Arduino dalam mengendalikan peralatan elektronik.  Semua jenis modul Arduino memiliki port masukan (input) dan keluaran (output) digital yang bisa dihubungkan langsung ke peralatan misalnya tombol, saklar, sensor (masukan) dan relay, LED (keluaran).   Jumlah port tergantung dari jenis Arduino, apakah Uno, Mega, atau Micro. Apa yang dapat dilakukan selain hanya sekedar mengendalikan lampu?

Papan Arduino merupakan basic module yang dapat kita tumpuk secara bertingkat dengan modul tambahan lain (istilah yang digunakan adalah SHEILD) yang memiliki fungsi tersendiri.

Contoh sheild yang beredar di pasaran:

 

  • Character LCD and Button shield: untuk menayangkan pesan melalui LCD 16x2 karakter dan terdapat beberapa tombol, bisa kita manfaatkan untuk navigasi menu.
  • Graphics TFT-LCD shield: untuk menampilkan pesan berupa grafik dan sekaligus dapat menerima input melalui layar sentuh.
  • WiFi shield: untuk berkomunikasi melalui jaringan W-LAN, baik intranet maupun internet.
  • Ethernet shield: untuk berkomunikasi melalui LAN menggunakan kabel ethernet.
  • GSM/GPRS sheild: untuk berkomunikasi melalui jaringan GSM (fitur SMS) atau GPRS (fitur internet mobile).  Jika dilengkapi dengan GPS, dapat pula untuk mengetahui lokasi.
  • USB-Host shield: untuk berkomunikasi melalui USB, contohnya kita dapat menerima masukan dari USB mouse/keyboard (Human Input Device, HID), membaca/menulis USB Flash disk, berinteraksi dengan perangkat XBox, berinteraksi dengan perangkat berbasis Android, mengendalikan kamera digital (tipe/merek tertentu) dan masih banyak lagi.

 

Untuk tahap belajar, Arduino Uno adalah yang terbaik karena kita belum perlu port I/O yang banyak, disamping itu harganya lebih murah.  Namun untuk aplikasi yang lebih luas, Arduino Mega adalah yang ideal, karena memiliki kecepatan lebih tinggi, port lebih banyak dan dukungan komunikasi data yang lebih handal.

Berikut saya tuliskan langkah-langkah pemrograman mulai dari awal.  Saya asumsikan Anda sudah memiliki Arduino Uno/Mega atau versi kompatibelnya.  (Jika ada pertanyaan, silakan kasih komentar di bawah).  Secara garis besar, langkah-langkahnya adalah instalasi software, driver dan menghubungkan modul Arduino ke PC lewat USB, baru bisa kita program.

1. Instalasi software dan driver.

Silakan unduh perangkat lunak Arduino di website arduino.cc lalu masuk ke Download, pilih versi 1.0.5 saja dan pilih sesuai operating system PC Anda, lalu instal.  Setelah itu hubungkan perangkat papan Arduino menggunakan kabel USB.  Anda tidak perlu menambahkan sumber tegangan ke modul, karena sudah bisa aktif dengan menggunakan tegangan dari PC.  Setelah itu, jika PC mendeteksi adanya perangkat baru, silakan instal driver-nya dengan merujuk file dari hasil instalasi. (cek di Program Files/Arduino/drivers).  Periksa di control panel, apakah sudah muncul perangkat baru di bagian serial communication.  Jika sudah, berarti tidak ada kendala.

2. Menjalankan program Arduino

Eksekusi program Arduino (klik icon Arduino di desktop), lalu setelah muncul jendela bernuansa biru, kita bisa mengetes apakah Arduino dan PC sudah benar-benar terhubung.

  • Konfigurasi jenis papan Arduino,  pilih menu Tools > Board > lalu pilih sesuai jenis papan Arduino Anda.
  • Selanjutnya konfigurasi serial port,  pilih Tools > Serial Port > lalu pilih sesuai nama serial port (bisa diperiksa di Control Panel > System > Device Manager).

Sekarang saatnya kita coba upload dan compile ke Arduino.  Dalam hal ini kita menggunakan program yang sudah ada dalam contoh.  Pilih File > Examples > Basics > Blink.  Lalu muncul jendela baru, berisi kode/program untuk menyalakan lampu LED berkedip setiap satu detik.  Program ini dijamin tidak ada kesalahan, jadi cukup dibaca saja, jangan dimodifikasi dulu.  Langsung saja pilih File > Upload atau tekan tombol icon panah.  Lalu tunggu sebentar dan perhatikan LED yang ada di papan Arduino. Setelah sukses, LED akan berkedip dengan frekwensi 1 detik.  (jika tidak berhasil, silakan diskusikan melalui komentar di bawah).

3. Pemrograman pada Arduino

Secara struktur program pada umumnya memiliki tiga bagian utama, yaitu deklarasi variabel (juga konfigurasi library jika ada), sub program setup dan program utama (main loop).

 

  • Ada dua macam variabel dilihat dari cakupan dimana variabel itu bekerja. Yang pertama adalah variabel global yang cakupannya berada di seluruh program, sedangkan variabel lokal cakupannya hanya pada satu sub program atau satu loop tertentu seperti while dan for.  Variabel global biasanya kita letakkan paling atas.
  • Deklarasi sub program setup adalah berisi kumpulan instruksi atau pernyataan yang hanya perlu dipanggil satu kali saja. Contohnya adalah mengatur sebuah pin apakah sebagai input atau output. Juga untuk menyatakan variabel-variabel global dengan nilai awal.
  • Program utama (main loop) adalah kumpulan instruksi atau pernyataan yang dilakukan secara berulang-ulang.  Di dalam program utama ini, kita boleh memanggil sub program lain yang bisa juga kita buat terpisah. Juga di dalamnya bisa kita sisipi iterasi (pengulangan) menggunakan while atau for. Ada banyak instruksi yang bisa kita pakai untuk aplikasi pemrograman di Arduino, dan semua itu bisa dilihat di website arduino.cc pada bagian reference.  Bagi pemula, saya kira tidak perlu mengetahui semua, tapi cukup yang dasar saja.  Instruksi yang lain bisa kita pelajari seiiring dengan tingkat kompleksitas aplikasi yang kita kembangkan.

 

Sintak yang wajib diketahui adalah if, if … else, while, for, semua operasi arimatika dan relasional, fungsi pinMode, digitalWrite, digitalRead, delay, tipe data int, char, byte, string dan array..  Sedangkan untuk contoh program (example) silakan coba program Blink, Button dan semua di bagian contoh Control.

Sampai di sini adalah yang bisa saya tulis untuk belajar mikrokontroler Arduino tingkat pemula.  Jika Anda ingin mengembangkan aplikasi berkaitan dengan komunikasi data atau antarmuka dengan shield tertentu, berarti Anda sudah tidak sebagai pemula lagi.  Topik yang lebih spesifik bisa kita diskusikan lebih lanjut.

Selamat mencoba.