gobot.io/x/gobot@v1.16.0/examples/firmata_servo.go (about) 1 // +build example 2 // 3 // Do not build by default. 4 5 /* 6 How to run 7 Pass serial port to use as the first param: 8 9 go run examples/firmata_servo.go /dev/ttyACM0 10 */ 11 12 package main 13 14 import ( 15 "fmt" 16 "os" 17 "time" 18 19 "gobot.io/x/gobot" 20 "gobot.io/x/gobot/drivers/gpio" 21 "gobot.io/x/gobot/platforms/firmata" 22 ) 23 24 func main() { 25 firmataAdaptor := firmata.NewAdaptor(os.Args[1]) 26 servo := gpio.NewServoDriver(firmataAdaptor, "3") 27 28 work := func() { 29 gobot.Every(1*time.Second, func() { 30 i := uint8(gobot.Rand(180)) 31 fmt.Println("Turning", i) 32 servo.Move(i) 33 }) 34 } 35 36 robot := gobot.NewRobot("servoBot", 37 []gobot.Connection{firmataAdaptor}, 38 []gobot.Device{servo}, 39 work, 40 ) 41 42 robot.Start() 43 }