Microcontroller Dengan Microphyton Dan LumpyBoard
Pengertian
Microcontroller terdiri dari dua kata ‘Micro’ dan ‘Controller’. Kalau kita terjemahkan bisa jadi pengendali mikro/kecil.
Kalau menurut Wikipedia:
Pengendali mikro (bahasa Inggris: microcontroller) adalah sistem mikroprosesor lengkap yang terkandung di dalam sebuah chip. Mikrokontroler berbeda dari mikroprosesor serba guna yang digunakan dalam sebuah PC, karena di dalam sebuah mikrokontroler umumnya juga telah berisi komponen pendukung sistem minimal mikroprosesor, yakni memori dan antarmuka I/O, sedangkan di dalam mikroprosesor umumnya hanya berisi CPU saja.
Jadi intinya seperti itu ya…
Microcontroller itu bukan CPU, tapi sebuah mikroprosesor yang dilengkapi dengan memori dan antarmuka IO untuk menghubungkan benda-benda yang akan dikendalikan.
Teminologi Yang Haerus Di Pahami
Sebelum memulai, ada baiknya memahami beberapa terminologi berikut:
1. Python
Python adalah bahasa pemrograman tingkat tinggi yang akan kita gunakan untuk memrogram LumpyBoard.
Buat kamu yang belum paham bahasa pemrograman Python, kamu dapat mengikuti tutorial pemrograman Python di Petanikode.
2. MicroPython
MicroPython adalah impelemntasi dari python, atau dengan kata lain Python yang sudah dioptimasi untuk Microcontroller.
3. LumpyBoard
LumpyBoard adalah sebuah papan microcontroller yang dilengkapi dengan WiFi, Bluetooth, dan sudah terpasang custom firmware MicroPython sehingga bisa diprogram menggunakan bahasa pemrograman Python.
4. Picocom
Picocom adalah terminal emulator minimalis yang akan kita gunakan untuk mengakses MucroPython yang berada di LumpyBoard.
persiapan Dan Instalasi
Kita membutuhkan picocom untuk masuk ke shell MicroPython yang ada di dalam LumpyBoard.
Selain picocom kita juga bisa pakai screen dan minicom.
Namun, pada tutorial ini, kita akan menggunakan picocom saja.
Baiklah…
Silahkan instal picocom dengan perintah berikut:
sudo apt install picocomTunggulah sampai prosesnya selesai…
Setelah itu, coba ketik perintah picocom --help untuk memastikan apakah picocom sudah terinstal dengan benar atau tidak.
Jika tampil seperti ini…
…berarti picocom sudah terinstal dengan benar dan siap digunakan.
Menyalakan Lampu LED LumpyBoard
Eksperimen pertama yang harus kita coba adalah menyalakan lampu LED. Lampu LED bisanya digunakan sebagai indikator.
Tungu dulu!
Apakah gak ada yang lebih seru lagi, misal mengendalikan robot gitu?
Menyalakan lampu LED adalah eksperimen yang paling sederhana dalam microcontroller.
Kamu harus paham ini dulu, baru bisa membuat eksperimen yang lebih kompleks seperti mengendalikan robot.
Tentu akan butuh beberapa pengetahuan lagi seperti elektronika, mekanika, kecerdasan buatan, dan sebagainya.
Baiklah, mari kita mulai eksperimen pertama.
Silahkan hubungkan LumpyBoard dengan laptop menggunakan kabel data.
LumpyBoard yang terhubung dengan kabel data dapat kita akases melalui port /dev/ttyUSB0 di Linux dan di Mac melalui port /dev/cu.usbserial.
Kalau di Windows, bagaimana?
Maaf saat ini saya belum coba di windows, mungkin nanti saya akan update tutorial ini setelah mencobanya.
Oke lanjut…
Setelah itu, buka terminal dan ketik:
sudo picocom -b 115200 /dev/ttyUSB0Parameter -b untuk menentukan baudrate dan /dev/ttyUSB0 adalah port LumpyBoard yang sedang terhubung melalui kabel data atau USB.
Sehingga akan tampil seperti ini:
Pada tahapan ini, kita belum bisa melakukan apa-apa.
Selanjutnya silahkan tekan Ctrl+a lalu Ctrl+p untuk mereset LumpyBoard, sehingga akan tampil seperti ini:
Sekarang kita berada di dalam shell MicroPython yang ada di LumpyBoard.
Di sini kita bisa melakukan apapun yang kita inginkan, tentunya dengan bahasa pemrograman python.
Baik…
Untuk percobaan pertama, kita akan menyalakan lampu LED bawaan dari LumpyBoard.
Lampu LED ini berada pada pin 23. Berarti nanti saat pembuatan objek Pin, kita harus memberikan parameter 23.
Cobalah untuk mengetik kode berikut:
>>> from machine import Pin
>>> led = Pin(23, Pin.OUT)
>>> led(True) # hidupkan LEDSehingga shell akan menjadi seperti ini:
Cobalah perhatikan LumpyBoard, apakah lampu LED-nya menyala?
Jika berhasil menyala seperti ini:
Selamat! 🎉
Kamu berhasil…
Oke, waktunya saya jelaskan arti kode di atas.
Pertama-tama, kita mengimpor class Pin() dari modul machine. Modul machine adalah modul yang berisi fungsi-fungsi untuk mengakses hardware.2
from machine import Pinled = Pin(23, Pin.OUT)

