Anda di halaman 1dari 13

Pengenalan Sistem Tertanam

Gogor C. Setyawan Sistem Tertanam - Chapter I – Introduksi MicroPyThon 2023-2024-01

MicroPython: Pengantar Perangkat Keras Pemrograman


dengan Python

Daftar isi

• Semuanya Datang Python o ESP8266 atau ESP32


o Python Di Luar Desktop o BBC Mikro: Sedikit
o Elektronik sebagai Hobi dan Jalur o Papan Bertenaga Adafruit dan
Karir CircuitPython
o Python dan STEM • Alur Kerja MikroPython
• Komputasi Fisik o REPL
o Apa itu Mikrokontroler? o Alat Baris Perintah
o Mengapa MikroPython? o IDE MicroPython
o Bagaimana dengan C++? • Menyiapkan MicroPython di Papan Anda
o Bagaimana dengan Assembler? • Membuat dan Menerapkan Kode Anda
o Bagaimana dengan DASAR? o Menulis Kode MicroPython Anda
o Bagaimana dengan Raspberry Pi? o Membuat Keluaran Digital
• Perangkat Keras MicroPython o LED memudar
o Dibangun untuk Python • Kesimpulan

Memulai MicroPython

Apakah Anda tertarik dengan Internet of Things, otomatisasi rumah, dan perangkat yang terhubung?
Pernahkah Anda bertanya-tanya bagaimana rasanya membuat blaster, pedang laser, atau bahkan robot
Anda sendiri? Jika demikian, maka Anda beruntung! MicroPython dapat membantu Anda
melakukan semua hal itu dan lebih banyak lagi.

Dalam materi ini, Anda akan belajar tentang:


• Sejarah MikroPython _
• Perbedaan antara MicroPython dan bahasa pemrograman lainnya
• Perangkat keras yang akan Anda gunakan untuk membuat perangkat
• Proses menyiapkan, membuat kode, dan menerapkan proyek MicroPython Anda sendiri

1. Semuanya Tentang Python


Popularitas Python telah meroket dalam beberapa tahun terakhir. Saat ini, ini digunakan di mana saja
mulai dari DevOps hingga analisis statistik, dan bahkan di perangkat lunak desktop. Tapi untuk waktu
yang lama, ada satu bidang di mana penggunaan Python secara mencolok hilang. Pengembang yang
bekerja dengan mikrokontroler belum mengadopsi bahasa tersebut.

Semua itu berubah pada 2013 ketika Damien George meluncurkan kampanye Kickstarter . Damien,
seorang sarjana di Universitas Cambridge, adalah seorang programmer robot yang rajin. Dia ingin
memindahkan dunia Python dari mesin yang bekerja dengan kapasitas gigabyte ke kilobyte.
Kampanye Kickstarter-nya adalah upaya untuk mendukung perkembangannya sementara dia
mengubah bukti konsepnya menjadi implementasi yang telah selesai.

Banyak pengembang mengambil kesempatan, tidak hanya untuk menggunakan Python pada
mikrokontroler tetapi juga untuk mendapatkan versi awal dari perangkat keras referensi Damien

Sistem Tertanam – MicroPyThon Embedded System - Halaman 1


Pengenalan Sistem Tertanam
Gogor C. Setyawan Sistem Tertanam - Chapter I – Introduksi MicroPyThon 2023-2024-01

sendiri, yang dibuat khusus untuk tugas tersebut! Faktanya, pada akhir kampanye, Damien telah
melampaui target £15.000-nya. Berkat lebih dari 1.900 pendukung, dia hanya mencapai £100.000.

1.1.1 Python Di Luar Desktop


Akhirnya, Python telah beralih dari desktop dan server ke dunia sensor, aktuator, motor, layar LCD,
tombol, dan sirkuit. Meskipun ini menghadirkan banyak tantangan, ada juga banyak peluang.
Perangkat keras desktop dan server memerlukan prosesor gigahertz, RAM gigabyte, dan
penyimpanan terabyte. Mereka juga membutuhkan sistem operasi yang lengkap, driver perangkat,
dan multitasking sejati.

