import machine from machine import Pin import utime amp_shutdown_pin = machine.Pin(21, machine.Pin.OUT, machine.Pin.PULL_UP) amp_shutdown_pin.value(0) # print(pin_shutdown.value()) # machine.PWM(machine.Pin(0)).freq(500) def play_frequency(pin, frequency, duration): if frequency == 0: utime.sleep(duration) else: pwm = machine.PWM(machine.Pin(pin)) pwm.freq(frequency) pwm.duty_u16(512) # 50% duty cycle utime.sleep(duration) pwm.deinit() def play_mario_theme(): melody = [ (659, 250), (0, 50), (659, 250), (0, 50), (659, 250), (0, 50), (523, 250), (659, 250), (0, 50), (784, 250), (0, 50), (392, 250), (0, 50), (523, 250), (0, 50), (392, 250), (0, 50), (330, 250), (0, 50), (440, 250), (0, 50), (494, 250), (0, 50), (466, 250), (0, 50), (440, 250), (0, 50), (392, 250), (0, 50), (659, 250), (0, 50), (784, 250), (0, 50), (880, 250), (0, 50), (698, 250), (0, 50), (784, 250), (0, 50), (659, 250), (0, 50), (523, 250), (0, 50), (587, 250), (0, 50), (494, 250), (0, 50), (523, 250), (0, 50), (440, 250), (0, 50), (392, 250), (0, 50), (784, 250), (0, 50), (880, 250), (0, 50), (698, 250), (0, 50), (784, 250), (0, 50), (659, 250), (0, 50), (523, 250), (0, 50), (587, 250), (0, 50), (494, 250), (0, 50), (523, 250), (0, 50), (440, 250), (0, 50), (392, 250), (0, 50), (659, 250), (0, 50), (784, 250), (0, 50), (880, 250), (0, 50), (698, 250), (0, 50), (784, 250), (0, 50), (659, 250), (0, 50), (523, 250), (0, 50), (587, 250), (0, 50), (494, 250), (0, 50), (523, 250), (0, 50), (440, 250), (0, 50), (392, 250), (0, 50), (0, 250), # Pause (784, 250), (0, 50), (0, 250), # Pause (659, 250), (0, 50), (0, 250), # Pause (523, 250), (0, 50), (0, 250), # Pause (587, 250), (0, 50), (0, 250), # Pause (494, 250), (0, 50), (0, 250), # Pause (523, 250), (0, 50), (0, 250), # Pause (440, 250), (0, 50), (0, 250), # Pause (392, 250), (0, 50), (0, 250), # Pause ] for note in melody: play_frequency(19, note[0], note[1] / 1000) # Convert duration to seconds if __name__ == "__main__": play_mario_theme()