From 4c834e703c06902d062f45859717763b91b89897 Mon Sep 17 00:00:00 2001 From: deadprogram Date: Wed, 12 Jul 2017 18:08:46 -0600 Subject: [PATCH] examples: firmata examples take command line param for port to use to microcontroller Signed-off-by: deadprogram --- examples/firmata_blink.go | 10 ++++- examples/firmata_blinkm.go | 10 ++++- examples/firmata_button.go | 11 +++++- examples/firmata_buzzer.go | 10 ++++- examples/firmata_cat_toy.go | 10 ++++- examples/firmata_curie_imu.go | 10 ++++- examples/firmata_curie_imu_shock_detect.go | 10 ++++- examples/firmata_curie_imu_step_counter.go | 10 ++++- examples/firmata_curie_imu_tap_detect.go | 10 ++++- examples/firmata_direct_pin.go | 10 ++++- examples/firmata_hmc6352.go | 10 ++++- examples/firmata_integration.go | 10 ++++- examples/firmata_led_brightness.go | 10 ++++- ...irmata_led_brightness_with_analog_input.go | 10 ++++- examples/firmata_lidarlite.go | 10 ++++- examples/firmata_makey_button.go | 11 +++++- examples/firmata_mma7660.go | 10 ++++- examples/firmata_motor.go | 10 ++++- examples/firmata_mpl115a2.go | 10 ++++- examples/firmata_mpu6050.go | 10 ++++- examples/firmata_pca9685.go | 10 ++++- examples/firmata_pir_motion.go | 10 ++++- examples/firmata_rgb_led.go | 10 ++++- examples/firmata_servo.go | 10 ++++- examples/firmata_temp36.go | 10 ++++- examples/firmata_travis.go | 10 ++++- examples/firmata_wiichuck.go | 10 ++++- examples/wifi_firmata_analog_input.go | 37 +++++++++++++++++++ 28 files changed, 282 insertions(+), 27 deletions(-) create mode 100644 examples/wifi_firmata_analog_input.go diff --git a/examples/firmata_blink.go b/examples/firmata_blink.go index 47413091..5710674f 100644 --- a/examples/firmata_blink.go +++ b/examples/firmata_blink.go @@ -2,10 +2,18 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_blink.go /dev/ttyACM0 +*/ + package main import ( "fmt" + "os" "time" "gobot.io/x/gobot" @@ -14,7 +22,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) led := gpio.NewLedDriver(firmataAdaptor, "13") work := func() { diff --git a/examples/firmata_blinkm.go b/examples/firmata_blinkm.go index 3677bea8..947669f4 100644 --- a/examples/firmata_blinkm.go +++ b/examples/firmata_blinkm.go @@ -2,10 +2,18 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_blinkm.go /dev/ttyACM0 +*/ + package main import ( "fmt" + "os" "time" "gobot.io/x/gobot" @@ -14,7 +22,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) blinkm := i2c.NewBlinkMDriver(firmataAdaptor) work := func() { diff --git a/examples/firmata_button.go b/examples/firmata_button.go index c1b70bc5..2cc85040 100644 --- a/examples/firmata_button.go +++ b/examples/firmata_button.go @@ -2,16 +2,25 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_button.go /dev/ttyACM0 +*/ + package main import ( + "os" + "gobot.io/x/gobot" "gobot.io/x/gobot/drivers/gpio" "gobot.io/x/gobot/platforms/firmata" ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) button := gpio.NewButtonDriver(firmataAdaptor, "2") led := gpio.NewLedDriver(firmataAdaptor, "3") diff --git a/examples/firmata_buzzer.go b/examples/firmata_buzzer.go index 4a0e75c5..1b352fe2 100644 --- a/examples/firmata_buzzer.go +++ b/examples/firmata_buzzer.go @@ -2,9 +2,17 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_buzzer.go /dev/ttyACM0 +*/ + package main import ( + "os" "time" "gobot.io/x/gobot" @@ -13,7 +21,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) buzzer := gpio.NewBuzzerDriver(firmataAdaptor, "3") work := func() { diff --git a/examples/firmata_cat_toy.go b/examples/firmata_cat_toy.go index 618d2ab9..d855674d 100644 --- a/examples/firmata_cat_toy.go +++ b/examples/firmata_cat_toy.go @@ -2,10 +2,18 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_cat_toy.go /dev/ttyACM0 +*/ + package main import ( "fmt" + "os" "time" "gobot.io/x/gobot" @@ -15,7 +23,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) servo1 := gpio.NewServoDriver(firmataAdaptor, "5") servo2 := gpio.NewServoDriver(firmataAdaptor, "3") diff --git a/examples/firmata_curie_imu.go b/examples/firmata_curie_imu.go index 7ebe83ac..a3f03501 100644 --- a/examples/firmata_curie_imu.go +++ b/examples/firmata_curie_imu.go @@ -2,10 +2,18 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_curie_imu.go /dev/ttyACM0 +*/ + package main import ( "log" + "os" "time" "gobot.io/x/gobot" @@ -15,7 +23,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) led := gpio.NewLedDriver(firmataAdaptor, "13") imu := curie.NewIMUDriver(firmataAdaptor) diff --git a/examples/firmata_curie_imu_shock_detect.go b/examples/firmata_curie_imu_shock_detect.go index 941cd63c..5143efe4 100644 --- a/examples/firmata_curie_imu_shock_detect.go +++ b/examples/firmata_curie_imu_shock_detect.go @@ -2,10 +2,18 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_curie_imu_shock_detect.go /dev/ttyACM0 +*/ + package main import ( "log" + "os" "time" "gobot.io/x/gobot" @@ -15,7 +23,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) led := gpio.NewLedDriver(firmataAdaptor, "13") imu := curie.NewIMUDriver(firmataAdaptor) diff --git a/examples/firmata_curie_imu_step_counter.go b/examples/firmata_curie_imu_step_counter.go index ab109395..20e82120 100644 --- a/examples/firmata_curie_imu_step_counter.go +++ b/examples/firmata_curie_imu_step_counter.go @@ -2,10 +2,18 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_curie_imu_step_counter.go /dev/ttyACM0 +*/ + package main import ( "log" + "os" "time" "gobot.io/x/gobot" @@ -15,7 +23,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) led := gpio.NewLedDriver(firmataAdaptor, "13") imu := curie.NewIMUDriver(firmataAdaptor) diff --git a/examples/firmata_curie_imu_tap_detect.go b/examples/firmata_curie_imu_tap_detect.go index c5ae4200..828bc59b 100644 --- a/examples/firmata_curie_imu_tap_detect.go +++ b/examples/firmata_curie_imu_tap_detect.go @@ -2,10 +2,18 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_curie_imu_tap_detect.go /dev/ttyACM0 +*/ + package main import ( "log" + "os" "time" "gobot.io/x/gobot" @@ -15,7 +23,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) led := gpio.NewLedDriver(firmataAdaptor, "13") imu := curie.NewIMUDriver(firmataAdaptor) diff --git a/examples/firmata_direct_pin.go b/examples/firmata_direct_pin.go index 7dfe4ebb..a7ac93db 100644 --- a/examples/firmata_direct_pin.go +++ b/examples/firmata_direct_pin.go @@ -2,9 +2,17 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_direct_pin.go /dev/ttyACM0 +*/ + package main import ( + "os" "time" "gobot.io/x/gobot" @@ -13,7 +21,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) pin := gpio.NewDirectPinDriver(firmataAdaptor, "13") work := func() { diff --git a/examples/firmata_hmc6352.go b/examples/firmata_hmc6352.go index 7ad3b063..9f7b9741 100644 --- a/examples/firmata_hmc6352.go +++ b/examples/firmata_hmc6352.go @@ -2,10 +2,18 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_hmc6352.go /dev/ttyACM0 +*/ + package main import ( "fmt" + "os" "time" "gobot.io/x/gobot" @@ -14,7 +22,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) hmc6352 := i2c.NewHMC6352Driver(firmataAdaptor) work := func() { diff --git a/examples/firmata_integration.go b/examples/firmata_integration.go index f9c00391..d983c7d8 100644 --- a/examples/firmata_integration.go +++ b/examples/firmata_integration.go @@ -2,10 +2,18 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_integration.go /dev/ttyACM0 +*/ + package main import ( "fmt" + "os" "time" "gobot.io/x/gobot" @@ -15,7 +23,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) led1 := gpio.NewLedDriver(firmataAdaptor, "3") led2 := gpio.NewLedDriver(firmataAdaptor, "4") button := gpio.NewButtonDriver(firmataAdaptor, "2") diff --git a/examples/firmata_led_brightness.go b/examples/firmata_led_brightness.go index ac050754..128c4e5c 100644 --- a/examples/firmata_led_brightness.go +++ b/examples/firmata_led_brightness.go @@ -2,9 +2,17 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_led_brightness.go /dev/ttyACM0 +*/ + package main import ( + "os" "time" "gobot.io/x/gobot" @@ -13,7 +21,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) led := gpio.NewLedDriver(firmataAdaptor, "3") work := func() { diff --git a/examples/firmata_led_brightness_with_analog_input.go b/examples/firmata_led_brightness_with_analog_input.go index 78870c57..a03964af 100644 --- a/examples/firmata_led_brightness_with_analog_input.go +++ b/examples/firmata_led_brightness_with_analog_input.go @@ -2,10 +2,18 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_led_brightness_with_analog_input.go /dev/ttyACM0 +*/ + package main import ( "fmt" + "os" "gobot.io/x/gobot" "gobot.io/x/gobot/drivers/aio" @@ -14,7 +22,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) sensor := aio.NewAnalogSensorDriver(firmataAdaptor, "0") led := gpio.NewLedDriver(firmataAdaptor, "3") diff --git a/examples/firmata_lidarlite.go b/examples/firmata_lidarlite.go index f413c516..0384ff1b 100644 --- a/examples/firmata_lidarlite.go +++ b/examples/firmata_lidarlite.go @@ -2,10 +2,18 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_lidarlite.go /dev/ttyACM0 +*/ + package main import ( "fmt" + "os" "time" "gobot.io/x/gobot" @@ -14,7 +22,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) lidar := i2c.NewLIDARLiteDriver(firmataAdaptor) work := func() { diff --git a/examples/firmata_makey_button.go b/examples/firmata_makey_button.go index ed743698..b511f8e7 100644 --- a/examples/firmata_makey_button.go +++ b/examples/firmata_makey_button.go @@ -2,16 +2,25 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_makey_button.go /dev/ttyACM0 +*/ + package main import ( + "os" + "gobot.io/x/gobot" "gobot.io/x/gobot/drivers/gpio" "gobot.io/x/gobot/platforms/firmata" ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) button := gpio.NewMakeyButtonDriver(firmataAdaptor, "2") led := gpio.NewLedDriver(firmataAdaptor, "13") diff --git a/examples/firmata_mma7660.go b/examples/firmata_mma7660.go index ca5ee8d0..c7f0b2dd 100644 --- a/examples/firmata_mma7660.go +++ b/examples/firmata_mma7660.go @@ -2,10 +2,18 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_mma7660.go /dev/ttyACM0 +*/ + package main import ( "fmt" + "os" "time" "gobot.io/x/gobot" @@ -14,7 +22,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) mma7660 := i2c.NewMMA7660Driver(firmataAdaptor) work := func() { diff --git a/examples/firmata_motor.go b/examples/firmata_motor.go index f55852e5..4fff2d42 100644 --- a/examples/firmata_motor.go +++ b/examples/firmata_motor.go @@ -2,9 +2,17 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_motor.go /dev/ttyACM0 +*/ + package main import ( + "os" "time" "gobot.io/x/gobot" @@ -13,7 +21,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) motor := gpio.NewMotorDriver(firmataAdaptor, "3") work := func() { diff --git a/examples/firmata_mpl115a2.go b/examples/firmata_mpl115a2.go index 607f2ada..15704231 100644 --- a/examples/firmata_mpl115a2.go +++ b/examples/firmata_mpl115a2.go @@ -2,10 +2,18 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_mpl115a2.go /dev/ttyACM0 +*/ + package main import ( "fmt" + "os" "time" "gobot.io/x/gobot" @@ -14,7 +22,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) mpl115a2 := i2c.NewMPL115A2Driver(firmataAdaptor) work := func() { diff --git a/examples/firmata_mpu6050.go b/examples/firmata_mpu6050.go index e88e6af6..d4a637ea 100644 --- a/examples/firmata_mpu6050.go +++ b/examples/firmata_mpu6050.go @@ -2,10 +2,18 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_mpu6050.go /dev/ttyACM0 +*/ + package main import ( "fmt" + "os" "time" "gobot.io/x/gobot" @@ -14,7 +22,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) mpu6050 := i2c.NewMPU6050Driver(firmataAdaptor) work := func() { diff --git a/examples/firmata_pca9685.go b/examples/firmata_pca9685.go index 26a2f517..54892671 100644 --- a/examples/firmata_pca9685.go +++ b/examples/firmata_pca9685.go @@ -2,10 +2,18 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_pca9685.go /dev/ttyACM0 +*/ + package main import ( "fmt" + "os" "time" "gobot.io/x/gobot" @@ -15,7 +23,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) pca9685 := i2c.NewPCA9685Driver(firmataAdaptor) servo := gpio.NewServoDriver(pca9685, "15") diff --git a/examples/firmata_pir_motion.go b/examples/firmata_pir_motion.go index 83848d1c..c26645d6 100644 --- a/examples/firmata_pir_motion.go +++ b/examples/firmata_pir_motion.go @@ -2,10 +2,18 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_pir_motion.go /dev/ttyACM0 +*/ + package main import ( "fmt" + "os" "gobot.io/x/gobot" "gobot.io/x/gobot/drivers/gpio" @@ -13,7 +21,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) sensor := gpio.NewPIRMotionDriver(firmataAdaptor, "5") led := gpio.NewLedDriver(firmataAdaptor, "13") diff --git a/examples/firmata_rgb_led.go b/examples/firmata_rgb_led.go index 805f772b..9b0e0893 100644 --- a/examples/firmata_rgb_led.go +++ b/examples/firmata_rgb_led.go @@ -2,9 +2,17 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_rgb_led.go /dev/ttyACM0 +*/ + package main import ( + "os" "time" "gobot.io/x/gobot" @@ -13,7 +21,7 @@ import ( ) func main() { - board := firmata.NewAdaptor("/dev/ttyACM0") + board := firmata.NewAdaptor(os.Args[1]) led := gpio.NewRgbLedDriver(board, "3", "5", "6") work := func() { diff --git a/examples/firmata_servo.go b/examples/firmata_servo.go index 69eb2e67..5e084d5b 100644 --- a/examples/firmata_servo.go +++ b/examples/firmata_servo.go @@ -2,10 +2,18 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_servo.go /dev/ttyACM0 +*/ + package main import ( "fmt" + "os" "time" "gobot.io/x/gobot" @@ -14,7 +22,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) servo := gpio.NewServoDriver(firmataAdaptor, "3") work := func() { diff --git a/examples/firmata_temp36.go b/examples/firmata_temp36.go index b60aa3fd..09a83040 100644 --- a/examples/firmata_temp36.go +++ b/examples/firmata_temp36.go @@ -2,9 +2,17 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_temp36.go /dev/ttyACM0 +*/ + package main import ( + "os" "time" "fmt" @@ -14,7 +22,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) work := func() { gobot.Every(1*time.Second, func() { diff --git a/examples/firmata_travis.go b/examples/firmata_travis.go index 89fa68f3..459c8d95 100644 --- a/examples/firmata_travis.go +++ b/examples/firmata_travis.go @@ -2,6 +2,13 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_travis.go /dev/ttyACM0 +*/ + package main import ( @@ -9,6 +16,7 @@ import ( "fmt" "io/ioutil" "net/http" + "os" "time" "gobot.io/x/gobot" @@ -69,7 +77,7 @@ func checkTravis(robot *gobot.Robot) { func main() { master := gobot.NewMaster() - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) red := gpio.NewLedDriver(firmataAdaptor, "7") red.SetName("red") green := gpio.NewLedDriver(firmataAdaptor, "6") diff --git a/examples/firmata_wiichuck.go b/examples/firmata_wiichuck.go index 751a2980..dcb0b9e3 100644 --- a/examples/firmata_wiichuck.go +++ b/examples/firmata_wiichuck.go @@ -2,10 +2,18 @@ // // Do not build by default. +/* + How to run + Pass serial port to use as the first param: + + go run examples/firmata_wiichuck.go /dev/ttyACM0 +*/ + package main import ( "fmt" + "os" "gobot.io/x/gobot" "gobot.io/x/gobot/drivers/i2c" @@ -13,7 +21,7 @@ import ( ) func main() { - firmataAdaptor := firmata.NewAdaptor("/dev/ttyACM0") + firmataAdaptor := firmata.NewAdaptor(os.Args[1]) wiichuck := i2c.NewWiichuckDriver(firmataAdaptor) work := func() { diff --git a/examples/wifi_firmata_analog_input.go b/examples/wifi_firmata_analog_input.go new file mode 100644 index 00000000..ba8a8c78 --- /dev/null +++ b/examples/wifi_firmata_analog_input.go @@ -0,0 +1,37 @@ +// +build example +// +// Do not build by default. + +package main + +import ( + "fmt" + "os" + + "gobot.io/x/gobot" + "gobot.io/x/gobot/drivers/aio" + "gobot.io/x/gobot/platforms/firmata" +) + +func main() { + firmataAdaptor := firmata.NewTCPAdaptor(os.Args[1]) + sensor := aio.NewAnalogSensorDriver(firmataAdaptor, "A0") + + work := func() { + sensor.On(aio.Data, func(data interface{}) { + brightness := uint8( + gobot.ToScale(gobot.FromScale(float64(data.(int)), 0, 1024), 0, 255), + ) + fmt.Println("sensor", data) + fmt.Println("brightness", brightness) + }) + } + + robot := gobot.NewRobot("sensorBot", + []gobot.Connection{firmataAdaptor}, + []gobot.Device{sensor}, + work, + ) + + robot.Start() +}