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()
}

相关文章:

  • 2021-10-21
  • 2022-12-23
  • 2022-12-23
  • 2021-05-24
  • 2021-11-30
  • 2021-12-25
  • 2022-02-07
猜你喜欢
  • 2022-12-23
  • 2022-01-05
  • 2022-12-23
  • 2021-07-26
  • 2021-11-22
  • 2021-06-11
  • 2021-11-05
相关资源
相似解决方案