#はじめに
第2回に続き、今回はTinyGoに外部LEDを接続して点滅させてみる
#動作環境
- OS: macOS 10.15.3
- Go: 1.13.8
- TinyGo: 0.12.0
- マイコン: Adafruit Trinket M0
- LED: Grove Red LED
#配線
Trinket M0 | Grove LED |
---|---|
D0 | SIG |
- | NC |
3V3 | VCC |
GND | GND |
D0の代わりにD1〜D4でもOK
#実行コード
main.go
package main
import (
"machine"
"time"
)
func main() {
//led = D0 or D1 or D2 or D3
led := machine.D0
led.Configure(machine.PinConfig{Mode: machine.PinOutput})
for {
led.Low()
time.Sleep(time.Millisecond * 500)
led.High()
time.Sleep(time.Millisecond * 500)
}
}
#ビルド&書き込み
###パターン1. Macでビルド&書き込み
MacにインストールしたTinyGoを使ってビルドから書き込みまで一気に実行
$ tinygo flash -target trinket-m0 ./main.go
###パターン2. Dockerでビルド&Macから書き込み
Mac上でDockerを使ってビルドして、書き込みはMacから実行
Trinket M0はUSBマスストレージとして扱えるので、ビルドで生成されたUF2ファイルをドラッグ&ドロップで書き込み
$ docker run --rm -v $(pwd):/src -w /src tinygo/tinygo:0.12.0 \
tinygo build -o /src/flash.uf2 -size=short -target trinket-m0 ./main.go