Semua Tentang Arduino, Sebuah Platform Sumber-Terbuka

Sudahkah kalian mengenal Arduino dan mengetahui apa yang membuatnya paling populer di antara platform mikrokontroler lainnya?

arduino_logo

Apa itu Arduino? Arduino merupakan sebuah perusahaan yang mengembangkan perangkat keras dan perangkat lunak komputer dengan nama yang sama, Arduino. Produk mereka bersifat sumber-terbuka (open-source) dan terdiri dari dua bagian utama yaitu perangkat keras (berupa papan sirkuit mikrokontroler) dan perangkat lunak (Arduino IDE). Arduino IDE merupakan sebuah perangkat lunak IDE (program komputer terpadu untuk pengembangan perangkat lunak, selengkapnya baca di: Wikipedia) yang digunakan untuk menulis dan mengunggah kode dari komputer ke mikrokontroler.

Dengan menggunakan Arduino, akan mempermudah kita untuk merakit dan mengembangkan sebuah sistem papan sirkuit elektronika. Kita cukup memngunggah kode yang telah dibuat di Arduino IDE ke mikrokontroler Arduino (selanjutnya cukup disebut Arduino saja). Selebihnya biarkan ia bekerja. Hanya itu. Ini sangatlah sederhana dibanding saat dulu di mana ada banyak langkah dan kemampuan yang harus dikuasai terlebih dahulu, misalnya menguasai bahasa assembly.

Apa saja yang bisa dilakukan Arduino? Sangat banyak. Misalnya saja:

  • Mendeteksi dan mengirim laporan mengenai suhu lingkungan sekitar
  • Lampu yang otomatis menyala ketika gelap
  • Membuat sensor parkir
  • Pendeteksi gempa dan otomatis mematikan listrik rumah
  • Mengontrol mobil RC menggunakan smartphone
  • Membunyikan alarm ketika suatu gerakan terdeteksi
  • Monitoring pertumbuhan tumbuhan
  • Mengirim peringatan ke smartphone ketika terdapat orang yang tidak dikenal mencoba masuk ke rumah
  • Menghidupkan lampu menggunakan perintah suara
  • Membuat robot
  • Dan hal gila lainnya

Bagaimana? gila bukan 😀 ? Ayo kita bahas lebih jauh mengenai hal gila ini. Mari kita mulai dengan:


Perangkat Keras dan Perangkat Lunak

Seperti yang telah disebutkan, terdapat dua bagian utama yaitu perangkat keras dan lunak. Perangkat lunak yang berupa sebuah IDE berfungsi untuk menulis dan mengunggah kode dari komputer ke Arduino. Bahasa yang digunakan yaitu C dan C++. Kode yang ditulis di Arduino IDE disebut dengan sketch. Kalian bisa mengunduh IDE-nya secara gratis (tentu saja) di situs resminya.

Tidak dibutuhkan perangkat keras lainnya untuk mengunggah kode. Kita cukup menghubungkan Arduino ke komputer via USB. Sangat berbeda jika dibandingkan dengan saat sebelum Arduino diciptakan, dibutuhkan beberapa perangkat keras terpisah untuk mengunggah kode, yang disebut programmer. Selain itu, ini menjadi lebih sederhana karena bahasa pemrograman yang digunakan yaitu C dan C++ sehingga hanya dibutuhkan kurang dari 10 baris untuk membuat lampu berkedip.

Capture

Perangkat keras (kiri) yang merupakan sebuah papan sirkuit mikrokontroler dengan jenis Arduino Uno. Dan Arduino IDE (kanan)


Apa Itu Mikrokontroler? Dan Apa Bedanya dengan Mikroprosesor?

Pada dasarnya, mikrokontroler itu adalah sebuah sistem mikroprosesor / prosesor. Mikrokontroler dan prosesor sama-sama dikemas dalam bentuk chip / IC (Integrated Circuit) dan menjadi otak dari sebuah perangkat elektronik. Perbedaannya, prosesor hanya berupa CPU saja sedangkan mikrokontroler sudah terdapat komponen pendukung lainnya yaitu RAM, ROM, antarmuka I/O, dan CPU itu sendiri. Namun secara performa, mikrokontroler hanya dapat menangani tugas yang lebih sederhana, contohnya mikrokontroler yang ada pada kalkulator. Kesimpulannya, mikrokontroler sudah pasti memiliki fungsi dari prosesor (CPU) sedangkan prosesor membutuhkan komponen lain untuk bekerja, misalnya RAM dan sebagainya.


Keluarga Arduino

Arduino memiliki banyak jenis papan (board) untuk menangani tugas dan tingkat kompleksitas yang berbeda. Berikut ini adalah papan yang paling populer:

A. Arduino Uno