Namun, di dunia mikrokontroler, MicroPython adalah sistem operasinya. Pada dasarnya, ini berada
di atas prosesor dengan kecepatan clock kembali ke tahun 1980-an dan 90-an. MicroPython tidak
memiliki bantuan untuk menangani semua seluk-beluk eksekusi kode, IO, penyimpanan, booting, dan
sebagainya. Jika Anda ingin berinteraksi dengan perangkat keras, maka Anda memerlukan semua
kode untuk mengaktifkannya.

Namun entah bagaimana, Damien berhasil memasukkan implementasi Python yang kuat, berkinerja
tinggi, dan kompak ke dalam komputer mini ini. Itu membuka potensi dunia baru. Jika Anda tertarik
untuk mempelajari lebih lanjut tentang perbedaan antara CPython dan MicroPython, Anda dapat
melihat perincian lengkapnya di repo GitHub resmi .

1.1.2 Elektronik sebagai Hobi dan Jalur Karir


MicroPython didukung oleh beragam komunitas Pythonista yang memiliki minat mendalam untuk
melihat keberhasilan proyek. Seiring dengan pengujian dan dukungan basis kode itu sendiri,
pengembang menyumbangkan materi, pustaka kode, dan port perangkat keras, membawa proyek jauh
melampaui apa yang bisa dicapai Damien sendirian.

Selama bertahun-tahun, MicroPython telah menarik para profesional dan penghobi dari platform lain
yang melihat potensi dan kenyamanan bahasa tersebut. Pengembang ini mungkin berasal dari
platform yang lebih matang, seperti Arduino atau PIC. Banyak yang menyadari manfaat
menggunakan MicroPython, serta menentukan Python dan MicroPython secara bersamaan, paling
tidak untuk pembuatan prototipe cepat dan waktu ke pasar yang lebih cepat.

Jadi, apakah MicroPython siap untuk pekerjaan yang serius dan kritis? ESA, Badan Antariksa Eropa,
tampaknya berpikir demikian! Mereka membantu mendanai pekerjaan Damien di MicroPython
karena mereka ingin menggunakan Python di luar angkasa. Anda akan semakin melihat banyak
penggemar dan pelajar yang kritis pindah ke dunia akademis, dan dari sana ke dunia elektronik
profesional. Pada saat itu, MicroPython akan benar-benar lepas landas.

1.1.3 Python dan STEM


Subjek STEM telah berada di bawah mikroskop pendidikan selama beberapa tahun, yang telah
menyebabkan ledakan proyek dan produk yang menargetkan ruang kelas. Python dan MicroPython
keduanya ditempatkan dengan baik untuk guru dan siswa. Sintaks dasar dan penerjemah yang
dibundel memberikan bahasa ini ke lingkungan belajar yang efektif. Fakta bahwa tidak diperlukan
lingkungan pengembangan hanyalah bonus tambahan!

Beberapa tahun yang lalu, BBC meluncurkan proyek Micro:Bit untuk mengajak lebih banyak anak
ke komputasi di luar aplikasi gaya kantor. Tujuan mereka adalah untuk mendapatkan papan
mikrokontroler ke tangan setiap siswa sekolah di Inggris. Damien, melalui tetangganya, memperoleh
salah satu dari papan ini dan dengan cepat menjalankan kodenya. Ribuan ruang kelas tiba-tiba
memiliki opsi untuk menjalankan Python dalam pelajaran mereka!
Sistem Tertanam – MicroPyThon Embedded System - Halaman 2
Pengenalan Sistem Tertanam
Gogor C. Setyawan Sistem Tertanam - Chapter I – Introduksi MicroPyThon 2023-2024-01

Baru-baru ini, Edublocks telah menggunakan Micro:Bit dan mengaktifkan pengalaman Python drag-
and-drop seperti Scratch. Hal ini memungkinkan lebih banyak anak untuk mengalami pemrograman
mikrokontroler dan robotika untuk pertama kalinya. Donasi Patreon mendukung pertumbuhan proyek
yang berkelanjutan.

