MicroPython merupakan implementasi Python yang ringan dan efisien, yang digunakan terutama untuk perangkat dengan sumber daya terbatas seperti mikrokontroler. Berikut ini adalah komponen dasar dari sebuah program MicroPython dan bagaimana struktur tersebut diatur.
1. Komentar
Komentar digunakan untuk memberikan penjelasan pada kode. Ini berguna untuk membuat kode lebih mudah dipahami oleh orang lain (atau diri sendiri di masa depan). Komentar di MicroPython ditulis dengan awalan tanda #
.
Contoh:
# Program untuk mengedipkan LED
2. Impor Modul
Modul adalah pustaka eksternal yang memberikan akses ke fungsi-fungsi tambahan. Dalam MicroPython, modul seperti machine
dan time
sering digunakan untuk berinteraksi dengan perangkat keras dan mengontrol waktu.
Contoh:
from machine import Pin # Modul machine digunakan untuk mengontrol GPIOfrom time import sleep # Modul time digunakan untuk delay
3. Inisialisasi dan Deklarasi Variabel
Variabel digunakan untuk menyimpan nilai yang dapat digunakan di berbagai bagian program. Di MicroPython, variabel bisa berupa tipe data sederhana seperti integer, float, string, atau objek seperti GPIO.
Contoh:
led = Pin(2, Pin.OUT) # Inisialisasi GPIO 2 sebagai output untuk mengontrol LED
4. Looping
Looping digunakan untuk menjalankan sekumpulan instruksi secara berulang-ulang. Pada MicroPython, loop while
sering digunakan untuk menjalankan proses yang berkelanjutan, seperti mengontrol LED atau membaca sensor secara terus-menerus.
Contoh:
while True: led.value(1) # Nyalakan LED sleep(1) # Tunggu 1 detik led.value(0) # Matikan LED sleep(1) # Tunggu 1 detik
Dalam contoh di atas, program akan terus mengedipkan LED (nyala 1 detik, mati 1 detik) hingga mikrokontroler dimatikan atau direset.
5. Fungsi
Fungsi digunakan untuk membungkus serangkaian instruksi ke dalam satu unit yang dapat dipanggil kapan saja. Fungsi dapat membantu mengorganisasi kode dan membuatnya lebih modular.
Contoh:
def blink_led(): led.value(1) # Nyalakan LED sleep(1) led.value(0) # Matikan LED sleep(1)# Memanggil fungsi blink_led secara berulang-ulangwhile True: blink_led()
6. Pengambilan Keputusan
Pengambilan keputusan dalam MicroPython dilakukan menggunakan pernyataan if
, elif
, dan else
, yang menentukan jalur eksekusi berdasarkan kondisi.
Contoh:
button = Pin(0, Pin.IN) # Inisialisasi GPIO 0 sebagai input untuk tombolif button.value() == 1: # Jika tombol ditekan led.value(1) # Nyalakan LEDelse: led.value(0) # Matikan LED
7. Penanganan I/O
MicroPython sangat sering digunakan untuk membaca input dari sensor atau tombol dan menghasilkan output seperti mengontrol motor, mengedipkan LED, atau mengirim data.
Contoh: Mengontrol LED menggunakan tombol:
button = Pin(0, Pin.IN) # Inisialisasi tombol sebagai inputled = Pin(2, Pin.OUT) # Inisialisasi LED sebagai outputwhile True: if button.value() == 1: # Jika tombol ditekan led.value(1) # Nyalakan LED else: led.value(0) # Matikan LED
8. Menggunakan REPL (Read-Eval-Print Loop)
MicroPython menyediakan REPL, sebuah antarmuka yang memungkinkan Anda mengetik dan menjalankan perintah Python secara langsung di perangkat. Ini sangat berguna untuk debugging dan pengujian cepat.
Cara mengakses REPL:
- Sambungkan mikrokontroler ke komputer via USB.
- Gunakan program terminal (misalnya,
PuTTY
atauscreen
di Linux/Mac) untuk mengakses port serial. - Anda bisa mengetik perintah seperti:>>> led.value(1) # Nyalakan LED langsung dari REPL
>>> led.value(0) # Matikan LED
Contoh Program Dasar MicroPython: Mengedipkan LED
Berikut adalah contoh lengkap dari program MicroPython yang mengedipkan LED pada mikrokontroler ESP32/ESP8266:
# Mengimpor modul machine untuk mengontrol GPIO dan modul time untuk delayfrom machine import Pinfrom time import sleep# Inisialisasi GPIO2 sebagai output untuk mengontrol LEDled = Pin(2, Pin.OUT)# Loop utama untuk mengedipkan LEDwhile True: led.value(1) # Nyalakan LED sleep(1) # Tunggu 1 detik led.value(0) # Matikan LED sleep(1) # Tunggu 1 detik
Penjelasan Program
- Import Modul: Mengimpor modul
machine
untuk mengontrol GPIO dantime
untuk delay. - Inisialisasi Pin:
Pin(2, Pin.OUT)
menginisialisasi pin GPIO2 sebagai output untuk LED. - Loop Tak Terbatas:
while True:
adalah loop tak terhingga yang akan terus dijalankan. Di dalam loop ini, LED akan dinyalakan selama 1 detik, kemudian dimatikan selama 1 detik, dan seterusnya.
Kesimpulan
Program dasar MicroPython mencakup komentar, deklarasi variabel, pengimporan modul, penggunaan loop, dan struktur pengambilan keputusan. Ini memberi pengguna kemampuan untuk dengan cepat mengontrol perangkat keras, seperti LED dan sensor, pada mikrokontroler dengan cara yang efisien dan mudah dipahami.
Referensi :
https://micropython.org/
https://www.coderdojotc.org/micropython/basics/05-neopixel/
https://hackaday.com/2024/07/11/embedded-python-micropython-is-amazing/