Bahasa pemrograman apa yang harus Anda gunakan untuk proyek mikrokontroler Anda? Mari jelajahi empat opsi terbaik.

Papan pengembangan mikrokontroler telah menjadi bahan pokok di antara komunitas pembuat. Perangkat yang dapat diprogram ini dirancang khusus untuk memproses sinyal input dan output sebagai cara untuk mengontrol berbagai modul dan komponen seperti sensor, motor, LED, dan perangkat input manusia (HID).

Namun sebelum itu, Anda harus mempelajari bahasa skrip yang dapat ditafsirkan oleh mikrokontroler untuk memprogram perangkat ini. Bahasa mikrokontroler paling populer saat ini termasuk MicroPython, CircuitPython, Arduino (C++ yang disederhanakan), dan C. Masing-masing bahasa ini memiliki pro dan kontra sendiri.

MikroPython

MicroPython adalah implementasi ringan dari bahasa pemrograman Python 3 yang dirancang khusus untuk mikrokontroler. Itu dirilis pada 2013 oleh Dr. Damien George untuk pembuatan prototipe yang lebih cepat dan untuk memungkinkan orang yang sudah terbiasa dengan Python memprogram mikrokontroler dengan bahasa yang sama.

instagram viewer

Fitur

MicroPython adalah bahasa skrip yang sangat baik untuk pemula yang ingin memprogram mikrokontroler. Pemula tanpa pengalaman pengkodean akan mudah dibaca dan dipahami karena menggunakan perintah yang dapat dibaca manusia dalam struktur sederhana. Selain itu, ia menggunakan lingkungan runtime read-evaluate-print-loop (REPL), yang memungkinkan pengalaman pengkodean interaktif.

Pertunjukan

Untuk memprogram mikrokontroler menggunakan MicroPython, firmware yang berisi interpreter, pustaka, dan berbagai dependensi lainnya di-flash ke mikrokontroler. Ini memungkinkan kode MicroPython untuk ditafsirkan dan dieksekusi secara lokal oleh mikrokontroler, memungkinkan pembuatan prototipe cepat karena umpan balik langsung dapat diberikan saat pengkodean.

Namun, karena bagaimana prosesor mengeksekusi kode, bahasa yang ditafsirkan seperti MicroPython akan jauh lebih lambat jika dibandingkan dengan bahasa yang dikompilasi seperti C++. Jadi, secara default, meskipun pembuatan prototipe bisa lebih cepat, eksekusi kode itu sendiri lebih lambat.

Kesesuaian

Karena MicroPython menggunakan sumber daya lokal untuk menafsirkan dan menjalankan program, mikrokontroler harus memiliki memori flash minimal 256kB dan RAM 16kB. Sayangnya, beberapa papan pengembangan populer seperti Arduino Uno tidak memenuhi spesifikasi yang dibutuhkan. Namun, masih banyak papan yang kompatibel dengan MicroPython.

Saat ini, MicroPython secara resmi mendukung Pyboard, ESP32, ESP8266, Raspberry Pi Pico, BBC micro: bit, Papan pengembangan STM32, dan beberapa papan Arduino seperti Nano 33 BLE, Nano RP2040, Giga R1, dan Portenta H7.

Komunitas dan Dukungan

Sejak diluncurkan pada tahun 2013, MicroPython telah mengumpulkan banyak pengikut. Pemula harus memiliki waktu yang mudah mempelajari MicroPython dengan dokumentasi yang ditulis dengan baik. Jika Anda memerlukan bantuan lebih lanjut, MicroPython juga memiliki forum komunitas tempat pengguna berbagi tutorial, ide, dan menjawab semua jenis masalah yang mungkin Anda miliki terkait MicroPython.

Arduino

Arduino adalah platform sumber terbuka populer yang terutama ditujukan untuk penggemar elektronik dan DIY. Bahasa pemrograman Arduino didasarkan pada bahasa pemrograman C dan C++. Bahasa Arduino dirilis pada tahun 2005 oleh sekelompok insinyur, seniman, dan desainer dari Italia.

Fitur

Bahasa pemrograman Arduino menggunakan versi C dan C++ yang dipreteli, membuatnya mudah untuk dipelajari dan dikembangkan. Eksekusi kode menggunakan Arduino secara signifikan lebih cepat daripada rekan bahasa yang ditafsirkan karena sifatnya yang dikompilasi. Selain itu, Arduino hanya membutuhkan sedikit sumber daya sistem untuk bekerja, membuatnya kompatibel dengan banyak papan pengembangan dan mikrokontroler.

Pertunjukan

Tidak seperti MicroPython dan CircuitPython, Arduino adalah bahasa pemrograman yang dikompilasi. Ini berarti kode pertama kali dikompilasi pada kompiler (sudah termasuk dalam Arduino IDE) dan kemudian dieksekusi sebagai program utuh oleh mikrokontroler.

Ini secara signifikan meningkatkan eksekusi kode karena mikrokontroler tidak harus menggunakan sumber daya untuk menginterpretasikan setiap baris kode. Selain itu, kompilasi program juga menerjemahkannya ke dalam kode mesin yang dapat dijalankan oleh mikrokontroler secara native tanpa menginstal dependensi.

Ini secara signifikan meningkatkan kecepatan eksekusi kode karena mikrokontroler dapat langsung mengeksekusi program tanpa mengalokasikan waktu dan sumber daya perangkat keras untuk menerjemahkan kode.

Papan yang Didukung

Karena tahap kompilasi dilakukan melalui IDE, mikrokontroler dapat memiliki memori flash minimal 32kB dan RAM 2kB untuk bekerja. Jadi selain papan Arduino, ada banyak alternatif papan Arduino dapat Anda gunakan untuk memprogram dengan Arduino. Banyak dari board ini akan menggunakan mikrokontroler seperti ATmega328P, ATmega2560, SAMx8E, ESP8266, ESP32, dan STM32.