2. Komputasi Fisik
Ketika berbicara tentang MicroPython, apa yang dimaksud dengan komputasi fisik ? Biasanya,
proyek Anda akan terdiri dari tiga elemen:

1. Input: Sebuah tombol, sinyal, peristiwa internet, atau pembacaan sensor menerima data.
2. Pemrosesan: Mikrokontroler memproses input dan memperbarui output.
3. Keluaran: Ini dapat dikirim dalam bentuk motor berputar, LED menyala, penghitung berubah,
pengiriman pesan, atau kejadian serupa.

Elemen-elemen ini biasanya akan dihubungkan dengan kabel dan ditenagai oleh beberapa sumber
daya.

1.1.4 Apa itu Mikrokontroler?


Anda mungkin tahu bahwa mikrokontroler berukuran kecil dan tidak sekuat komputer di desktop atau
rak server Anda. Apa yang mungkin tidak Anda ketahui adalah mikrokontroler ada di sekitar Anda,
menambahkan kecerdasan dan kontrol ke perangkat Anda. Mereka disematkan dalam segala hal
mulai dari peralatan dan pengaturan keamanan rumah hingga alat pacu jantung, sistem HVAC, dan
lainnya.

Mikrokontroler melakukan hal-hal yang relatif sederhana hari demi hari, andal, dan dalam paket
yang ringkas. Mereka memampatkan CPU, memori, dan IO menjadi satu chip tujuan umum, daripada
membutuhkan seluruh papan chip yang bekerja sama untuk melakukan tugas. Kode yang mereka
jalankan disebut firmware , yang di-flash atau dibakar ke memori yang dapat ditulisi sebelum
dijalankan.

Sementara mereka yang tumbuh dengan mikrokomputer awal (seperti ZX81 dan Commodore Vic20)
mungkin menganggap chip ini sangat kuat, secara teknis, Anda memiliki lebih banyak daya yang
tersedia di jam tangan pintar Anda. Namun, mikrokontroler sangat berguna, meskipun daya
pemrosesan dan kemampuan memorinya terbatas. Banyak yang bisa dilakukan dengan orang-orang
kecil ini!

1.1.5 Mengapa MikroPython?


Jika mikrokontroler ini berkembang biak jauh sebelum MicroPython diimpikan, lalu apa manfaat
MicroPython bagi Anda dibandingkan praktik tradisional?

Pertama, bahasa ini lebih mudah diakses oleh pemula daripada bahasa pesaing, namun tetap cukup
kuat untuk kasus penggunaan industri. Anda dapat beralih dari mempelajari dasar-dasar hingga
melakukan pekerjaan nyata, dan dengan cepat.

Kedua, Python memungkinkan umpan balik yang cepat. Ini karena Anda dapat memasukkan perintah
secara interaktif dan mendapatkan respons menggunakan REPL . Anda bahkan dapat men-tweak kode
Anda dan menjalankannya segera, daripada mengulang melalui siklus kompilasi kode-unggah-
eksekusi .

Sistem Tertanam – MicroPyThon Embedded System - Halaman 3


Pengenalan Sistem Tertanam
Gogor C. Setyawan Sistem Tertanam - Chapter I – Introduksi MicroPyThon 2023-2024-01

Terakhir, kekayaan kode Python dan pengalaman di luar sana berarti Anda dapat melakukan beberapa
hal dengan lebih cepat dan mudah sebagai programmer Python. Saya menemukan pustaka permintaan
Python , penanganan string, dan alat untuk menangani JSON jauh lebih mudah digunakan di dunia
MicroPython daripada C++ , misalnya.

1.1.6 Bagaimana dengan C++?


C++ cepat, ringkas, dan tersedia di mana saja. Ada banyak pemrogram C++ di luar sana, dan
komunitas pengembang Arduino dan PIC yang kaya siap membantu Anda. Oleh karena itu, bukankah
C++ merupakan pilihan yang lebih baik?

Menurut pendapat saya, MicroPython mengalahkan C++ dalam kemudahan penggunaan dan
kenyamanan . Sintaks C++ tidak mudah dipahami dengan segera. Terlebih lagi, kode perlu
dikompilasi dan kemudian ditransfer ke papan Anda sebelum Anda bisa mendapatkan hasilnya, jadi
Anda memerlukan kompiler yang berguna.

