19 lines
621 B
Python
19 lines
621 B
Python
"""CircuitPython Essentials PWM with variable frequency piezo example"""
|
|
import time
|
|
import board
|
|
import pwmio
|
|
|
|
# For the M0 boards:
|
|
piezo = pwmio.PWMOut(board.A2, duty_cycle=0, frequency=440, variable_frequency=True)
|
|
|
|
# For the M4 boards:
|
|
# piezo = pwmio.PWMOut(board.A1, duty_cycle=0, frequency=440, variable_frequency=True)
|
|
|
|
while True:
|
|
for f in (262, 294, 330, 349, 392, 440, 494, 523):
|
|
piezo.frequency = f
|
|
piezo.duty_cycle = 65535 // 2 # On 50%
|
|
time.sleep(0.25) # On for 1/4 second
|
|
piezo.duty_cycle = 0 # Off
|
|
time.sleep(0.05) # Pause between notes
|
|
time.sleep(0.5)
|