Komunitas dan Dukungan

Menjadi platform sumber terbuka sejak 2005, Arduino memiliki beberapa dokumentasi terbaik yang tersedia. Arduino Foundation secara aktif memberikan pembaruan, dukungan, dan produk baru yang menarik setiap tahun. Komunitas di seluruh dunia juga merupakan salah satu yang paling aktif dalam berbagi panduan dan ide serta menjawab setiap masalah pemecahan masalah yang mungkin Anda temui. Dengan Arduino, Anda dijamin mendapatkan tingkat dukungan yang baik.

CircuitPython

CircuitPython adalah implementasi Python 3 Adafruit, dibangun di atas MicroPython. Meskipun bercabang dari MicroPython, CircuitPython menawarkan beberapa peningkatan untuk membuat belajar mikrokontroler menjadi mudah dan menyenangkan.

Fitur

CircuitPython dibuat untuk membantu pemula mempelajari cara memprogram mikrokontroler. Untuk mencapainya, CircuitPython menyediakan beberapa fitur, termasuk pengkodean interaktif lingkungan, perpustakaan bawaan, sintaks sederhana (lebih sederhana dari MicroPython), dan dokumentasi yang sangat baik dan panduan.

Pertunjukan

Karena CircuitPython didasarkan pada MicroPython, ia memiliki banyak kekuatan dan kelemahan yang sama. Waktu berjalan program akan sedikit lebih lambat daripada MicroPython karena CircuitPython menyediakan lebih banyak fitur dan pustaka tambahan. Namun, perbedaannya mungkin tidak terlalu mencolok karena CircuitPython membutuhkan mikrokontroler yang lebih mumpuni untuk bekerja.

Papan yang Didukung

Dengan perpustakaan terintegrasi dan sintaks yang lebih sederhana, papan pengembangan mikrokontroler membutuhkan lebih banyak sumber daya untuk menggunakan CircuitPython. Minimal, mikrokontroler harus memiliki prosesor 8-bit, memori flash 256kB (disarankan 512kB), dan RAM 32kB (disarankan 64kB). Saat ini, CircuitPython mendukung lebih dari 390 papan pengembangan, terdaftar di situs web resmi.

Komunitas dan Dukungan

Adafruit dikenal membuat produk yang ramah bagi pemula. Dengan demikian, Anda dapat menemukan dokumentasi dan buku yang mudah dipahami di CircuitPython. Meskipun bahasa ini baru diperkenalkan pada tahun 2017, bahasa ini masih memiliki pengikut yang lebih banyak daripada MicroPython, yang dapat Anda jangkau melalui Discord dan forum resminya. Seperti Yayasan Arduino, Adafruit secara aktif memberikan pembaruan, dukungan, dan produk baru, yang berarti dukungan harus mudah ditemukan.

C

C adalah bahasa pemrograman tujuan umum yang dikembangkan pada tahun 1970-an oleh Dennis Ritchie di Bell Labs. Ini adalah bahasa pemrograman terkompilasi yang sering digunakan oleh para insinyur dan profesional lainnya untuk memprogram mikrokontroler dengan tingkat efisiensi yang tinggi.

Fitur

Meskipun bahasa yang lebih sulit untuk dipelajari, keunggulan utama C dibandingkan MicroPython, CircuitPython, dan Arduino adalah tingkat kecepatan, efisiensi, kontrol, dan portabilitas yang disediakannya. Ini menjadikan C bahasa terbaik untuk memprogram kedua mikrokontroler untuk digunakan dalam produk jadi.

Pertunjukan

Selain portabilitasnya yang hebat, C dikenal dengan kinerjanya. Itu dapat menjalankan program lebih cepat daripada Arduino, MicroPython, dan CircuitPython, bahkan dengan mikrokontroler sumber daya yang lebih rendah. Ini karena C adalah bahasa yang lebih efisien, membutuhkan ketergantungan paling sedikit. Meskipun program Arduino yang dikompilasi dapat, seperti C, dijalankan pada perangkat keras bare-metal, kode mesinnya sudah dibuat sebelumnya dengan pustaka dan alat yang mengurangi kinerja.

Papan yang Didukung

Bahasa C sangat portabel sehingga dapat digunakan untuk memprogram hampir semua mikrokontroler berbasis Arm. Selain itu, dapat digunakan pada papan berbasis mikrokontroler Atmel AVR, STM32, PIC, dan MSP.

Komunitas dan Dukungan

Karena aplikasi pemrogramannya yang kuat dan faktanya sudah berumur beberapa dekade, bahasa pemrograman C memiliki komunitas online yang sangat besar. Anda dapat dengan mudah menemukan bantuan melalui berbagai forum online, ruang obrolan, dan blog yang didedikasikan untuk berdiskusi dan berbagi ide tentang bahasa C.

Dengan Bahasa Apa Anda Harus Memprogram?

Jadi, apa bahasa terbaik untuk memprogram mikrokontroler? Itu sangat tergantung pada orangnya. Bahasa C akan menjadi yang terbaik bagi para profesional yang merancang elektronik untuk produksi.

Mereka yang tidak memiliki pengalaman coding mungkin ingin memulai dengan CircuitPython karena memiliki fitur dan dokumentasi yang membuat belajar menjadi mudah dan menyenangkan. Mereka yang akrab dengan Python akan mudah memprogram mikrokontroler dengan MicroPython.

Dan untuk sebagian besar komunitas DIY/pembuat, Arduino akan tetap menjadi bahasa pemrograman terbaik mikrokontroler, karena menawarkan keseimbangan kinerja, portabilitas, fitur, dan masyarakat.