func main() { beagleboneAdaptor := beaglebone.NewAdaptor() led := gpio.NewLedDriver(beagleboneAdaptor, "P9_14") work := func() { brightness := uint8(0) fadeAmount := uint8(5) gobot.Every(100*time.Millisecond, func() { led.Brightness(brightness) brightness = brightness + fadeAmount if brightness == 0 || brightness == 255 { fadeAmount = -fadeAmount } }) } robot := gobot.NewRobot("pwmBot", []gobot.Connection{beagleboneAdaptor}, []gobot.Device{led}, work, ) robot.Start() }
func main() { // Use Gobot to control BeagleBone's digital pins directly beagleboneAdaptor := beaglebone.NewAdaptor() gpioPin := gpio.NewDirectPinDriver(beagleboneAdaptor, "P9_12") // Initialize the internal representation of the pinout beagleboneAdaptor.Connect() // Cast to byte because we are returning an int from a function // and not passing in an int literal. gpioPin.DigitalWrite(byte(myStateFunction())) }
func main() { beagleboneAdaptor := beaglebone.NewAdaptor() led := gpio.NewLedDriver(beagleboneAdaptor, "P9_12") work := func() { gobot.Every(1*time.Second, func() { led.Toggle() }) } robot := gobot.NewRobot("blinkBot", []gobot.Connection{beagleboneAdaptor}, []gobot.Device{led}, work, ) robot.Start() }
func main() { beagleboneAdaptor := beaglebone.NewAdaptor() servo := gpio.NewServoDriver(beagleboneAdaptor, "P9_14") work := func() { gobot.Every(1*time.Second, func() { i := uint8(gobot.Rand(180)) fmt.Println("Turning", i) servo.Move(i) }) } robot := gobot.NewRobot("servoBot", []gobot.Connection{beagleboneAdaptor}, []gobot.Device{servo}, work, ) robot.Start() }
func main() { beagleboneAdaptor := beaglebone.NewAdaptor() button := gpio.NewMakeyButtonDriver(beagleboneAdaptor, "P8_9") 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("makeyBot", []gobot.Connection{beagleboneAdaptor}, []gobot.Device{button}, work, ) robot.Start() }
func main() { beagleboneAdaptor := beaglebone.NewAdaptor() blinkm := i2c.NewBlinkMDriver(beagleboneAdaptor) work := func() { gobot.Every(3*time.Second, func() { r := byte(gobot.Rand(255)) g := byte(gobot.Rand(255)) b := byte(gobot.Rand(255)) blinkm.Rgb(r, g, b) color, _ := blinkm.Color() fmt.Println("color", color) }) } robot := gobot.NewRobot("blinkmBot", []gobot.Connection{beagleboneAdaptor}, []gobot.Device{blinkm}, work, ) robot.Start() }
func main() { beagleboneAdaptor := beaglebone.NewAdaptor() led := gpio.NewDirectPinDriver(beagleboneAdaptor, "P8_10") button := gpio.NewDirectPinDriver(beagleboneAdaptor, "P8_9") work := func() { gobot.Every(500*time.Millisecond, func() { val, _ := button.DigitalRead() if val == 1 { led.DigitalWrite(1) } else { led.DigitalWrite(0) } }) } robot := gobot.NewRobot("pinBot", []gobot.Connection{beagleboneAdaptor}, []gobot.Device{led}, work, ) robot.Start() }
func main() { beagleboneAdaptor := beaglebone.NewAdaptor() sensor := gpio.NewAnalogSensorDriver(beagleboneAdaptor, "P9_33") led := gpio.NewLedDriver(beagleboneAdaptor, "P9_14") work := func() { sensor.On(sensor.Event("data"), func(data interface{}) { brightness := uint8( gobot.ToScale(gobot.FromScale(float64(data.(int)), 0, 1024), 0, 255), ) fmt.Println("sensor", data) fmt.Println("brightness", brightness) led.Brightness(brightness) }) } robot := gobot.NewRobot("sensorBot", []gobot.Connection{beagleboneAdaptor}, []gobot.Device{sensor, led}, work, ) robot.Start() }