gobot.io/x/gobot@v1.16.0/examples/sprkplus_collision.go (about) 1 // +build example 2 // 3 // Do not build by default. 4 5 /* 6 How to run 7 Pass the Bluetooth address or name as the first param: 8 9 go run examples/bb8-collision.go BB-1234 10 11 NOTE: sudo is required to use BLE in Linux 12 */ 13 14 package main 15 16 import ( 17 "fmt" 18 "os" 19 20 "gobot.io/x/gobot" 21 "gobot.io/x/gobot/platforms/ble" 22 "gobot.io/x/gobot/platforms/sphero/sprkplus" 23 ) 24 25 func main() { 26 bleAdaptor := ble.NewClientAdaptor(os.Args[1]) 27 ball := sprkplus.NewDriver(bleAdaptor) 28 29 work := func() { 30 ball.On("collision", func(data interface{}) { 31 fmt.Printf("collision detected = %+v \n", data) 32 ball.SetRGB(255, 0, 0) 33 }) 34 35 ball.SetRGB(0, 255, 0) 36 ball.Roll(80, 0) 37 } 38 39 robot := gobot.NewRobot("sprkplus", 40 []gobot.Connection{bleAdaptor}, 41 []gobot.Device{ball}, 42 work, 43 ) 44 45 robot.Start() 46 }