本文整理汇总了Golang中github.com/hybridgroup/gobot/platforms/gpio.NewLedDriver函数的典型用法代码示例。如果您正苦于以下问题:Golang NewLedDriver函数的具体用法?Golang NewLedDriver怎么用?Golang NewLedDriver使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NewLedDriver函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: main
func main() {
gbot := gobot.NewGobot()
firmataAdaptor := firmata.NewFirmataAdaptor("firmata", "/dev/ttyACM0")
red := gpio.NewLedDriver(firmataAdaptor, "red", "7")
green := gpio.NewLedDriver(firmataAdaptor, "green", "6")
blue := gpio.NewLedDriver(firmataAdaptor, "blue", "5")
work := func() {
checkTravis(gbot.Robot("travis"))
gobot.Every(10*time.Second, func() {
checkTravis(gbot.Robot("travis"))
})
}
robot := gobot.NewRobot("travis",
[]gobot.Connection{firmataAdaptor},
[]gobot.Device{red, green, blue},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
示例2: 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")
green = gpio.NewLedDriver(board, "green", "4")
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()
})
}
robot := gobot.NewRobot("airlock",
[]gobot.Connection{board},
[]gobot.Device{button, blue, green},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
示例3: NewMatrixCube
// NewMatrixCube creates a new matrix based cube.
func NewMatrixCube(conn gpio.DigitalWriter, config MatrixConfig) (*MatrixCube, error) {
rows := []*gpio.LedDriver{}
for _, elem := range config.Rows {
rows = append(rows, gpio.NewLedDriver(conn, "led", strconv.FormatInt(int64(elem), 10)))
}
cols := []*gpio.LedDriver{}
for _, elem := range config.Cols {
cols = append(cols, gpio.NewLedDriver(conn, "led", strconv.FormatInt(int64(elem), 10)))
}
dim := make([][][]MatrixPoint, len(config.Cube))
for i, tmp1 := range config.Cube {
dim[i] = make([][]MatrixPoint, len(tmp1))
for j, tmp2 := range tmp1 {
dim[i][j] = make([]MatrixPoint, len(tmp2))
for k := range tmp2 {
dim[i][j][k] = MatrixPoint{rows[config.Cube[i][j][k][0]], cols[config.Cube[i][j][k][1]]}
}
}
}
return &MatrixCube{
dim: dim,
rows: rows,
cols: cols,
}, nil
}
示例4: main
func main() {
gbot := gobot.NewGobot()
e := edison.NewEdisonAdaptor("edison")
board_led := gpio.NewLedDriver(e, "led", "13")
red_led := gpio.NewLedDriver(e, "led", "3")
green_led := gpio.NewLedDriver(e, "led", "2")
buzzer := gpio.NewBuzzerDriver(e, "buzzer", "4")
// Blink the Board LED
board_blink_work := func() {
gobot.Every(10*time.Second, func() {
board_led.Toggle()
})
}
// Ring the buzzer
buzzer_work := func() {
gobot.Every(4*time.Second, func() {
buzzer.Tone(gpio.G5, gpio.Eighth)
})
}
board_blink_bot := gobot.NewRobot("Board LED",
[]gobot.Connection{e},
[]gobot.Device{board_led},
board_blink_work,
)
buzz_bot := gobot.NewRobot("buzzBot",
[]gobot.Connection{e},
[]gobot.Device{buzzer},
buzzer_work,
)
red_blink_bot := gobot.NewRobot("Red LED",
[]gobot.Connection{e},
[]gobot.Device{red_led},
)
green_blink_bot := gobot.NewRobot("Green LED",
[]gobot.Connection{e},
[]gobot.Device{green_led},
)
gbot.AddRobot(board_blink_bot)
gbot.AddRobot(green_blink_bot)
gbot.AddRobot(red_blink_bot)
gbot.AddRobot(buzz_bot)
a := api.NewAPI(gbot)
a.Debug()
a.Start()
gbot.Start()
}
示例5: blink
func blink(colors chan int) {
//initialize robot friend
gbot := gobot.NewGobot()
firmataAdaptor := firmata.NewFirmataAdaptor("arduino", "/dev/cu.usbmodem1421")
led_g := gpio.NewLedDriver(firmataAdaptor, "led", "13")
led_r := gpio.NewLedDriver(firmataAdaptor, "led", "12")
led_b := gpio.NewLedDriver(firmataAdaptor, "led", "11")
led_rainbow := gpio.NewLedDriver(firmataAdaptor, "led", "10")
work := func() {
gobot.Every(1*time.Millisecond, func() {
color, alive := <-colors
if !alive {
panic("Quittin'")
}
switch color {
case 0:
led_rainbow.Off()
led_g.Toggle()
case 1:
led_rainbow.Off()
led_b.Toggle()
case 2:
led_rainbow.Off()
led_r.Toggle()
case 3:
led_g.Off()
led_b.Off()
led_r.Off()
led_rainbow.On()
}
})
}
robot := gobot.NewRobot("bot",
[]gobot.Connection{firmataAdaptor},
[]gobot.Device{led_g},
[]gobot.Device{led_r},
[]gobot.Device{led_b},
[]gobot.Device{led_rainbow},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
示例6: 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()
}
示例7: main
func main() {
gatoradeDashButton, _ := net.ParseMAC("74:75:48:a4:59:a8")
gladDashButton, _ := net.ParseMAC("74:75:48:29:a8:7c")
flag.Parse()
log.Printf("Starting up gobot.io features...")
e := edison.NewEdisonAdaptor("edison")
// blue led on D4
led1 := gpio.NewLedDriver(e, "led", "4")
// red led on D3
led2 := gpio.NewLedDriver(e, "led", "3")
e.Connect()
led1.Start()
led2.Start()
log.Printf("Starting up on interface[%v]...", *interfaceName)
h, err := pcap.OpenLive(*interfaceName, 65536, true, pcap.BlockForever)
if err != nil || h == nil {
log.Fatalf("Error opening interface: %s\nPerhaps you need to run as root?\n", err)
}
defer h.Close()
err = h.SetBPFFilter("arp and ((ether src host " + gatoradeDashButton.String() + ") or (ether src host " + gladDashButton.String() + "))")
if err != nil {
log.Fatalf("Unable to set filter! %s\n", err)
}
log.Println("Listening for Dash buttons...")
packetSource := gopacket.NewPacketSource(h, h.LinkType())
// Since we're using a BPF filter to limit packets to only our buttons, we don't need to worry about anything besides MAC here...
for packet := range packetSource.Packets() {
ethernetLayer := packet.Layer(layers.LayerTypeEthernet)
ethernetPacket, _ := ethernetLayer.(*layers.Ethernet)
if bytes.Equal(ethernetPacket.SrcMAC, gatoradeDashButton) {
gatoradeButtonPress(led1)
} else if bytes.Equal(ethernetPacket.SrcMAC, gladDashButton) {
gladButtonPress(led2)
} else {
log.Printf("Received button press, but don't know how to handle MAC[%v]", ethernetPacket.SrcMAC)
}
}
}
示例8: main
func main() {
gbot := gobot.NewGobot()
sparkCore := spark.NewSparkCoreAdaptor("spark", "device_id", "access_token")
led := gpio.NewLedDriver(sparkCore, "led", "A1")
work := func() {
brightness := uint8(0)
fadeAmount := uint8(25)
gobot.Every(500*time.Millisecond, func() {
led.Brightness(brightness)
brightness = brightness + fadeAmount
if brightness == 0 || brightness == 255 {
fadeAmount = -fadeAmount
}
})
}
robot := gobot.NewRobot("spark",
[]gobot.Connection{sparkCore},
[]gobot.Device{led},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
示例9: 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()
}
示例10: main
func main() {
gbot := gobot.NewGobot()
pin := "9"
brightness := byte(0)
fade := byte(5)
delay := 30 * time.Millisecond
firmataAdaptor := firmata.NewFirmataAdaptor("arduino", "/dev/tty.usbmodem411")
led := gpio.NewLedDriver(firmataAdaptor, "led", pin)
work := func() {
for {
led.Brightness(brightness)
brightness += fade
if brightness == 0 || brightness == 255 {
fade = -fade
}
time.Sleep(delay)
}
}
robot := gobot.NewRobot("bot",
[]gobot.Connection{firmataAdaptor},
[]gobot.Device{led},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
示例11: main
func main() {
gbot := gobot.NewGobot()
beagleboneAdaptor := beaglebone.NewBeagleboneAdaptor("beaglebone")
sensor := gpio.NewAnalogSensorDriver(beagleboneAdaptor, "sensor", "P9_33")
led := gpio.NewLedDriver(beagleboneAdaptor, "led", "P9_14")
work := func() {
sensor.On(sensor.Event("data"), func(data interface{}) {
brightness := uint8(
gobot.ToScale(gobot.FromScale(float64(data.(int)), 0, 1024), 0, 255),
)
fmt.Println("sensor", data)
fmt.Println("brightness", brightness)
led.Brightness(brightness)
})
}
robot := gobot.NewRobot("sensorBot",
[]gobot.Connection{beagleboneAdaptor},
[]gobot.Device{sensor, led},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
示例12: main
func main() {
gbot := gobot.NewGobot()
r := raspi.NewRaspiAdaptor("raspi")
led := gpio.NewLedDriver(r, "led", "12")
work := func() {
current := uint8(0)
change := uint8(5)
gobot.Every(30*time.Millisecond, func() {
led.Brightness(current)
current += change
if current == 0 || current == 255 {
change = -change
}
})
}
robot := gobot.NewRobot("blinkBot",
[]gobot.Connection{r},
[]gobot.Device{led},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
示例13: 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()
}
示例14: main
func main() {
gbot := gobot.NewGobot()
digisparkAdaptor := digispark.NewDigisparkAdaptor("digispark")
led := gpio.NewLedDriver(digisparkAdaptor, "led", "0")
work := func() {
brightness := uint8(0)
fadeAmount := uint8(15)
gobot.Every(100*time.Millisecond, func() {
led.Brightness(brightness)
brightness = brightness + fadeAmount
if brightness == 0 || brightness == 255 {
fadeAmount = -fadeAmount
}
})
}
robot := gobot.NewRobot("pwmBot",
[]gobot.Connection{digisparkAdaptor},
[]gobot.Device{led},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
示例15: main
func main() {
gbot := gobot.NewGobot()
e := edison.NewEdisonAdaptor("edison")
led := gpio.NewLedDriver(e, "led", "3")
work := func() {
brightness := uint8(0)
fadeAmount := uint8(15)
gobot.Every(100*time.Millisecond, func() {
led.Brightness(brightness)
brightness = brightness + fadeAmount
if brightness == 0 || brightness == 255 {
fadeAmount = -fadeAmount
}
})
}
robot := gobot.NewRobot("pwmBot",
[]gobot.Connection{e},
[]gobot.Device{led},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}