Arduino Uno merupakan pilihan yang paling tepat bagi yang ingin memulai proyek Arduino dan karena itu papan jenis ini sangat banyak digunakan. Memiliki 14 pin digital (6 pin di antaranya dapat digunakan untuk output PWN), 6 pin analog, voltase sebesar 5v, memiliki port USB, power jack, dan sebagainya. Ini sudah cukup untuk keperluan belajar mikrokontroler. Untuk sumber tegangannya terdapat 3 opsi, langsung dari komputer via USB, menggunakan adaptor DC ke power jack, dan menggunakan baterai. Tiga opsi sumber tegangan ini juga dimiliki oleh papan lainnya.

arduino-uno-rev3

B. Arduino Mega

Ini adalah versi lanjutan dari Arduino Uno. Memiliki jumlah pin yang lebih banyak, yaitu 54 pin digital (15 di antaranya dapat digunakan untuk output PWM) dan 16 pin analog sehingga dapat membuat proyek yang lebih besar dan kompleks.

arduino-mega-2560

C. Arduino Yun

Papan jenis ini dikhususkan untuk proyek IoT (Internet of Things) sehingga selain memiliki pin input-output, papan ini juga sudah dilengkapi ethernet dan WiFi serta slot SD card. Pin yang dimiliki yaitu 20 pin digital (7 pin PWM) dan 12 pin analog.

51875-IMG_8113


Apa Saja yang Ada di Arduino?

Ada banyak jenis papan yang berbeda dan memiliki jumlah pin, ukuran, dan fitur yang berbeda pula. Namun secara garis besar Arduino memiliki komponen utama yang sama, yaitu:

arduino_uno_part

A. Port USB (1) dan Power Jack (2)

Port USB berfungsi untuk memasok sumber daya dari komputer serta mengunggah kode ke Arduino. Tipe USB yang digunakan adalah tipe B standar dan ujung satunya tipe A standar. Selain dari USB, sumber daya dapat dipasok dari baterai 9 volt atau bisa juga melalui power jack yang dihubungkan langsung dengan soket listrik rumah (melalui adaptor DC 12 volt). Perhatikan bahwa Arduino memiliki batas voltase antara 6 hingga 20 volt dengan rentang yang disarankan yaitu 7 hingga 12 volt. Jangan sekali-kali memberikan input lebih besar dari 20 volt, kecuali jika kalian ingin melihat asap. Tegangan kurang dari 6 volt juga tidak diizinkan karena akan mengakibatkan Arduino tidak stabil.

B. Chip Utama / Mikrokontroler (3)

Chip (atau Integrated Circuit) Inilah otak dari Arduino. Chip yang digunakan biasanya ATmega yang merupakan buatan perusahaan ATMEL. Jenis chip yang digunakan dapat berbeda-beda di beberapa jenis papan Arduino.

C. LED Indikator Daya (4)

LED yang berlabel ‘ON’ ini akan menyala ketika Arduino sedang beroperasi.

D. LED Indikator Transfer Data (5)

Terdapat dua LED, yaitu TX (transmit) dan RX (receive). Kedua LED ini akan berkedip untuk memberitahukan telah terjadi komunikasi serial berupa pengiriman atau penerimaan data. Misalnya, LED RX akan berkedip-kedip ketika menunggah kode dari komputer ke Arduino.

E. Pin Sumber Daya (6)

Pin memiliki fungsi yang vital, karena pin inilah yang menjadi interface dengan perangkat lainnya, seperti sensor atau aktuator. Digunakan kabel (jumper) untuk menghubungkan antara Arduino dan perangkat lain. Walaupun jumlah pin dapat berbeda di tiap jenis papan, namun tetap terdiri dari tiga kelompok utama yaitu sumber daya, analog, dan digital.

Pada Arduino Uno, terdapat:

  • 1 buah pin Vin. Jika sumber daya Arduino berasal dari baterai, maka sambungkan kabel positifnya ke pin input ini.
  • 2 buah pin GND. Merupakan singkatan dari ground. Terdapat tiga buah pin GND (yang satu ada di barisan pin digital) dan semuanya dapat digunakan untuk sambungan ke ground.
  • 1 buah pin 5V. Menyediakan tegangan sebesar 5 volt.
  • 1 buah pin 3V3. Menyediakan tegangan sebesar 3,3 volt. Sebagian besar perangkat elektronika yang digunakan bersama dengan Arduino berjalan pada rentang tegangan 3,3 hingga 5 volt.

F. Pin Analog (7)

Semua pin analog hanya bersifat input dan digunakan untuk menerima sinyal analog dari, misalnya, sensor suhu. Sinyal analog yang telah diterima Arduino terlebih dahulu di ubah ke digital sebelum diproses lebih lanjut.

G. Pin Digital (8)

Pada Arduino Uno, terdapat 14 pin digital yang digunakan untuk input/output dari atau ke perangkat digital. Contohnya adalah input dari sensor gerak atau output ke lampu LED. Dua pin pertama (pin ke-0 dan 1) merupakan pin RXD dan TXD yang berfungsi sebagai receive-taransmit digital.

