Files
drivers/examples/l9110x/speed/main.go
T
2021-05-05 14:44:24 +02:00

65 lines
1.1 KiB
Go

package main
import (
"machine"
"time"
"tinygo.org/x/drivers/l9110x"
)
const (
maxSpeed = 100
)
func main() {
machine.D11.Configure(machine.PinConfig{Mode: machine.PinOutput})
machine.D12.Configure(machine.PinConfig{Mode: machine.PinOutput})
err := machine.TCC0.Configure(machine.PWMConfig{})
if err != nil {
println(err.Error())
return
}
ca, err := machine.TCC0.Channel(machine.D11)
if err != nil {
println(err.Error())
return
}
cb, err := machine.TCC0.Channel(machine.D12)
if err != nil {
println(err.Error())
return
}
wheel := l9110x.NewWithSpeed(ca, cb, machine.TCC0)
wheel.Configure()
for i := 0; i <= 10; i++ {
println("Forward")
var i uint32
for i = 0; i < maxSpeed; i += 10 {
wheel.Forward(i)
time.Sleep(time.Millisecond * 100)
}
println("Stop")
wheel.Stop()
time.Sleep(time.Millisecond * 1000)
println("Backward")
for i = 0; i < maxSpeed; i += 10 {
wheel.Backward(i)
time.Sleep(time.Millisecond * 100)
}
println("Stop")
wheel.Stop()
time.Sleep(time.Millisecond * 1000)
}
println("Stop")
wheel.Stop()
}