Belajar Arduino dengan Go (Golang)

Cecep Aprilianto
3 min readNov 22, 2022

--

Bisakah kita menulis kode yang ditanam di hardware dengan Golang? Jawabanya, bisa!

Saya tidak akan menjelaskan tentang C++ atau Arduino IDE yang biasanya dipakai untuk menulis kode ke Arduino.

Lalu bagaimana itu bisa terjadi? Di golang sendiri terdapat salah satu package atau library yang bisa kita manfaatkan, yaitu TinyGo

TinyGo ini sederhana dan mudah di pelajari, untuk lebih lanjut Anda bisa membaca dokumentasinya. Arduino sendiri merupakan mikrokontroller yang paling mudah kita dapatkan dan pelajari.

Prasyarat sebelum memulai

  1. Install Go
  2. Install TinyGo

Membuat Proyek

Biasanya untuk menulis embedded code pada mikrokontroler kita menggunakan bahasa C++, tetapi kali ini kita akan menulisnya dengan Golang.

Pertama kita buat dulu proyek baru dengan perintah berikut:

mkdir belajar-tinygo
cd belajar-tinygo

Lalu buat module dengan perintah berikut:

go mod init belajar-tinygo

Buka proyeknya dengan IDE atau Editor lain, misalnya VSCode. Buat file di root dengan nama main.go

Membuat Rangkaian: LED Berkedip

Selanjutnya kita buat rangkaian sederhana, yaitu satu buah LED dengan resistor 220ohm ke katode dan ground dan anode terkoneksi ke pin D13

Rangkaian Sederhana

Pin atau GPIO (General Purpose Input/Output) dapat digunakan untuk mengontrol perangkat eksternal, misalnya LED. Jika dinyalakan (output High voltage) atau mati (output Low voltage) sehingga membuat LED menyala atau tidak.

Menulis Kode

Di bawah ini adalah kode paling dasar untuk “mengedipkan” LED pada pin 13. Buka main.go lalu buat kode berikut:

package main

import (
"machine"
"time"
)

func main() {
// deklarasi kan pin yang akan di pakai
led := machine.Pin(13)

// set pin mode ke output
led.Configure(machine.PinConfig{Mode: machine.PinOutput})

// loop
for {
// led mati
led.Low()
// tunggu 1 detik
time.Sleep(1000 * time.Millisecond)

// led hidup
led.High()
// tunggu 1 detik
time.Sleep(1000 * time.Millisecond)

}
}

Kompilasi dan unggah kode TinyGo

Ada langkah tambahan untuk masing-masing sistem operasi jika kita mau melakukan flashing, yang dapat Anda baca disini. Saya sendiri menggunakan MacOs sebagai Sistem Operasinya.

Buka terminal atau cmd di direktori proyek Anda, ketikan perintah berikut:

tinygo flash --target=arduino --port=/dev/tty.usbmodem141201 main.go

Jika berhasil maka pada rangkaian yang sudah kita buat, akan terlihat seperti ini:

LED Berkedip

Mungkin selanjutnya kita akan belajar lebih lanjut tentang Arduino dengan Golang.

Terimakasih…

--

--

Cecep Aprilianto
Cecep Aprilianto

Written by Cecep Aprilianto

Web and Backend Developer at Internet

No responses yet