func main() { chipAdaptor := chip.NewAdaptor() wiichuck := i2c.NewWiichuckDriver(chipAdaptor) work := func() { wiichuck.On(wiichuck.Event("joystick"), func(data interface{}) { fmt.Println("joystick", data) }) wiichuck.On(wiichuck.Event("c"), func(data interface{}) { fmt.Println("c") }) wiichuck.On(wiichuck.Event("z"), func(data interface{}) { fmt.Println("z") }) wiichuck.On(wiichuck.Event("error"), func(data interface{}) { fmt.Println("Wiichuck error:", data) }) } robot := gobot.NewRobot("chuck", []gobot.Connection{chipAdaptor}, []gobot.Device{wiichuck}, work, ) robot.Start() }
func main() { board := chip.NewAdaptor() screen := i2c.NewGroveLcdDriver(board) work := func() { screen.Write("hello") screen.SetRGB(255, 0, 0) gobot.After(5*time.Second, func() { screen.Clear() screen.Home() screen.SetRGB(0, 255, 0) // set a custom character in the first position screen.SetCustomChar(0, i2c.CustomLCDChars["smiley"]) // add the custom character at the end of the string screen.Write("goodbye\nhave a nice day " + string(byte(0))) gobot.Every(500*time.Millisecond, func() { screen.Scroll(false) }) }) screen.Home() time.Sleep(1 * time.Second) screen.SetRGB(0, 0, 255) } robot := gobot.NewRobot("screenBot", []gobot.Connection{board}, []gobot.Device{screen}, work, ) robot.Start() }
func main() { chipAdaptor := chip.NewAdaptor() led := gpio.NewLedDriver(chipAdaptor, "XIO-P6") work := func() { gobot.Every(1*time.Second, func() { led.Toggle() }) } robot := gobot.NewRobot("blinkBot", []gobot.Connection{chipAdaptor}, []gobot.Device{led}, work, ) robot.Start() }
func main() { board := chip.NewAdaptor() mpu6050 := i2c.NewMPU6050Driver(board) work := func() { gobot.Every(100*time.Millisecond, func() { fmt.Println("Accelerometer", mpu6050.Accelerometer) fmt.Println("Gyroscope", mpu6050.Gyroscope) fmt.Println("Temperature", mpu6050.Temperature) }) } robot := gobot.NewRobot("mpu6050Bot", []gobot.Connection{board}, []gobot.Device{mpu6050}, work, ) robot.Start() }
func main() { chipAdaptor := chip.NewAdaptor() button := gpio.NewButtonDriver(chipAdaptor, "XIO-P0") work := func() { button.On(gpio.ButtonPush, func(data interface{}) { fmt.Println("button pressed") }) button.On(gpio.ButtonRelease, func(data interface{}) { fmt.Println("button released") }) } robot := gobot.NewRobot("buttonBot", []gobot.Connection{chipAdaptor}, []gobot.Device{button}, work, ) robot.Start() }
func main() { board := chip.NewAdaptor() accel := i2c.NewGroveAccelerometerDriver(board) work := func() { gobot.Every(500*time.Millisecond, func() { if x, y, z, err := accel.XYZ(); err == nil { fmt.Println(x, y, z) fmt.Println(accel.Acceleration(x, y, z)) } else { fmt.Println(err) } }) } robot := gobot.NewRobot("accelBot", []gobot.Connection{board}, []gobot.Device{accel}, work, ) robot.Start() }
func main() { chipAdaptor := chip.NewAdaptor() button := gpio.NewButtonDriver(chipAdaptor, "XIO-P6") led := gpio.NewLedDriver(chipAdaptor, "XIO-P7") work := func() { button.On(gpio.ButtonPush, func(data interface{}) { led.On() }) button.On(gpio.ButtonRelease, func(data interface{}) { led.Off() }) } robot := gobot.NewRobot("buttonBot", []gobot.Connection{chipAdaptor}, []gobot.Device{button, led}, work, ) robot.Start() }