Sekarang, jelas, alatnya menjadi lebih baik, tetapi MicroPython masih memiliki keunggulan.
Meskipun C++ mungkin memiliki keunggulan kecepatan, MicroPython cukup cepat untuk sebagian
besar tujuan. Selain itu, jika Anda benar-benar membutuhkan C++, Anda bahkan dapat memanggil
kode C++ Anda dari MicroPython!

1.1.7 Bagaimana dengan Assembler?


Untuk kinerja mentah, tidak ada Assembler yang mengalahkan. Namun, itu juga tidak
mengesampingkan MicroPython.

Sekali lagi, MicroPython cenderung cukup cepat. Jika Anda benar-benar membutuhkan daya tingkat
terendah itu, maka Anda dapat menambahkan perakit inline ke proyek MicroPython Anda.

1.1.8 Bagaimana dengan BASIC?


Jika Anda mengaktifkan salah satu mikrokomputer lama di masa lalu, maka mikrokomputer tersebut
hampir pasti akan melakukan booting ke BASIC . Paling tidak, mereka akan memiliki dialek BASIC.
Bahasa ini berfungsi sebagai pengantar pemrograman untuk seluruh generasi. Ini termasuk Elon
Musk, yang tampaknya belajar membuat kode pada Vic 20.

Hari ini, kilau BASIC agak redup. Python dan bahasa berbasis blok lainnya telah menggantikannya
di ruang pendidikan, dan itu hampir tidak mempengaruhi industri teknologi. Python memiliki semua
keunggulan BASIC, tanpa ada batasan.

1.1.9 Bagaimana dengan Raspberry Pi?


Raspberry Pi , yang menjalankan Python, juga hadir dalam pendidikan. Itu menemukan ceruk dalam
elektronik dan komputasi fisik berkat pin IO untuk keperluan umum. Raspberry Pi juga merupakan
komputer desktop Linux serba guna yang lengkap. Ini memiliki banyak daya prosesor, memori, dan
kapasitas penyimpanan, dan bahkan memiliki GPU.

Namun, aspek terakhir itu sebenarnya bisa menjadi alasan untuk tidak memilih Pi dan memilih papan
mikrokontroler! Kemampuan untuk menjalankan aplikasi desktop dan multimedia sangat luar biasa,
terutama ketika proyek Anda mungkin membutuhkan daya mentah tersebut. Ini mungkin berlaku
untuk AI , aliran video, dan proyek basis data , misalnya.

Namun hal ini dapat menimbulkan masalah saat kasus penggunaan Anda memerlukan pemrosesan
waktu nyata . Jika Anda memerlukan pengaturan waktu yang sangat tepat, maka Anda tidak ingin

Sistem Tertanam – MicroPyThon Embedded System - Halaman 4


Pengenalan Sistem Tertanam
Gogor C. Setyawan Sistem Tertanam - Chapter I – Introduksi MicroPyThon 2023-2024-01

kode Anda menunggu sementara ia mengejar lusinan proses berbeda yang semuanya ingin dijalankan
pada waktu yang sama.

Jika Anda menginginkan input analog, maka Pi akan membutuhkan perangkat keras tambahan.
Sebaliknya, sebagian besar mikrokontroler yang mampu menjalankan MicroPython memiliki
setidaknya satu masukan analog, dan bahkan mungkin lebih. Selain itu, Pi tidak sekuat itu, dan
harganya bisa lebih mahal. Karena itu, mungkin lebih masuk akal secara finansial untuk
meninggalkan mikrokontroler di proyek Anda, daripada keseluruhan Pi.

Anda tidak harus memilih satu atau yang lain. Mungkin memasangkan Raspberry Pi dengan
mikrokontroler adalah solusi terbaik untuk proyek Anda. Misalnya, Anda dapat menggunakan Pi
untuk daya pemrosesan dan mikrokontroler untuk berinteraksi dengan perangkat keras.

