mirror of
https://github.com/tinygo-org/drivers.git
synced 2026-08-04 15:07:46 +00:00
95755ebae7
Signed-off-by: Ron Evans <ron@hybridgroup.com>
41 lines
747 B
Go
41 lines
747 B
Go
package main
|
|
|
|
import (
|
|
"machine"
|
|
"time"
|
|
|
|
"tinygo.org/x/drivers/buzzer"
|
|
)
|
|
|
|
type note struct {
|
|
tone float64
|
|
duration float64
|
|
}
|
|
|
|
func main() {
|
|
speaker := machine.PA30
|
|
speaker.Configure(machine.PinConfig{Mode: machine.PinOutput})
|
|
speaker.Set(true)
|
|
|
|
bzrPin := machine.A0
|
|
bzrPin.Configure(machine.PinConfig{Mode: machine.PinOutput})
|
|
|
|
bzr := buzzer.New(machine.A0)
|
|
|
|
song := []note{
|
|
{buzzer.C4, buzzer.Quarter},
|
|
{buzzer.D4, buzzer.Quarter},
|
|
{buzzer.E4, buzzer.Quarter},
|
|
{buzzer.F4, buzzer.Quarter},
|
|
{buzzer.G4, buzzer.Quarter},
|
|
{buzzer.A4, buzzer.Quarter},
|
|
{buzzer.B4, buzzer.Quarter},
|
|
{buzzer.C5, buzzer.Quarter},
|
|
}
|
|
|
|
for _, val := range song {
|
|
bzr.Tone(val.tone, val.duration)
|
|
time.Sleep(10 * time.Millisecond)
|
|
}
|
|
}
|