func main() { gbot := gobot.NewGobot() chipAdaptor := chip.NewChipAdaptor("chip") button := gpio.NewButtonDriver(chipAdaptor, "button", "XIO-P6") led := gpio.NewLedDriver(chipAdaptor, "led", "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, ) gbot.AddRobot(robot) gbot.Start() }
func main() { gbot := gobot.NewGobot() chipAdaptor := chip.NewChipAdaptor("chip") wiichuck := i2c.NewWiichuckDriver(chipAdaptor, "wiichuck") 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, ) gbot.AddRobot(robot) gbot.Start() }
func main() { gbot := gobot.NewGobot() board := chip.NewChipAdaptor("chip") accel := i2c.NewGroveAccelerometerDriver(board, "accel") 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, ) gbot.AddRobot(robot) gbot.Start() }
func main() { gbot := gobot.NewGobot() board := chip.NewChipAdaptor("chip") screen := i2c.NewGroveLcdDriver(board, "screen") 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.After(1 * time.Second) screen.SetRGB(0, 0, 255) } robot := gobot.NewRobot("screenBot", []gobot.Connection{board}, []gobot.Device{screen}, work, ) gbot.AddRobot(robot) gbot.Start() }
func main() { gbot := gobot.NewGobot() chipAdaptor := chip.NewChipAdaptor("chip") led := gpio.NewLedDriver(chipAdaptor, "led", "XIO-P0") work := func() { gobot.Every(1*time.Second, func() { led.Toggle() }) } robot := gobot.NewRobot("blinkBot", []gobot.Connection{chipAdaptor}, []gobot.Device{led}, work, ) gbot.AddRobot(robot) gbot.Start() }
func main() { gbot := gobot.NewGobot() chipAdaptor := chip.NewChipAdaptor("chip") button := gpio.NewButtonDriver(chipAdaptor, "button", "XIO-P0") work := func() { gobot.On(button.Event("push"), func(data interface{}) { fmt.Println("button pressed") }) gobot.On(button.Event("release"), func(data interface{}) { fmt.Println("button released") }) } robot := gobot.NewRobot("buttonBot", []gobot.Connection{chipAdaptor}, []gobot.Device{button}, work, ) gbot.AddRobot(robot) gbot.Start() }
func main() { gbot := gobot.NewGobot() board := chip.NewChipAdaptor("chip") mpu6050 := i2c.NewMPU6050Driver(board, "mpu6050") 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, ) gbot.AddRobot(robot) gbot.Start() }