Arduino

Arduino adalah pengendali mikro dengan papan tunggal yang berfungsi dalam proyek perangkat lunak sumber terbuka. Fungsi utama dari Arduino untuk memudahkan penggunaan elektronik dalam berbagai bidang. Arduino memiliki perangkat keras yang menggunakan prosesor Atmel AVR. Sementara perangkat lunak yang dimiliki oleh Arduino terdiri dari beberapa alat yakni lingkungan pengembangan terpadu (IDE), penyunting teks, kompilator, Serial Monitor, dan Serial ISP Programmer.

Arduino juga merupakan senarai perangkat keras terbuka yang ditujukan kepada siapa saja yang ingin membuat purwarupa peralatan elektronik interaktif berdasarkan hardware dan software yang fleksibel dan mudah digunakan. Pada aplikasi Arduino, Mikrokontroler diprogram menggunakan bahasa pemrograman C atau C++, dengan pustaka khas arduino. Karena sifatnya yang terbuka maka siapa saja dapat mengunduh skema hardware arduino dan membangunnya.

Arduino menggunakan keluarga pengendali mikro ATMega yang dirilis oleh Atmel sebagai basis, namun ada individu/perusahaan yang membuat clone arduino dengan menggunakan mikrokontroler lain dan tetap kompatibel dengan arduino pada level perangkat keras. Untuk fleksibilitas, program dimasukkan melalui bootloader meskipun ada opsi untuk mem-bypass bootloader dan menggunakan pengunduh untuk memprogram pengendali mikro secara langsung melalui port ISP.

 Sejarah Singkat 
Semuanya berawal dari sebuah tesis yang dibuat oleh Hernando Barragan, di Institute Ivrea, Italia pada tahun 2005, dikembangkan oleh Massimo Banzi dan David Cuartielles dan diberi nama Arduin of Ivrea. Lalu diganti nama menjadi Arduino yang dalam bahasa Italia berarti teman yang berani.

Tujuan awal dibuat Arduino adalah untuk membuat perangkat mudah dan murah, dari perangkat yang ada saat itu. Dan perangkat tersebut ditujukan untuk para siswa yang akan membuat perangkat desain dan interaksi.

Saat ini tim pengembangnya adalah Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino, David Mellis, dan Nicholas Zambetti. Mereka mengupayakan 4 hal dalam Arduino ini, yaitu:
 Harga terjangkau
 Dapat dijalankan diberbagai sistem operasi, Windows, Linux, Mac, dan sebagainya.
 Sederhana, dengan bahasa pemograman yang mudah bisa dipelajari orang awam, bukan untuk orang teknik saja.
 Open Source, hardware maupun software.

Sifat Arduino yang Open Source, membuat Arduino berkembang sangat cepat. Sehingga banyak lahir perangkat-perangkat sejenis Arduino. Seperti DFRDuino atau Freeduino, sedangkan untuk lokal ada SENTSOR Uno Plus yang dibuat oleh SENTSOR Electronics Indonesia, CipaDuino yang dibuat oleh SKIR70, MurmerDuino yang dibuat oleh Robot Unyil, ada lagi AViShaDuino yang salah satu pembuatnya adalah Admin Kelas Robot.

Sampai saat ini pihak resmi, sudah membuat berbagai jenis-jenis Arduino. Mulai dari yang paling mudah dicari dan paling banyak digunakan, yaitu Arduino Uno. Hingga Arduino yang sudah menggunakan ARM Cortex, berbentuk Mini PC. Hingga saat ini sudah ada ratusan ribu Arduino yang digunakan di dunia sejak tahun 2011. Arduino juga sudah dipakai oleh perusahaan-perusahaan besar, contohnya Google menggunakan Arduino untuk Accessory Development Kit, NASA memakai Arduino untuk prototypin, ada lagi Large Hadron Colider memakai Arduino dalam beberapa hal untuk pengumpulan data.

Salah satu komponen dari arduino (yakni text-editor) dibangun menggunakan Java. Hal ini mengakibatkan banyak yang mengira bahasa arduino adalah bahasa baru turunan dari Java. Arduino sebenarnya menggunakan bahasa C / C++, dengan compiler avr-gcc yang sama dengan yang dipakai pada avr-studio. Aturan proses kompilasi sudah disediakan oleh aplikasi Arduino, di mana berkas kode utama dengan ekstensi ino akan hubungkan dengan berkas-berkas lain. Telah disediakan pula rutin utama C++ (fungsi main) yang memanggil fungsi setup dan loop dari file kode utama berekstensi ino. Kombinasi pustaka Arduino dengan aturan kompilasi (Makefile avr-gcc) ini memudahkan siapa saja menggunakan Arduino tanpa harus faham tentang C++. Sehingga orang awam pun bisa menjadi seniman digital, bisa mempelajari Arduino dengan mudahnya. Plugin yang disediakan pada software Arduino memungkinkan komunitas untuk menambahkan bermacam compiler lain selain avr-gcc, bahkan dukungan untuk prosesor lain selain Atmel AVR.

 Jenis 

 Arduino Uno 
Jenis yang ini adalah yang paling banyak digunakan. Terutama untuk pemula sangat disarankan untuk menggunakan Arduino Uno. Banyak sekali referensi yang membahas Arduino Uno. Versi yang terakhir adalah Arduino Uno R3 (Revisi 3), menggunakan ATMEGA328 sebagai pengendali mikronya, memiliki 14 pin I/O digital dan 6 pin input analog. Untuk pemprograman cukup menggunakan koneksi USB type A to To type B. Sama seperti yang digunakan pada USB printer.

 Arduino Due 
