Skip to content

Commit

Permalink
Add buzzer example
Browse files Browse the repository at this point in the history
  • Loading branch information
zankich committed Jul 4, 2015
1 parent ff78e76 commit b212a40
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions examples/firmata_buzzer.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package main

import (
"time"

"github.com/hybridgroup/gobot"
"github.com/hybridgroup/gobot/platforms/firmata"
"github.com/hybridgroup/gobot/platforms/gpio"
)

func main() {
gbot := gobot.NewGobot()

firmataAdaptor := firmata.NewFirmataAdaptor("arduino", "/dev/ttyACM0")
buzzer := gpio.NewBuzzerDriver(firmataAdaptor, "buzzer", "3")

work := func() {
type note struct {
tone float64
duration float64
}

song := []note{
{gpio.C4, gpio.Quarter},
{gpio.C4, gpio.Quarter},
{gpio.G4, gpio.Quarter},
{gpio.G4, gpio.Quarter},
{gpio.A4, gpio.Quarter},
{gpio.A4, gpio.Quarter},
{gpio.G4, gpio.Half},
{gpio.F4, gpio.Quarter},
{gpio.F4, gpio.Quarter},
{gpio.E4, gpio.Quarter},
{gpio.E4, gpio.Quarter},
{gpio.D4, gpio.Quarter},
{gpio.D4, gpio.Quarter},
{gpio.C4, gpio.Half},
}

for _, val := range song {
buzzer.Tone(val.tone, val.duration)
<-time.After(10 * time.Millisecond)
}
}

robot := gobot.NewRobot("bot",
[]gobot.Connection{firmataAdaptor},
[]gobot.Device{buzzer},
work,
)

gbot.AddRobot(robot)

gbot.Start()
}

0 comments on commit b212a40

Please sign in to comment.