Membuat Program Pertama Raspberry Pi Pico Dengan MicroPython
Pada tulisan sebelumnya, embeddednesia telah mengulas tentang kehadiran dari Raspberry Pi Pico yang merupakan board mikrokontroler pertama dari Raspberry Pi Foundation, dan dapat dibilang bersaing head to head dengan Arduino yang telah lama muncul.
Raspberry Pi Pico sebagaimana yang diketahui dapat diprogram menggunakan MicroPython dan juga C/C++, Pada tulisan kali ini embeddednesia, akan mengulas mengenai bagaimana pembaca dapat membuat program sederhana dan memulai menggunakan Raspberry Pi Pico.
- Mengenal Micropython
Sebelum memulai belajar memprogram Raspberry Pi Pico dengan Micropython, mari terlebih dahulu mengenal mengenai bahasa pemrograman micropython. Lalu apa bedanya MicroPython dengan bahasa pemrograman Python?
MicroPython adalah implementasi ulang dari bahasa pemrograman python 3 yang dikhususkan untuk perangkat mikrokontroler dan embedded. Micropython berjalan diatas “bare-metal” mikrokontroler secara langsung, tidak seperti Python yang memang dirancang berjalan diatas sistem operasi. Beberapa optimasi dibuat guna membuat micropython dapat berjalan pada perangkat dengan resource yang terbatas.
- Sejarah MicroPython
Damien P. George dan Paul Sokolovsky adalah teknisi dengan spesialisasi di Python dan project – project robotik. Mereka terinspirasi akan sebuah ide bagaimana python dapat digunakan untuk memprogram “mikrokomputer satu keping” sehingga mampu untuk mengendalikan robot.
Python sebagai bahasa pemrograman yang sederhana dan mudah dipelajari serta mendapat dukungan komunitas yang besar dipandang ideal sebagai bahasa pemrograman yang cocok buat pemula, namun Python tidak sepopuler C/C++ di ranah pemrograman bare-metal
Setelah berkutat selama 6 bulan melakukan penulisan ulang python yang ditujukan untuk pemrograman aras bawah, terciptalah MicroPython yang ditulis diatas bahasa pemrograman ANSI C. Dengan sintaks yang serupa dengan Python 3, dipersenjatai dengan parser, compiler, virtual machine dan beberapa pustaka khusus.
- Python vs MicroPython
Berbeda dengan Python yang biasa ada pada komputer rumahan. MicroPython adalah python versi ringan yang memang ditujukan untuk mikrokontroler, sehingga banyak pustaka dan fungsi yang biasa ada pada Python tidak akan didukung untuk MicroPython, sehingga praktis tidak semua grammar dalam Python bisa diaplikasikan untuk MicroPython
- Prasyarat Perangkat Keras
- Raspberry Pi Pico
Raspberry Pi Pico yang beredar di pasaran biasanya terdiri dari dua versi, versi presolder yang telah tersolder kaki-kakinya dengan pin header male, atau versi yang belum tersolder. Jika yang didapatkan adalah versi yang belum tersolder kakinya, maka pengguna harus membeli pin deret secara terpisah dan menyoldernya sendiri.
Pembaca dapat membeli Raspberry Pi Pico pada beberapa penjual di marketplace yang anda di Indonesia
- Prasyarat Perangkat Lunak
Dalam tulisan ini, penulis menggunakan komputer dengan sistem operasi windows 10.
- Mengunduh Firmware
Langkah pertama yang pertama perlu dilakukan adalah mengunduh firmware micropython dari Pico yang bisa didapatkan melalui situs MicroPython di tautan ini
Pada halaman download, pilih versi yang paling stabil. Saat tulisan ini dibuat versi yang digunakan adalah rp2-pico-20210202-v1.14.uf2 .
- Memulai Memprogram Raspberry Pi Pico
Untuk memulai mengunggah firmware, yang pertama perlu dilakukan adalah menekan dan menahan button BOOTSEL, sembari menghubungkan menggunakan kabel usb dari port Pico ke komputer yang digunakan. Lalu lepaskan button saat Pico sudah terhubung dengan komputer.
Ketika berhasil terhubung ke komputer dengan menekan button BOOTSEL, maka sebuah drive baru bernama RP-RPI2 dari Pico akan terbuka, pada drive tersebutlah, programmer dapat memasukkan firmware untuk Pico. Caranya cukup mudah, tinggal drag and drop ataupun copy paste saja file firmware yang telah diunduh tadi ke drive RP-RPI2
Setelah proses berhasil, maka drive RP-RPI2 akan otomatis tertutup, selanjutnya programmer dapat terhubung dengan REPL MicroPython menggunakan komunikasi serial.
REPL merupakan singkatan dari Read Eval Print Loop, yang merujuk kepada sebuah lingkungan interaktif dimana programmer dapat memasukkan program yang dibuatnya baris per baris dan langsung melihat hasil eksekusi dari program yang dibuat tersebut
- Terhubung ke Port Serial
Untuk terhubung ke port serial, periksa terlebih dahulu port serial berapa dari Pico. Untuk mengetahuinya, tinggal buka Device Manager, lalu ekspan pada bagian Ports ( COM & LPT )
Perhatikan, pada mesin komputer yang penulis gunakan. Port serial dari Pico terbaca di COM7
. Nilai ini boleh jadi berbeda dengan komputer yang pembaca gunakan. Setelah itu, gunakan software serial client seperti Putty ataupun MobaXTerm untuk terhubung ke port serial dimana Pico berada.
Dalam tulisan ini, digunakan MobaXTerm. Pembaca dapat mengunduhnya pada tautan ini. Saat aplikasi MobaXterm telah berjalan, klik Session yang ada di pojok kiri atas lalu pilih Serial. Kemudian isikan Serial Port yang dihubungkan. Setelah itu klik OK.
Saat sebuah terminal serial terbuka, tekan enter sehingga tanda triple chevron >>>
muncul. Sebagaimana bahasa pemrograman Python, Triple chevron pada interactive prompt berarti python sedang menunggu kita untuk memasukkan program/script.
Dalam program ini misalnya, penulis ingin membuat mebuat LED buit-in pada Pico yang terhubung dengan port GPIO 25
>>> from machine import Pin >>> led = Pin(25, Pin.OUT)
modul machine
digunakan untuk mengendalikan perangkat keras yang berada pada chip RP2040. ini merupakan modul standar pada port MicroPython. Baris kedua digunakan sebuah variabel tambahan bernama led digunakan untuk mengendalikan pin 25 dari Pico
>>> led.value(1) >>> led.value(0)
Perhatikan pada led board Pico, saat perintah led.value(1)
dieksekusi, led akan menyala. Saat led.value(0)
lampu led akan padam. Selamat kini, anda telah berhasil memprogram Raspberry P Pico dengan menggunakan MicroPython