func main() { flag.Parse() if err := embd.InitGPIO(); err != nil { panic(err) } defer embd.CloseGPIO() pwm, err := embd.NewPWMPin("P9_14") if err != nil { panic(err) } defer pwm.Close() if err := pwm.SetDuty(bbb.PWMDefaultPeriod / 2); err != nil { panic(err) } time.Sleep(1 * time.Second) }
func main() { flag.Parse() embd.InitGPIO() defer embd.CloseGPIO() pwm, err := embd.NewPWMPin("P9_14") if err != nil { panic(err) } defer pwm.Close() servo := servo.New(pwm) quit := make(chan os.Signal, 1) signal.Notify(quit, os.Interrupt, os.Kill) turnTimer := time.Tick(500 * time.Millisecond) left := true servo.SetAngle(90) defer func() { servo.SetAngle(90) }() for { select { case <-turnTimer: left = !left switch left { case true: servo.SetAngle(70) case false: servo.SetAngle(110) } case <-quit: return } } }