Tutorial Dasar Pemrograman Arduino


Artikel pertama tutorial Arduino Indonesia ini akan mengulas tentang sejarah asal Arduino dan sedikit mengenai instruksi yang digunakan dalam pemrograman.

Arduino
Arduino merupakan suatu perangkat yang dirancang dengan kemampuan komputasi yang dapat berinteraksi secara lebih dekat dengan dunia nyata dibandingkan komputer biasa.

<img src="arduino_lcd.png" alt="arduino_lcd">


Satu hal yang perlu dicatat ialah Arduino bersifat open source, baik microcontroller board yang dapat dimodifikasi, begitu juga dengan development environment untuk menuliskan source code program yang disebut dengan istilah sketch.

<img src="arduino.png" alt="arduino">


Sejarah Singkat
Arduino bermula pada tahun 2005, sebagai sebuah project bagi para pelajar di Interaction Design Institute Ivrea di Ivrea, Italia. Pada saat itu para pelajar menggubakan BASIC Stamp yang cukup mahal bagi pelajar. Adalah Massimo Banzi, salah satu pendiri Arduino, yang sekaligus mengajar di Ivrea, mencoba menyelesaikan persoalan tersebut. Asal mula nama Arduino berasal dari nama sebuah bar yang ada di Ivrea, dimana para pendiri Arduino biasa berkumpul disana. Untuk hardware wiring awal dirancang oleh Hernando Barragan. Bersama dengan David Cuartielles, mulai memperkenalkan Arduino.

Feature Kelebihan
Arduino dapat digunakan untuk mengembangkan suatu sistem interaktif, yang menerima input dari bermacam switch atau sensor, dan mengendalikan bermacam hal semisal lampu, motor, dan output lainnya.
Ada berbagai macam jenis microcontroller dan platform yang tersedia untuk keperluan komputasi fisik. Arduino dirancang secara sederhana dan mudah dipelajari, dikembangkan untuk keperluan project tugas sekolah, kuliah, ataupun tugas akhir. Adapun kelebihan yang coba ditawarkan Arduino antara lain.
  • Relatif murah
  • Bersifat cross-platform dapat dijalankan di berbagai operating system seperti Windows, Macintosh OSX, dan Linux
  • Sederhana, dengan programming environment turunan dari bahasa pemrograman C yang mudah dimengerti
  • Baik hardware maupun software bersifat open source
Untuk dasar tutorial pemrograman Arduino berikut ini beberapa function yang biasa digunakan.

setup()
Digunakan untuk inisialisasi variable, pin mode, penggunaan library, dan lain sebagainya. Hanya dijalankan sekali, pada saat Arduino pertama kali dinyalakan, atau setelah reset.

loop()
Setelah function setup(), digunakan function loop() yang sesuai dengan namanya, untuk menjalankan program utama dalam Arduino secara berulang terus-menerus, hingga Arduino dimatikan atau reset.

pinMode()
Digunakan untuk melakukan konfigurasi secara spesifik fungsi dari sebuah pin, apakah digunakan sebagai input atau sebagai output. Contoh penggunaan function pinMode() ialah sebagai berikut.
  • pinMode(0, INPUT) konfigurasi pin 0 Arduino sebagai pin input
  • pinMode(13, OUTPUT) konfigurasi pin 13 Arduino sebagai pin output

digitalRead()
Digunakan untuk membaca nilai pin digital yang spesifik, apakah bernilai HIGH atau LOW. Contoh penggunaan function digitalRead() ialah sebagai berikut.
  • digitalRead(0) membaca nilai digital dari pin 0 Arduino

digitalWrite()
Selain membaca nilai, ada juga function untuk menuliskan atau memberikan nilai pada suatu pin digital secara spesifik. Dengan function digitalWrite() memberikan nilai pin digital yang spesifik apakah bernilai HIGH atau LOW, dapat dilakukan. Contoh penggunaan function digitalWrite() ialah sebagai berikut.
  • digitalWrite(13, HIGH) memberikan nilai digital HIGH pada pin 13 Arduino

delay()
Sesuai dengan namanya, function delay() digunakan untuk memberikan waktu tundaan (dalam satuan millisecond) untuk mengerjakan satu baris program ke baris selanjutnya. Contoh penggunaan function delay() ialah sebagai berikut.
  • delay(1000) memberikan waktu tundaan 1000 millisecond, atau setara dengan 1 detik sebelum melanjutkan mengerjakan perintah baris program selanjutnya

analogRead()
Selain membaca nilai digital, Arduino juga dapat digunakan untuk membaca nilai analog. Dengan menggunakan function analogRead(), untuk membaca nilai analog melalui pin analog. Untuk board Arduino Uno memiliki 6 channel analog, Arduino Mini dan Nano 8 channel, sedangkan Arduino Mega 10 channel, dengan resolusi 10 bit analog to digital converter. Dengan resolusi 10 bit memungkinkan pemetaan tegangan antara 0 volt hingga 5 volt dalam nilai integer dari 0 hingga 1023. Sehingga resolusi pembacaan nilai analog ialah 5 volt dibagi 1024 unit, atau sekitar 4,9 mV per unit. Dibutuhkan sekitar 100 microsecond untuk membaca suatu input analog, dengan kata lain tingkat pembacaan maximum nilai analog ialah 10000 kali dalam satu detik.

analogReference(type)
Digunakan untuk memberikan nilai tegangan referensi untuk input analog, dengan pilihan type yang ada antara lain.
  • DEFAULT, nilai tegangan default untuk board Arduino ialah 5 volt atau 3,3 volt
  • INTERNAL, sebuah referensi built-in, setara tegangan 1,1 volt pada ATmega168 atau ATMega 328, dan 2,56 volt untuk ATMega8
  • INTERNAL1V1, sebuah referensi built-in, tegangan 1,1 volt, untuk Arduino Mega
  • INTERNAL2V56, sebuah referensi built-in, tegangan 2,56 volt, untuk Arduino Mega
  • EXTERNAL, sebuah referensi dari pin AREF, nilai tegangan berkisar antara 0 volt hingga 5 volt

Untuk informasi lebih lanjut silahkan kunjungi situs halaman Arduino.

Saat ini di Indonesia board Arduino Uno R3 dapat diperoleh dengan mudah di kota-kota besar. Board Arduino Uno R3 dijual dengan harga murah. Membuat perkembangan Arduino kian pesat. Bila ada sesuatu yang belum jelas dan ingin tahu lebih dalam seputar project Arduino, pemrograman, dan elektronika, bisa bertanya pada bagian comment atau melalui page Facebook berikut.