gobot.io/x/gobot/v2@v2.1.0/platforms/firmata/client/examples/blink.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 "fmt" 11 "time" 12 13 "go.bug.st/serial" 14 "gobot.io/x/gobot/v2/platforms/firmata/client" 15 ) 16 17 func main() { 18 sp, err := serial.Open("/dev/ttyACM0", &serial.Mode{BaudRate: 57600}) 19 if err != nil { 20 panic(err) 21 } 22 23 board := client.New() 24 25 fmt.Println("connecting.....") 26 err = board.Connect(sp) 27 defer board.Disconnect() 28 29 if err != nil { 30 panic(err) 31 } 32 33 fmt.Println("firmware name:", board.FirmwareName) 34 fmt.Println("firmata version:", board.ProtocolVersion) 35 36 pin := 13 37 if err = board.SetPinMode(pin, client.Output); err != nil { 38 panic(err) 39 } 40 41 level := 0 42 43 for { 44 level ^= 1 45 if err := board.DigitalWrite(pin, level); err != nil { 46 panic(err) 47 } 48 fmt.Println("level:", level) 49 time.Sleep(500 * time.Millisecond) 50 } 51 }