古いtinygoだと文句いわれながらチャットくんにつくてもらった 3.3v駆動のws2812
package main
import (
"image/color"
"machine"
"time"
"tinygo.org/x/drivers/ws2812"
)
const numLEDs = 5
const ledPin = machine.GP15
func main() {
ledPin.Configure(machine.PinConfig{Mode: machine.PinOutput})
// ビットバン駆動の初期化
ws := ws2812.New(ledPin)
leds := make([]color.RGBA, numLEDs)
for {
// 1. 赤色に点灯
fill(leds, color.RGBA{R: 0xFF, G: 0x00, B: 0x00})
// colorsToBytesで変換した []byte を Write に渡す
ws.Write(colorsToBytes(leds))
time.Sleep(time.Second)
// 2. 緑色に点灯
fill(leds, color.RGBA{R: 0x00, G: 0xFF, B: 0x00})
ws.Write(colorsToBytes(leds))
time.Sleep(time.Second)
}
}
func fill(leds []color.RGBA, c color.RGBA) {
for i := range leds {
leds[i] = c
}
}
0 件のコメント:
コメントを投稿