package main import ( "machine" "time" ) var bzrPin machine.Pin var btnA, btnB, btnRot machine.Pin func main() { // buttons: active LOW (internal pull-up) btnA = machine.P1_06 btnB = machine.P1_04 btnRot = machine.P0_22 // rotary encoder push button btnA.Configure(machine.PinConfig{Mode: machine.PinInputPullup}) btnB.Configure(machine.PinConfig{Mode: machine.PinInputPullup}) btnRot.Configure(machine.PinConfig{Mode: machine.PinInputPullup}) // passive buzzer on P0_31 bzrPin = machine.P0_31 bzrPin.Configure(machine.PinConfig{Mode: machine.PinOutput}) for { if !btnA.Get() { tone(1046) // C6 } if !btnB.Get() { tone(739) // F#5 } if !btnRot.Get() { tone(523) // C5 } } } func tone(freq int) { for i := 0; i < 10; i++ { bzrPin.High() time.Sleep(time.Duration(freq) * time.Microsecond) bzrPin.Low() time.Sleep(time.Duration(freq) * time.Microsecond) } }