Lalu kita membuat objek Pin bernama led dengan parameter 23 dan Pin.OUT.
Angka 23 adalah nomer pin yang digunakan lampu LED pada LumpyBoard.
Kemudian Pin.OUT adalah konstanta yang menyatakan pin tersebut adalah pin untuk output.
Ada juga Pin.IN untuk menyatakan pin input, misal pin untuk saklar, sensor, dan tombol.
Lalu terakhir kita nyalakan lampu LED dengan kode perintah:
led(True)Sebenarnya bisa juga seperti ini:
led(1)Mau pakai True atau 1 artinya sama.
Untuk mematikan lampu led, kita bisa lakukan dengan printah ini:
led(False)
# atau
led(0)Mari kita coba…
Hasilnya, lampu led mati.
Mudah sekali ‘kan…
Membuat Lampu Led Berkedip
Nah untuk membuat lampu led berkedip, kita membutuhkan satu lagi modul untuk melakukan delay.
Modul yang kita butuhkan adalah modul utime.
Pada modul ini, terdapat fungsi sleep() untuk menunda atau delay.
Lalu untuk membuat lampunya berkedip terus menerus, kita bisa gunakan perulangan.
Contohnya seperti ini:
from machine import Pin
from utime import sleep
led = Pin(23, Pin.OUT)
# loop untuk membuat lampu berkedip
while(True):
led(not led.value())
sleep(1) # delay 1 detikSehingga pada shell akan menjadi seperti ini:
…dan hasilnya:
Nyobain LumpyBoard...#MicroPython #Python #PythonProgramming pic.twitter.com/BcCv5fCtaS
— Petani Kode (@petanikode) January 18, 2019
from machine import Pinfrom utime import sleepled = Pin(23, Pin.OUT)while(True):led(not led.value()) # togglesleep(1) # delay 1 detik
Baik… waktunya saya menjelaskan.
Pertama kita membutuhkan class Pin() dari modul machine untuk mengakses lampu LED dan fungsi sleep() dari modul utime untuk melakukan delay.
Setelah itu kita membuat objek led yang mewakili lampu LED.
Kemudian, kita membuat sebuah while loop yang tak akan pernah berhenti (infinity).
Di dalamnya kita melakukan toggle lampu led.
Jadi di sana kita mengambil nilai led dengan method led.value(), method ini akan mengembalikan True dan False.
Lalu kita gunakan operator not untuk toggle.
Misalkan nilai led.value() dalam keadaan True (menyala), maka setelah kita beri not led.value(), maka led.value() akan menjadi False (mati).

Komentar
Posting Komentar