gobot.io/x/gobot/v2@v2.1.0/examples/joule_leds.go (about) 1 //go:build example 2 // +build example 3 4 // 5 // Do not build by default. 6 7 package main 8 9 import ( 10 "time" 11 12 "gobot.io/x/gobot/v2" 13 "gobot.io/x/gobot/v2/drivers/gpio" 14 "gobot.io/x/gobot/v2/platforms/intel-iot/joule" 15 ) 16 17 func main() { 18 e := joule.NewAdaptor() 19 led0 := gpio.NewLedDriver(e, "GP100") 20 led1 := gpio.NewLedDriver(e, "GP101") 21 led2 := gpio.NewLedDriver(e, "GP102") 22 led3 := gpio.NewLedDriver(e, "GP103") 23 24 work := func() { 25 led0.Off() 26 led1.Off() 27 led2.Off() 28 led3.Off() 29 30 gobot.Every(1*time.Second, func() { 31 led0.Toggle() 32 }) 33 gobot.Every(2*time.Second, func() { 34 led1.Toggle() 35 }) 36 gobot.Every(4*time.Second, func() { 37 led2.Toggle() 38 }) 39 gobot.Every(8*time.Second, func() { 40 led3.Toggle() 41 }) 42 } 43 44 robot := gobot.NewRobot("blinkBot", 45 []gobot.Connection{e}, 46 []gobot.Device{led0, led1, led2, led3}, 47 work, 48 ) 49 50 robot.Start() 51 }