树莓派用gobot测试舵机的使用

package main

import (
        "gobot.io/x/gobot"
        "gobot.io/x/gobot/drivers/gpio"
        "gobot.io/x/gobot/platforms/firmata"
        "gobot.io/x/gobot/platforms/leap"
)

// Video: https://www.youtube.com/watch?v=ayNMyUfdAqc
func main() {
        firmataAdaptor := firmata.NewAdaptor("/dev/tty.usbmodem1451")
        //gpio端口
        servo1 := gpio.NewServoDriver(firmataAdaptor, "12")

        leapMotionAdaptor := leap.NewAdaptor("127.0.0.1:6437")
        l := leap.NewDriver(leapMotionAdaptor)

        work := func() {
                fist := false
                l.On(leap.MessageEvent, func(data interface{}) {
                        handIsOpen := len(data.(leap.Frame).Pointables) > 0
                        if handIsOpen && fist {
                                servo1.Move(0)
                                fist = false
                        } else if !handIsOpen && !fist {
                                servo1.Move(120)
                                fist = true
                        }
                })
        }

        robot := gobot.NewRobot("servoBot",
                []gobot.Connection{firmataAdaptor, leapMotionAdaptor},
                []gobot.Device{servo1, l},
                work,
        )

        robot.Start()
}
posted @ 2018-01-12 11:05  nickchou  阅读(584)  评论(0编辑  收藏  举报