Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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対応