3. Perangkat Keras MicroPython


Jika Anda tertarik untuk mencoba MicroPython, maka itu bagus! Anda memerlukan beberapa
perangkat keras yang kompatibel untuk menginstal MicroPython. Untungnya, ada banyak pilihan,
mulai dari produk terjangkau hingga premium. Ada sesuatu untuk setiap dompet dan kasus
penggunaan, jadi luangkan waktu untuk memilih solusi yang tepat untuk Anda.

1.1.10 Dibangun untuk Python


Kickstarter yang memulai MicroPython juga meluncurkan perangkat keras terkait. MicroPython
Pyboard sekarang hingga v1.1.

Pyboard adalah salah satu papan dengan spesifikasi paling baik . Ini didasarkan pada STM32 dan
memiliki banyak GPIO. Ada juga slot SD, akselerometer, dan RTC, dengan kemampuan 168 MHz.
Jika Anda dapat menemukannya dalam stok, maka harganya sekitar $40 USD.

1.1.11 ESP8266 atau ESP32


Di ujung lain dari skala harga adalah papan berdasarkan ESP8266 . Papan ini hanya memiliki satu
input analog, dan pinnya tidak sebanyak Pyboard. Namun, mereka memiliki kemampuan WiFi. Anda
dapat menemukannya di papan yang ramah papan tempat memotong roti (seperti NodeMCU) seharga
$10 atau kurang.

ESP32 adalah kakak dari ESP8266 . Ini meningkatkan daya dan kemampuan sambil menambahkan
Bluetooth ke rangkaian fitur, dengan sedikit biaya tambahan. Salah satu versi terbaik dari papan ini
adalah M5 Stack. Unit ini dilengkapi dengan speaker peizo, baterai, pembaca kartu, dan layar
berwarna.

1.1.12 BBC Mikro: Sedikit


Micro :Bit adalah papan ringkas yang berbasis di sekitar mikrokontroler Nordic nRF51822. Ini
memiliki Bluetooth LE bawaan dan penginderaan suhu, ditambah akselerometer, beberapa tombol
aksi, dan kisi LED 5x5.

Jika Anda berada di Inggris Raya, Anda mungkin sudah memiliki salah satu papan ini. Mereka
dibagikan kepada anak-anak sekolah dengan harapan dapat menginspirasi generasi pembuat kode
baru. Banyak papan yang terinspirasi oleh Micro:Bit mulai bermunculan, jadi popularitasnya pasti
akan meningkat!

Sistem Tertanam – MicroPyThon Embedded System - Halaman 5


Pengenalan Sistem Tertanam
Gogor C. Setyawan Sistem Tertanam - Chapter I – Introduksi MicroPyThon 2023-2024-01

1.1.13 Papan Bertenaga Adafruit dan CircuitPython


Segera setelah MicroPython mulai menambah kecepatan, Adafruit menghasilkan garpu yang mereka
sebut CircuitPython . Namun, ada beberapa perbedaan utama antara keduanya.

Salah satunya adalah CircuitPython menawarkan dukungan untuk rangkaian perangkat keras
Adafruit. Perbedaan lainnya adalah kenyataan bahwa sebagian besar implementasi Adafruit
menampilkan papan yang muncul sebagai drive yang terhubung ke USB. Dalam kasus ini,
menambahkan kode Anda semudah menyeretnya ke disk.

Papan paling kaya fitur dari jajaran premium Adafruit adalah CircuitPlayground Express , dengan
add-on Crickit opsional. Saat Anda menggabungkan kedua papan ini, Anda akan memiliki pin,
sensor, driver motor, LED RGB, dan banyak lagi. Jika Anda sedang mencari solusi all-in-one, maka
inilah yang harus diperiksa.

Sayangnya, Adafruit telah kehilangan kompatibilitas dengan ESP8266, bahkan untuk papan Feather
berbasis ESP8266 mereka sendiri. Sebaliknya, mereka telah memilih untuk menggunakan ESP32
murni sebagai co-prosesor WiFi di rilis mendatang.

4. Alur Kerja MikroPython