Sedikit tambahan mengenai perbedaan analog dan digital. Perbedaannya terletak pada jumlah state yang mungkin pada setiap trnasmisi sinyal. Jika pada digital nilainya dapat di cacah yaitu terdiri dari dua state yaitu hidup atau mati / satu atau nol (diskrit), maka pada analog jumlah state-nya tidak terbatas karena selalu terdapat ‘nilai antara’ di antara nol dan satu (kontinyu).

Lalu bagaimana jika ingin mengatur kecepatan putaran dinamo? Jika menggunakan pin output digital kita hanya mampu memberikan perintah hidup atau mati. Menggunakan pin analog? Tidak bisa, karena pin-pin tersebut hanya berupa input. Jawabanya adalah menggunakan PWM (coba perhatikan pin yang berlabel tilde (‘~’), yaitu pada pin 3, 5, 6, 9, 10, dan 11). Pin yang berlabel PWM selain dapat digunkan sebagai input/ouput digital biasa, juga dapat digunakan untuk output PWM yang berarti dapat mensimulasikan output analog (seperti mengatur kecepatan dinamo atau kecerahan lampu LED). PWM bukan analog, melainkan hanya mensimulasikan sinyal analog. Dengan pin PWM, kita dapat memberikan nilai yang bervariasi mulai dari 0 hingga 255. Mengapa batasnya 255? Karena jika diubah ke biner, maka akan menghasilkan nilai berjumlah 8 digit yaitu 11111111. Ini adalah nilai maksimal yang disediakan oleh pin PWM. Selain itu Arduino Uno juga merupakan perangkat digital dengan arsitektur 8-bit (akan saya bahas di artikel lain).

H. Tombol Reset (9)

Ketika tombol ini ditekan selama beberapa detik, maka Arduino akan mengulang program dari awal. Ini kita lakukan jika tidak memiliki fungsi perulangan pada kode yang telah diunggah ke Arduino atau jika kesalahan terjadi.

I. Regulator Tegangan (10)

Regulator tegangan berfungsi sebagai penjaga gerbang yang berarti ia akan mengalirkan tegangan terlegulasi ke Arduino dan membuang tegangan berlebih. Namun tentu saja ada batasnya, jangan sampai mengalirkan tegangan lebih dari 20 volt karena akan membakar rangkaian Arduinonya.


Pelengkap dan Penunjang

Arduino tidak bisa berdiri sendiri tanpa perangkat lain yang terhubung dengannya. Kalian dapat menggunakan sensor, aktuator, atau perangkat lain yang disesuaikan dengan proyek yang akan dibuat.

A. Sensor

Ini adalah komponen penting yang berfungsi agar proyek elektronika yang kita buat dapat mengetahui adanya perubahan di lingkungan sekitarnya. Beberapa sensor yang sering digunakan yaitu:

  • Sensor suhu
  • Sensor gerak
  • Sensor ultrasonik
  • Sensor cahaya

sku_142834_1

B. Arduino Shield

Merupakan module board tambahan yang dipasang persis di atas Arduino yaitu dengan cara menghubungkan tiap pin-pin nya (mungkin karena itu dinamakan shield). Shield memberikan fungsi tambahan misalnya komunikasi WiFi, Bluetooth, Motor Controller, komunikasi seluler/GSM, dsb.

arduino-shield-2


Memulai Proyek Arduino

Pertama, tentukan jenis Arduino mana yang akan digunakan (rekomendasi saya pilih Arduino Uno) dan perlengkapan lainnya. Sebagai contoh, jika fokus di IoT, maka perlengkapan tambahan yang dibutuhkan adalah sensor dan modul komunikasi (WiFi, GSM module, dsb). Kalau tidak yakin, kalian bisa beli Arduino Uno Starter Kit. Di dalamnya sudah termasuk berbagai komponen utama seperti sensor suhu, LED, jumper, dan breadboard (Baca: Apa itu dan bagaimana cara menggunakannya?). Pilihan lain yang lebih minimal yaitu beli Arduino Uno, jumper, breadboard, dan sebuah sensor.

Setelah memiliki peralatan dan perlengkapan yang dibutuhkan, kalian bisa mempelajari tutorial proyek Arduino yang sudah banyak di internet. Berikut ini daftar situs yang menyediakan tutorial serta berbagai proyek Arduino yang telah tercipta:

  1. Instructables
  2. Arduino Playground
  3. Sparkfun
  4. Adafruit

Tambahan

Kalau kalian belum cukup puas dengan performa Arduino dan ingin membuat proyek yang lebih besar, kalian mungkin boleh mencoba platform mikroporsesor yang lebih advanced lainnya, seperti Raspberry Pi atau Udoo. FYI, performa yang dimiliki Udoo setara dengan 4 Raspberry Pi ditambah dengan 1 Arduino Due. Woah!

Referensi

Arduino Official Website
Wikipedia
Hendriono

P.S. Kedepannya, akan saya tautkan seluruh artikel mengenai Arduino di sini. So, stay tuned!


   One Comment


Tinggalkan Balasan