Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

GOBOT+ArduinoでDCモーターを動かしてみる

実際のところ

用具

Arduino UNO R3

D3、D5*1をつかいます。

モータードライバー TA2791P

モータードライバーには秋月で調達した"TA7291P"を使用。
shuzo-kino.hateblo.jp

スクリプト

ボールねじを上げ下げするサンプルは以下の通り。

package main

import (
	"time"
	"fmt"

	"gobot.io/x/gobot"
	"gobot.io/x/gobot/drivers/gpio"
	"gobot.io/x/gobot/platforms/firmata"
)

func main() {
	firmataAdaptor := firmata.NewAdaptor("/dev/tty.usbmodem1421")
	motor1 := gpio.NewMotorDriver(firmataAdaptor, "3")
	motor2 := gpio.NewMotorDriver(firmataAdaptor, "5")

        work := func() {
		count := 0

                gobot.Every(1000*time.Millisecond, func() {
			count = count + 1
			if (count % 2) == 0 {
				fmt.Println(count, "has 1 digit")
                        	motor2.Speed(0)
                        	motor1.Speed(200)
			} else {
				fmt.Println(count, "has 2 digit")
                        	motor1.Speed(0)
                        	motor2.Speed(250)
			}
                })
        }

	robot := gobot.NewRobot("servoBot",
		[]gobot.Connection{firmataAdaptor},
		[]gobot.Device{motor1,motor2},
		work,
	)

	robot.Start()
}

*1:それぞれPWM対応