Jika Anda terbiasa dengan pemrograman Arduino atau PIC, Anda mungkin berharap untuk berbicara
terlebih dahulu tentang kompiler, lingkungan pengembangan, dan rantai alat. Namun, MicroPython
sedikit berbeda pada pandangan pertama.

1.1.14 REPL
Dengan MicroPython, seperti halnya dengan Python, bahasa tersebut mungkin disertakan dengan
perangkat keras Anda, dan Anda memiliki opsi untuk bekerja dengannya secara interaktif. Ada dua
cara untuk mendapatkan sesi interaktif:

1. Gunakan koneksi terminal serial: Ini sering dilakukan melalui baris perintah, atau mungkin IDE .
2. Gunakan WebREPL: Ini adalah opsi untuk papan dengan WiFi.

Untuk mendapatkan REPL serial pada Mac, misalnya, Anda dapat menjalankan Layar program
terminal yang disertakan dan menentukan perangkat Anda dan baud rate:

$ screen /dev/tty.wchusbserial1430 115200

Anda dapat menemukan perangkat Anda dengan mendaftarkan koneksi serial yang terpasang:
$ ls /dev/tty.*

Prosesnya mirip dengan apa yang akan Anda lakukan di terminal Linux.
Di Windows, Putty adalah aplikasi terminal yang populer. Ada juga yang namanya Istilah Tera. Apa
pun itu, cukup sambungkan ke port COM yang muncul saat Anda menyambungkan perangkat dan
pilih 115.200 sebagai baud rate Anda.

Setelah Anda memiliki koneksi REPL, Anda dapat memasukkan perintah seperti yang Anda lakukan
dari sesi interaktif Python Anda. Di MicroPython, antarmuka ini juga tempat Anda mungkin ingin
melakukan pekerjaan sederhana bergaya OS, seperti menghapus file atau membuat folder.

Sistem Tertanam – MicroPyThon Embedded System - Halaman 6


Pengenalan Sistem Tertanam
Gogor C. Setyawan Sistem Tertanam - Chapter I – Introduksi MicroPyThon 2023-2024-01

1.1.15 Alat Baris Perintah


RShell Dave Hyland adalah perangkat berfitur lengkap untuk bekerja dengan proyek MicroPython
Anda.

Ada alat baris perintah hebat lainnya untuk berinteraksi dengan papan MicroPython yang disebut
Ampy . Ini awalnya dikembangkan oleh Adafruit tetapi sekarang telah diambil alih oleh anggota
komunitas, karena Adafruit hanya berfokus pada perangkat keras mereka sendiri.

1.1.16 IDE MicroPython


Ada plugin PyCharm yang menambahkan dukungan MicroPython ke IDE Anda. Ini tersedia tepat di
pasar plugin:

Untuk papan Micro:Bit dan CircuitPython, editor terbaik saat ini adalah Editor Mu dari Nicholas
Tollervey. Kalau tidak, awasi uPyCraft , yang tampaknya memiliki banyak janji dan sudah sangat
berguna.

Setelah Anda menyambungkan port serial yang benar dan memilih jenis perangkat, Anda akan dapat
menelusuri perangkat:

Sistem Tertanam – MicroPyThon Embedded System - Halaman 7


Pengenalan Sistem Tertanam
Gogor C. Setyawan Sistem Tertanam - Chapter I – Introduksi MicroPyThon 2023-2024-01

Jenis perangkat Anda adalah ESP8266, ESP32, atau Micro:Bit. Sekarang Anda dapat berinteraksi di
REPL!

5. Menyiapkan MicroPython di Papan Anda


Ada satu keuntungan memilih uPyCraft, dan itu adalah opsi untuk dengan mudah membakar firmware
MicroPython ke papan Anda tanpa harus menggunakan alat baris perintah. Anda dapat memilih
firmware default uPyCraft, atau firmware yang telah Anda unduh:

BBC Micro:Bit muncul sebagai disk drive. Saat Anda menggunakan Mu atau editor berbasis web,
mereka akan menghasilkan file yang dapat Anda jatuhkan langsung ke disk tersebut. Jika Anda

