«

»

Jul 22

Arduino-Lite : Solusi Ringan untuk Arduino

Banyak orang suka dengan cara dan kemudahan yang ditawarkan oleh Arduino, namun banyak juga yang tidak suka karena machine code yang dihasilkan lumayan gemuk.

Untuk sejumlah aplikasi yang menuntut kecepatan, program yang gemuk tentu menjadi masalah, karena memerlukan lebih banyak waktu untuk meng-eksekusinya. Sebagai contoh, eksekusi fungsi digitalWrite() yang memerlukan waktu hingga 3.3 mikrodetik. Padahal, fungsi serupa dapat dibuat dengan waktu eksekusi hanya 125 nanodetik saja. Penjelasan contoh yang satu ini dapat dilihat di tulisan – Fungsi digitalWrite() pada Arduino.

Untuk mengatasi “masalah” tersebut, sejumlah pengembang melakukan sejumlah modifikasi, seperti yang dilakukan oleh tim Robopeak dari China. Mereka mengembangkan Arduino Lite, sebuah cara untuk menghasilkan machine code yang lebih ramping, namun tetap mempertahankan kemudahan yang diusung oleh Arduino. Proyek open source ini dapat disimak melalui repository mereka.

Dalam penjelasannya, mereka menawarkan sejumlah keunggulan:

  1. Machine code yang dihasilkan lebih kecil dibanding library asli dari Arduino, bisa berkurang hingga 50%.
  2. Sejumlah fungsi di-eksekusi dengan efisien. Beberapa diantaranya di-eksekusi selama satu siklus clock saja.
  3. Mendukung lebih banyak pilihan chip AVR serta menyediakan sejumlah pilihan frekuensi.
  4. Menggunakan rujukan Bahasa C murni.

Dari hasil pengujian yang dilakukan, untuk aplikasi LED Fading, Arduino Original menghasilkan machine code ~ 2048 byte, sementara Arduino Lite menghasilkan ~ 100 byte!

Selamat ngoprek! 🙂