Perbandingan Asas Diantara MicroPython Dan Arduino

Kita tahu Arduino merupakan “raja” untuk platform pengawal mikro. Semenjak saya mula mengaturcara pengawal mikro menggunakan Python, saya sudah jatuh hati. Walaupun masih tiada banyak rujukan, tetapi disebabkan bahasa dan cara ia beroperasi membuatkan saya rasa ia sangat berpotensi untuk menjadi “The Next Arduino”. Untuk kiriman kali ini, saya akan berkongsi secara ringkas perbandingan diantara MicroPython dan Arduino.

1. Bahasa Pengaturcaraan

Saya akan mulakan dengan bahasa itu sendiri sebab itu yang paling jelas sekali. Arduino menggunakan C/C++ manakala MicroPython menggunakan bahasa yang sangat menghampiri Python 3. Kenapa menghampiri? Kenapa tak exactly Python? Ok, Python itu satu bahasa yang tinggi dan mempunyai library yang besar. Selalunya ia digunakan di komputer yang mempunyai storan dan RAM yang besar, jadi tiada masalah untuk jalankan perisian Python secara penuh. Berbeza dengan pengawal mikro, ia mempunyai saiz flash dan RAM yang jauh lebih kecil berbanding komputer, jadi bahasa Python itu diubahsuai untuk menjadi lebih ringan, dinamakan MicroPython.

2. Cara Beroperasi

Perbandingan kedua kita lihat bagaimana ia dikendalikan. Untuk Arduino, kita akan menulis kod di Arduino IDE. Kemudian bagi membolehkan kod itu dijalankan di pengawal mikro, kita perlu compile dahulu untuk menghasilkan hex file dan kita perlu upload ke pengawal mikro. Jadi proses compile dan upload ini memakan sedikit masa, dan perlu diulang-ulang selagi mana kita edit kod tersebut. Untuk MicroPython pula, file yang akan ditulis tersimpan di dalam pengawal mikro. Jadi kita hanya perlu save dan run untuk melihat hasilkan. Ia tidak melibatkan compile untuk menghasilkan file hex dan upload seperti Arduino.

3. Keperluan Minimum

Seterusnya MicroPython memerlukan saiz flash dan memory yang lebih besar. Minimum requirement pengawal mikro untuk menjalankan MicroPython adalah 256kB flash, 64kB RAM dan 70MHz untuk clock. Jadi MicroPython tidak menyokong board pengawal mikro seperti Arduino Uno, Nano, dan Mega. Jika anda gunakan board seperti ESP8266 atau ESP32, ya anda boleh gunakan bersama MicroPython.

4. Kelebihan Bahasa dan Komuniti

Jadi boleh ke MicroPython ini menggantikan Arduino? Ok, kalau kita lihat pada bahasa itu sendiri, Python adalah bahasa yang lebih tinggi berbanding Arduino yang menggunakan C/C++. Jadi, semakin tinggi bahasa tersebut, semakin mudah untuk dipelajari. Tapi jika kita lihat pada komuniti, untuk waktu sekarang, Arduino lebih besar. Bila komuniti besar, lebih mudah untuk kita dapatkan contoh-contoh kod dan library untuk membuat sesuatu projek. Komuniti MicroPython boleh dikatakan dalam fasa growing dan anda masih boleh dapatkan contoh-contoh program di internet cuma tidaklah sebanyak Arduino.

Pendapat Peribadi

Saya secara peribadi sedang mencuba dan belajar menggunakan MicroPython atau Python untuk pengawal mikro secara lebih menyeluruh. Bagi saya tak mustahil suatu hari nanti kita akan lihat bahasa Arduino akan jadi lebih teknikal berbanding MicroPython, seperti Arduino dan PIC 10 tahun yang lepas.


Semoga perkongsian ini bermanfaat. Bagi membolehkan saya terus mengusahakan blog ini, amatlah berbesar hati sekiranya tuan/puan dapat memberi sumbangan ikhlas bagi menampung kos (hosting, domain, masa, barang, dll). Terima kasih. Maybank Idris Zainal Abidin 162731011315

Leave a Reply