Sistem Tertanam – MicroPyThon Embedded System - Halaman 8


Pengenalan Sistem Tertanam
Gogor C. Setyawan Sistem Tertanam - Chapter I – Introduksi MicroPyThon 2023-2024-01

menggunakan papan ESP8266 atau ESP32 dengan uPyCraft, Anda juga dapat menginstal Python
ESPTool dengan pip dan menyiapkan firmware papan Anda menggunakan itu.

Papan lain mungkin datang dengan MicroPython atau CircuitPython diinstal, atau bahkan
menggunakan installer drag-and-drop. Namun, papan semacam itu bisa rusak atau mengalami loop
tak terbatas. Pastikan Anda meluangkan waktu untuk melihat dokumentasi board Anda tentang cara
mengganti firmware.

6. Membuat dan Menerapkan Kode Anda


Untuk mengeksekusi kode Anda, biasanya Anda akan membuat .pyfile teks dan mengeksekusinya
di perangkat MicroPython Anda. Proses ini mirip dengan apa yang akan Anda lakukan dengan
CPython. Anda akan mentransfer file ke papan Anda dengan salah satu dari dua cara berikut:

1. Gunakan IDE Anda. Ini bisa berupa Mu, uPyCraft, atau yang serupa.
2. Gunakan alat baris perintah. Ini bisa berupa RShell, Ampy, atau yang serupa.

Saat perangkat yang menjalankan MicroPython melakukan booting, mereka akan mencari file
bernama boot.py. Jika file tersebut ditemukan, maka perangkat akan menjalankannya secara
otomatis. Anda juga dapat menjalankan .pyfile dari prompt REPL:

exec(open('my-program.py').read())

Faktanya, ini mirip dengan apa yang dilakukan uPyCraft saat Anda menjalankan Python yang telah
diedit. Ini mentransfer file ke papan Anda dan kemudian mengeksekusinya melalui REPL.

1.1.17 Menulis Kode MicroPython Anda


Anda akan mulai dengan ucapan tradisional “Halo, Dunia!” proyek. Anda dapat melakukannya di
REPL dengan menghubungkan ke port serial yang benar, dan memasukkan yang berikut ini:

print("Hello World!")

Anda akan melihat output berikut:

Anda telah mengonfirmasi bahwa penyiapan Anda berfungsi.

Sistem Tertanam – MicroPyThon Embedded System - Halaman 9


Pengenalan Sistem Tertanam
Gogor C. Setyawan Sistem Tertanam - Chapter I – Introduksi MicroPyThon 2023-2024-01

1.1.18 Membuat Keluaran Digital


Sekarang, mari kita ubah tipe keluaran. Menggunakan kode berikut, Anda dapat membuat LED
onboard berkedip:

import time
import machine
blueled = machine.Pin(2, machine.Pin.OUT)

# Blink 10 times
for i in range(1,11):
blueled.value(0)
time.sleep(0.5)
blueled.value(1)
time.sleep(0.5)

print("DONE!")

Anda mengimpor time, yang memungkinkan Anda menyisipkan penundaan waktu . Anda juga
mengimpor machine, modul yang memberi Anda akses mudah ke pin IO di papan Anda. Anda
menggunakan modul ini untuk menyiapkan objek bernama blueled, yang Anda definisikan sebagai
being Pin 2. (Di papan lain, mungkin saja Pin 16). Kemudian, Anda menetapkannya sebagai pin
keluaran. Anda akan melihat output berikut:

Sistem Tertanam – MicroPyThon Embedded System - Halaman 10


Pengenalan Sistem Tertanam
Gogor C. Setyawan Sistem Tertanam - Chapter I – Introduksi MicroPyThon 2023-2024-01

Anda mungkin memperhatikan bahwa pada ESP8266, LED menyala saat dimatikan dan mati saat
diberi nilai positif. Aneh, tapi benar!

Catatan: Sebagian besar papan akan memiliki satu atau lebih LED bawaan. Lihat dokumentasi untuk
papan spesifik Anda untuk informasi lebih lanjut.

