1
0
mirror of https://github.com/hybridgroup/gobot.git synced 2025-04-27 13:48:56 +08:00
hybridgroup.gobot/examples/microbit_buttons_leds.go
deadprogram ec9de10a10 microbit: improve button implementation, add integrated example
Signed-off-by: deadprogram <ron@hybridgroup.com>
2017-02-28 20:19:09 +01:00

47 lines
792 B
Go

package main
import (
"fmt"
"os"
"gobot.io/x/gobot"
"gobot.io/x/gobot/platforms/ble"
"gobot.io/x/gobot/platforms/microbit"
)
func main() {
bleAdaptor := ble.NewClientAdaptor(os.Args[1])
buttons := microbit.NewButtonDriver(bleAdaptor)
leds := microbit.NewLEDDriver(bleAdaptor)
work := func() {
buttons.On(microbit.ButtonA, func(data interface{}) {
fmt.Println("a", data)
if data.([]byte)[0] == 1 {
leds.UpLeftArrow()
return
}
leds.Blank()
})
buttons.On(microbit.ButtonB, func(data interface{}) {
fmt.Println("b", data)
if data.([]byte)[0] == 1 {
leds.UpRightArrow()
return
}
leds.Blank()
})
}
robot := gobot.NewRobot("buttonBot",
[]gobot.Connection{bleAdaptor},
[]gobot.Device{buttons, leds},
work,
)
robot.Start()
}