func main() { firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") pin := gpio.NewDirectPinDriver(firmataAdaptor, "13") work := func() { level := byte(1) gobot.Every(1*time.Second, func() { pin.DigitalWrite(level) if level == 1 { level = 0 } else { level = 1 } }) } robot := gobot.NewRobot("pinBot", []gobot.Connection{firmataAdaptor}, []gobot.Device{pin}, 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.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() }