Bagaimana jika Anda tidak memiliki LED bawaan, atau Anda ingin menyalakan LED yang tidak ada
di papan Anda? Anda memerlukan resistor dengan ukuran yang sesuai, seperti resistor 220ohm. Anda
harus menghubungkannya ke ground dan ke kaki pendek LED Anda. Positif, kaki panjang LED Anda
akan terhubung ke pin GPIO 2. Di papan Wemos D1 Uno, GPIO 2 disebut Pin Digital 9 di bagian
depan papan. Ini memiliki nomor GPIO di bawahnya.

Dalam hal LED eksternal, itu akan menyala ketika nilainya 1 atau pada :

Anda dapat melihat pin telah menyala.

1.1.19 LED memudar


Pada contoh sebelumnya, Anda menggunakan forloop , tetapi perangkat keras Anda sebenarnya
dapat mengedipkan LED itu sendiri. Untuk melakukan ini, atur output pin sebagai PWM, yang
merupakan singkatan dari Pulse Width Modulation (PWM) .

Ini memungkinkan Anda membuat sinyal pulsa hidup dan mati . Saat Anda menyalakan dan
mematikan LED dengan sangat cepat berkali-kali dalam satu detik, tampaknya LED diatur ke
kecerahan tertentu karena cara kerja mata kita. Berikut tampilan kode Anda:

from machine import Pin


from machine import PWM
import time

# Set our pin 2 to PWM


pwm = PWM(Pin(2))

# Brightness between 0 and 1023


pwm.duty(700)

Sistem Tertanam – MicroPyThon Embedded System - Halaman 11


Pengenalan Sistem Tertanam
Gogor C. Setyawan Sistem Tertanam - Chapter I – Introduksi MicroPyThon 2023-2024-01

# Frequency in Hertz
pwm.freq(1)

Dalam kode baru ini, Anda menyetel kecerahan dan frekuensi kedip dalam Hertz, lalu membiarkan
perangkat keras mengambil alih.

Anda juga dapat menggunakan PWM untuk memudarkan dan mematikan LED:

from machine import Pin


from machine import PWM
import time

# Set our pin 2 to PWM


pwm = PWM(Pin(2))

# Frequency = 100hz
pwm.freq(100)

while 1:
# Brightness between 0 and 1023
for brightness in range (0, 1023, 100):
pwm.duty(brightness)
print(brightness)
time.sleep(0.1)

# Brightness between 1023 and 0


for brightness in range (1023, 0, -100):
pwm.duty(brightness)
print(brightness)
time.sleep(0.1)

Kode ini memberikan efek lembut yang menyenangkan:

Sistem Tertanam – MicroPyThon Embedded System - Halaman 12


Pengenalan Sistem Tertanam
Gogor C. Setyawan Sistem Tertanam - Chapter I – Introduksi MicroPyThon 2023-2024-01

Jika Anda menggunakan LED onboard, maka cahayanya mungkin memudar dan kemudian masuk.

7. Kesimpulan
Tidak pernah semudah ini bagi Anda untuk memprogram robot, mikrokontroler, elektronik, dan
perangkat keras lainnya. Biasanya, untuk memprogram perangkat ini, Anda harus menggunakan
bahasa tingkat rendah seperti assembler atau C++, dan mengorbankan banyak fungsionalitas. Itu
semua berubah dengan diperkenalkannya MicroPython , versi Python 3 yang dijejalkan ke dalam
kapasitas kecil perangkat komputasi fisik yang lebih kecil!

Dalam materi ini, Anda terjun ke MicroPython dan dunia perangkat keras elektronik . Anda telah
belajar tentang sejarah MicroPython dan perbandingannya dengan platform lain. Anda juga melalui
alur kerja MicroPython, menerapkan kode ke papan Anda sendiri, dan menghasilkan efek dunia
nyata.
MicroPython terus berkembang. Pengembang di komunitas selalu menambahkan kode, alat, proyek,
dan materi baru. Tidak pernah ada waktu yang lebih menyenangkan untuk menjadi pengembang
MicroPython!

Sistem Tertanam – MicroPyThon Embedded System - Halaman 13

Anda mungkin juga menyukai