本文整理汇总了Golang中github.com/hybridgroup/gobot/platforms/gpio.NewButtonDriver函数的典型用法代码示例。如果您正苦于以下问题:Golang NewButtonDriver函数的具体用法?Golang NewButtonDriver怎么用?Golang NewButtonDriver使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewButtonDriver函数的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: main
func main() {
gbot := gobot.NewGobot()
e := edison.NewEdisonAdaptor("edison")
m := mqtt.NewMqttAdaptor("mqtt", "tcp://192.168.0.90:1883", "pump")
lever := gpio.NewButtonDriver(e, "lever", "2")
fault := gpio.NewButtonDriver(e, "fault", "4")
pump := gpio.NewDirectPinDriver(e, "pump", "13")
work := func() {
dgram := url.Values{
"name": {"Four"},
"dispenser_id": {"4"},
"drink_id": {"0"},
"event": {"online"},
"details": {"dispenser"},
}
pumping := false
served := byte(0)
m.On("startPump", func(data []byte) {
if !pumping {
pumping = true
pump.DigitalWrite(1)
served++
dgram.Set("event", "online")
dgram.Set("drink_id", fmt.Sprintf("%v", served))
m.Publish("pumped", []byte(dgram.Encode()))
gobot.After(2*time.Second, func() {
pump.DigitalWrite(0)
pumping = false
})
}
})
gobot.On(lever.Event("push"), func(data interface{}) {
m.Publish("pump", []byte{})
})
m.On("startFault", func(data []byte) {
dgram.Set("event", "error")
m.Publish("fault", []byte(dgram.Encode()))
})
gobot.On(fault.Event("push"), func(data interface{}) {
m.Publish("startFault", []byte{})
})
}
gbot.AddRobot(gobot.NewRobot("brewmachine",
[]gobot.Connection{e, m},
[]gobot.Device{lever, fault, pump},
work,
))
gbot.Start()
}
开发者ID:hybridgroup,项目名称:gobot-demos,代码行数:58,代码来源:pump.go
示例2: main
func main() {
gbot := gobot.NewGobot()
a := api.NewAPI(gbot)
a.Start()
board := firmata.NewFirmataAdaptor("arduino", os.Args[1])
// digital devices
button = gpio.NewButtonDriver(board, "button", "2")
blue = gpio.NewLedDriver(board, "blue", "3")
green = gpio.NewLedDriver(board, "green", "4")
buzzer = gpio.NewGroveBuzzerDriver(board, "buzzer", "7")
touch = gpio.NewButtonDriver(board, "touch", "8")
// analog devices
light = gpio.NewAnalogSensorDriver(board, "light", "0")
work := func() {
Reset()
gobot.On(button.Event(gpio.Push), func(data interface{}) {
TurnOff()
fmt.Println("On!")
blue.On()
})
gobot.On(button.Event(gpio.Release), func(data interface{}) {
Reset()
})
gobot.On(touch.Event(gpio.Push), func(data interface{}) {
Doorbell()
})
gobot.On(light.Event("data"), func(data interface{}) {
fmt.Println("light", data)
})
}
robot := gobot.NewRobot("airlock",
[]gobot.Connection{board},
[]gobot.Device{button, blue, green, buzzer, touch, light},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
开发者ID:yargevad,项目名称:gobot-workshop-2016,代码行数:50,代码来源:step6.go
示例3: main
func main() {
gbot := gobot.NewGobot()
e := edison.NewEdisonAdaptor("edison")
button := gpio.NewButtonDriver(e, "myButton", "2")
led := gpio.NewLedDriver(e, "myLed", "4")
work := func() {
gobot.On(button.Event("push"), func(data interface{}) {
led.On()
})
gobot.On(button.Event("release"), func(data interface{}) {
led.Off()
})
}
robot := gobot.NewRobot("buttonBot",
[]gobot.Connection{e},
[]gobot.Device{led, button},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
开发者ID:laibulle,项目名称:jenpi,代码行数:27,代码来源:edison_button_led.go
示例4: main
func main() {
gbot := gobot.NewGobot()
sparkCore := spark.NewSparkCoreAdaptor("spark", "device_id", "access_token")
led := gpio.NewLedDriver(sparkCore, "led", "D7")
button := gpio.NewButtonDriver(sparkCore, "button", "D5")
work := func() {
gobot.On(button.Event("push"), func(data interface{}) {
led.On()
})
gobot.On(button.Event("release"), func(data interface{}) {
led.Off()
})
}
robot := gobot.NewRobot("spark",
[]gobot.Connection{sparkCore},
[]gobot.Device{button, led},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
开发者ID:aryanugroho,项目名称:gobot,代码行数:27,代码来源:spark_core_button.go
示例5: main
func main() {
gbot := gobot.NewGobot()
firmataAdaptor := firmata.NewFirmataAdaptor("myFirmata", "/dev/ttyACM0")
button := gpio.NewButtonDriver(firmataAdaptor, "myButton", "2")
led := gpio.NewLedDriver(firmataAdaptor, "myLed", "13")
work := func() {
button.On(gpio.ButtonPush, func(data interface{}) {
led.On()
})
button.On(gpio.ButtonRelease, func(data interface{}) {
led.Off()
})
}
robot := gobot.NewRobot("buttonBot",
[]gobot.Connection{firmataAdaptor},
[]gobot.Device{button, led},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
开发者ID:ympons,项目名称:gobot,代码行数:27,代码来源:firmata_button.go
示例6: main
func main() {
gbot := gobot.NewGobot()
chipAdaptor := chip.NewChipAdaptor("chip")
button := gpio.NewButtonDriver(chipAdaptor, "button", "XIO-P6")
led := gpio.NewLedDriver(chipAdaptor, "led", "XIO-P7")
work := func() {
button.On(gpio.ButtonPush, func(data interface{}) {
led.On()
})
button.On(gpio.ButtonRelease, func(data interface{}) {
led.Off()
})
}
robot := gobot.NewRobot("buttonBot",
[]gobot.Connection{chipAdaptor},
[]gobot.Device{button, led},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
开发者ID:ympons,项目名称:gobot,代码行数:25,代码来源:chip_button_led.go
示例7: main
func main() {
gbot := gobot.NewGobot()
r := raspi.NewRaspiAdaptor("raspi")
button := gpio.NewButtonDriver(r, "button", "11")
led := gpio.NewLedDriver(r, "led", "7")
work := func() {
button.On(gpio.ButtonPush, func(data interface{}) {
fmt.Println("button pressed")
led.On()
})
button.On(gpio.ButtonRelease, func(data interface{}) {
fmt.Println("button released")
led.Off()
})
}
robot := gobot.NewRobot("buttonBot",
[]gobot.Connection{r},
[]gobot.Device{button, led},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
开发者ID:ympons,项目名称:gobot,代码行数:27,代码来源:raspi_button.go
示例8: main
func main() {
gbot := gobot.NewGobot()
e := edison.NewEdisonAdaptor("edison")
button := gpio.NewButtonDriver(e, "myButton", "5")
led := gpio.NewLedDriver(e, "myLed", "13")
work := func() {
button.On(gpio.ButtonPush, func(data interface{}) {
led.On()
})
button.On(gpio.ButtonRelease, func(data interface{}) {
led.Off()
})
}
robot := gobot.NewRobot("buttonBot",
[]gobot.Connection{e},
[]gobot.Device{led, button},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
开发者ID:ympons,项目名称:gobot,代码行数:27,代码来源:edison_button.go
示例9: main
func main() {
gbot := gobot.NewGobot()
board := firmata.NewFirmataAdaptor("arduino", os.Args[1])
// digital devices
button := gpio.NewButtonDriver(board, "button", "2")
blue := gpio.NewLedDriver(board, "blue", "3")
work := func() {
gobot.On(button.Event(gpio.Push), func(data interface{}) {
fmt.Println("On!")
blue.On()
})
gobot.On(button.Event(gpio.Release), func(data interface{}) {
fmt.Println("Off!")
blue.Off()
})
}
robot := gobot.NewRobot("airlock",
[]gobot.Connection{board},
[]gobot.Device{button, blue},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
开发者ID:yargevad,项目名称:gobot-workshop-2016,代码行数:31,代码来源:step2.go
示例10: main
func main() {
e := edison.NewEdisonAdaptor("edison")
led := gpio.NewLedDriver(e, "led", "13")
button := gpio.NewButtonDriver(e, "button", "5")
e.Connect()
led.Start()
button.Start()
led.Off()
buttonEvents := button.Subscribe()
for {
select {
case event := <-buttonEvents:
fmt.Println("Event:", event.Name, event.Data)
if event.Name == gpio.ButtonPush {
led.Toggle()
}
}
}
}
开发者ID:ympons,项目名称:gobot,代码行数:22,代码来源:metal_button.go
示例11: main
func main() {
master := gobot.NewGobot()
sparkCore := spark.NewSparkCoreAdaptor("spark", "device_id", "access_token")
led := gpio.NewLedDriver(sparkCore, "led", "D7")
button := gpio.NewButtonDriver(sparkCore, "button", "D5")
work := func() {
gobot.On(button.Events["push"], func(data interface{}) {
led.On()
})
gobot.On(button.Events["release"], func(data interface{}) {
led.Off()
})
}
master.Robots = append(master.Robots,
gobot.NewRobot("spark", []gobot.Connection{sparkCore}, []gobot.Device{button, led}, work))
master.Start()
}
开发者ID:ninetwentyfour,项目名称:gobot,代码行数:22,代码来源:spark_core_button.go
示例12: main
func main() {
gbot := gobot.NewGobot()
firmataAdaptor := firmata.NewFirmataAdaptor("myFirmata", "/dev/ttyACM0")
button := gpio.NewButtonDriver(firmataAdaptor, "myButton", "2")
led := gpio.NewLedDriver(firmataAdaptor, "myLed", "13")
work := func() {
gobot.On(button.Events["push"], func(data interface{}) {
led.On()
})
gobot.On(button.Events["release"], func(data interface{}) {
led.Off()
})
}
gbot.Robots = append(gbot.Robots,
gobot.NewRobot("buttonBot", []gobot.Connection{firmataAdaptor}, []gobot.Device{button, led}, work),
)
gbot.Start()
}
开发者ID:ninetwentyfour,项目名称:gobot,代码行数:23,代码来源:firmata_button.go
示例13: main
func main() {
gbot := gobot.NewGobot()
firmataAdaptor := firmata.NewFirmataAdaptor("arduino", "/dev/ttyACM0")
led1 := gpio.NewLedDriver(firmataAdaptor, "led1", "3")
led2 := gpio.NewLedDriver(firmataAdaptor, "led2", "4")
button := gpio.NewButtonDriver(firmataAdaptor, "button", "2")
sensor := gpio.NewAnalogSensorDriver(firmataAdaptor, "sensor", "0")
work := func() {
gobot.Every(1*time.Second, func() {
led1.Toggle()
})
gobot.Every(2*time.Second, func() {
led2.Toggle()
})
button.On(gpio.ButtonPush, func(data interface{}) {
led2.On()
})
button.On(gpio.ButtonRelease, func(data interface{}) {
led2.Off()
})
sensor.On(gpio.Data, func(data interface{}) {
fmt.Println("sensor", data)
})
}
robot := gobot.NewRobot("bot",
[]gobot.Connection{firmataAdaptor},
[]gobot.Device{led1, led2, button, sensor},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
开发者ID:ympons,项目名称:gobot,代码行数:37,代码来源:firmata_integration.go
示例14: main
func main() {
gbot := gobot.NewGobot()
chipAdaptor := chip.NewChipAdaptor("chip")
button := gpio.NewButtonDriver(chipAdaptor, "button", "XIO-P0")
work := func() {
gobot.On(button.Event("push"), func(data interface{}) {
fmt.Println("button pressed")
})
gobot.On(button.Event("release"), func(data interface{}) {
fmt.Println("button released")
})
}
robot := gobot.NewRobot("buttonBot",
[]gobot.Connection{chipAdaptor},
[]gobot.Device{button},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
开发者ID:nathany,项目名称:gobot,代码行数:24,代码来源:chip_button.go
示例15: main
func main() {
gbot := gobot.NewGobot()
beagleboneAdaptor := beaglebone.NewBeagleboneAdaptor("beaglebone")
button := gpio.NewButtonDriver(beagleboneAdaptor, "button", "P8_9")
work := func() {
gobot.On(button.Event("push"), func(data interface{}) {
fmt.Println("button pressed")
})
gobot.On(button.Event("release"), func(data interface{}) {
fmt.Println("button released")
})
}
robot := gobot.NewRobot("buttonBot",
[]gobot.Connection{beagleboneAdaptor},
[]gobot.Device{button},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
开发者ID:aryanugroho,项目名称:gobot,代码行数:24,代码来源:beaglebone_button.go
示例16: main
func main() {
gbot := gobot.NewGobot()
a := api.NewAPI(gbot)
a.Start()
board := edison.NewEdisonAdaptor("edison")
red := gpio.NewLedDriver(board, "red", "3")
green := gpio.NewLedDriver(board, "green", "5")
blue := gpio.NewLedDriver(board, "blue", "6")
button := gpio.NewButtonDriver(board, "button", "7")
enabled := true
work := func() {
red.Brightness(0xff)
green.Brightness(0x00)
blue.Brightness(0x00)
flash := false
on := true
gobot.Every(250*time.Millisecond, func() {
if enabled {
if flash {
if on {
red.Brightness(0x00)
green.Brightness(0xff)
blue.Brightness(0x00)
on = false
} else {
red.Brightness(0xff)
green.Brightness(0x00)
blue.Brightness(0x00)
on = true
}
}
}
})
button.On(gpio.ButtonPush, func(data interface{}) {
flash = true
})
button.On(gpio.ButtonRelease, func(data interface{}) {
flash = false
red.Brightness(0x00)
green.Brightness(0x00)
blue.Brightness(0xff)
})
}
robot := gobot.NewRobot(
"square of fire",
[]gobot.Connection{board},
[]gobot.Device{red, green, blue, button},
work,
)
robot.AddCommand("enable", func(params map[string]interface{}) interface{} {
enabled = !enabled
return enabled
})
gbot.AddRobot(robot)
gbot.Start()
}
开发者ID:ympons,项目名称:gobot,代码行数:67,代码来源:square.go
示例17: main
func main() {
// initialize our base configuration for the system
initConfiguration()
// initialize a new gobot
gbot := gobot.NewGobot()
// initialize a raspberry pi adaptor
raspberry := raspi.NewRaspiAdaptor("raspi")
// start/stop button for a woman
buttonWoman := gpio.NewButtonDriver(raspberry, "buttonWoman", "11") // GPIO #17 (Low)
ledWoman := gpio.NewLedDriver(raspberry, "ledWoman", "36") // GPIO #16 (Low)
// start/stop buttom for a man
buttonMan := gpio.NewButtonDriver(raspberry, "buttonMan", "12") // GPIO #18 (Low)
ledMan := gpio.NewLedDriver(raspberry, "ledMan", "40") // GPIO #21 (Low)
// contact with the wire (start- and finish-area)
contactStart := gpio.NewButtonDriver(raspberry, "contactStart", "13") // GPIO #27 (Low)
contactFinish := gpio.NewButtonDriver(raspberry, "contactFinish", "22") // GPIO #25 (Low)
// user made contact with the wire (use buzzer to indicate audible)
contactWire := gpio.NewButtonDriver(raspberry, "contactWire", "16") // GPIO #23 (Low)
buzzer := gpio.NewLedDriver(raspberry, "buzzer", "32") // GPIO #12 (Low)
// create a channel for game events
GameEvents = make(chan string)
// simulate events with keyboard interaction
go simulate(GameEvents)
// define the work to be done by the robot (i.e. react to events)
work := func() {
// user pushed the start/stop button
gobot.On(buttonWoman.Event("push"), func(data interface{}) {
handleButtonPress(FEMALE)
})
gobot.On(buttonMan.Event("push"), func(data interface{}) {
handleButtonPress(MALE)
})
// user made contact with wire
gobot.On(contactWire.Event("push"), handleWireContact)
// user is starting the game (must touch the starting area)
gobot.On(contactStart.Event("push"), handleStartContact)
// user finished the game (touched finish area)
gobot.On(contactFinish.Event("push"), handleFinishContact)
go func() {
for event := range GameEvents {
switch event {
// sound the buzzer
case "soundBuzzer":
go func() {
buzzer.On()
<-time.After(300 * time.Millisecond)
buzzer.Off()
}()
// enable/disable the led for the woman button
case "enableLedWoman":
ledWoman.On()
case "disableLedWoman":
ledWoman.Off()
// enable/disable the lef for the man button
case "enableLedMan":
ledMan.On()
case "disableLedMan":
ledMan.Off()
// disable all leds
case "ledOff":
ledWoman.Off()
ledMan.Off()
// simulated events
case "button":
handleButtonPress(FEMALE)
case "contact":
handleWireContact(nil)
case "start":
handleStartContact(nil)
case "finish":
handleFinishContact(nil)
case "off":
ledMan.Off()
ledWoman.Off()
buzzer.Off()
}
}
//.........这里部分代码省略.........
开发者ID:tikiatua,项目名称:buzz-wire,代码行数:101,代码来源:main.go
注:本文中的github.com/hybridgroup/gobot/platforms/gpio.NewButtonDriver函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论