Berbeda dengan saudaranya, Arduino Due tidak menggunakan ATMEGA, melainkan dengan chip yang lebih tinggi ARM Cortex CPU. Memiliki 54 I/O pin digital dan 12 pin input analog. Untuk pemprogramannya menggunakan Micro USB, terdapat pada beberapa handphone.

 Arduino Mega 
Mirip dengan Arduino Uno, sama-sama menggunakan USB type A to B untuk pemprogramannya. Namun, Arduino Mega, menggunakan Chip yang lebih tinggi ATMEGA2560. Dan tentu saja untuk Pin I/O Digital dan pin input Analognya lebih banyak dari Uno.

 Arduino Leonardo 
Bisa dibilang Leonardo adalah saudara kembar dari Uno. Namun banyaknya pin I/O digital, pin input Analog, dan input output PWM berbeda dari Arduino Uno. Hal ini dikarenakan Arduino Leonardo menggunakan pengendali mikro ATmega32u4.

ATMega32u4 ini telah memiliki fitur komunikasi USB yang terintegrasi, sehingga pada Arduino Leonardo tidak memerlukan tambahan pengendali mikro pengatur komunikasi USB ke TTL Serial seperti yang terdapat pada board Arduino Uno yang menggunakan tambahan ATMEGA16U2 disamping ATMEGA328P. Dengan ATMega32u4, memungkinkan Arduino Leonardo untuk berkomunikasi sebagai Keyboard/Mouse dengan protokol USB-HID menggunakan pustaka Keyboard.

 Arduino Fio 
Bentuknya lebih unik, terutama untuk socketnya. Walau jumlah pin I/O digital dan input analognya sama dengan uno dan leonardo, tapi Fio memiliki Socket XBee. XBee membuat Fio dapat dipakai untuk keperluan projek yang berhubungan dengan wireless.

 Arduino Lilypad 
Bentuknya yang melingkar membuat Lilypad dapat dipakai untuk membuat projek unik. Seperti membuat amor iron man misalkan. Hanya versi lamanya menggunakan ATMEGA168, tapi masih cukup untuk membuat satu projek keren. Dengan 14 pin I/O digital, dan 6 pin input analognya.

 Arduino Nano 
Sepertinya namanya, Nano yang berukuran kecil dan sangat sederhana ini, menyimpan banyak fasilitas. Sudah dilengkapi dengan FTDI untuk pemograman lewat Micro USB. 14 Pin I/O Digital, dan 8 Pin input Analog (lebih banyak dari Uno). Dan ada yang menggunakan ATMEGA168, atau ATMEGA328.

 Arduino Mini 
Fasilitasnya sama dengan yang dimiliki Nano. Hanya tidak dilengkapi dengan Micro USB untuk pemograman. Dan ukurannya hanya 30 mm x 18 mm saja.

 Arduino Micro 
Ukurannya lebih panjang dari Nano dan Mini. Karena memang fasilitasnya lebih banyak yaitu; memiliki 20 pin I/O digital dan 12 pin input analog.

 Arduino Ethernet 
Ini arduino yang sudah dilengkapi dengan fasilitas ethernet. Membuat Arduino kamu dapat berhubungan melalui jaringan LAN pada komputer. Untuk fasilitas pada Pin I/O Digital dan Input Analognya sama dengan Uno.

 Arduino Esplora 
Rekomendasi bagi kamu yang mau membuat gadget sepeti Smartphone, karena sudah dilengkapi dengan Joystick, button, dan sebagainya. Kamu hanya perlu tambahkan LCD, untuk lebih mempercantik Esplora.

 Arduino Robot 
Ini adalah paket komplet dari Arduino yang sudah berbentuk robot. Sudah dilengkapi dengan LCD, Speaker, Roda, Sensor Infrared, dan semua yang kamu butuhkan untuk robot sudah ada pada Arduino ini.

 Contoh program 
int LED_PIN = 13;

void setup ()
{
    pinMode (LED_PIN, OUTPUT);     // aktifkan pin 13 untuk output digital
}

void loop ()
{
    digitalWrite (LED_PIN, HIGH);  // menyalakan LED
    delay (2000);                  // Tunggu 2 detik (2000 millisekon)
    digitalWrite (LED_PIN, LOW);   // matikan LED
    delay (2000);                  // Tunggu 2 detik
}

 Papan yang kompatibel dengan Arduino 
Karena rancangan hardware dan software Arduino bersifat open-source, produsen lain bebas untuk menirunya, misalnya:
 SENTSOR Uno Plus
Freeduino
 Robotdyn
 Freeduino MaxSerial
 Zigduino
 Panjerino

 Bacaan lanjutan 
 Getting Started with Arduino; Massimo Banzi, Michael Shiloh; 262 pages; 2014; .
 Make: Sensors; Tero Karvinen, Kimmo Karvinen, Ville Valtokari; 400 pages; 2014; .
 Arduino For Dummies; John Nussey; 446 pages; 2013; .
 Programming Arduino Next Steps: Going Further with Sketches; Simon Monk; 2013; .
 Exploring Arduino: Tools and Techniques for Engineering Wizardry; Jeremy Blum; 384 pages; 2013; .
 Arduino Workshop: A Hands-On Introduction with 65 Projects; John Boxall; 392 pages; 2013; .
 Beginning C for Arduino: Learn C Programming for the Arduino and Compatible Microcontrollers; Jack Purdum; 280 pages; 2012; .
 Programming Arduino: Getting Started With Sketches; Monk Simon; 162 pages; 2011; .
 Arduino: A Quick Start Guide; Maik Schmidt; Pragmatic Bookshelf; 276 pages; 2011; .
 Make: Electronics (Learning by Discovery); Charles Platt; 352 pages; 2009; .

 Referensi 

 Pranala luar 
 Situs resmi Arduino