
活动中使用的接近传感器可以串联到pwm的输出上,当有磁铁接近,传感器导通。
如上连接,模组可以驱动喇叭发出声音
import time import board import neopixel import pwmio pixel = neopixel.NeoPixel(board.NEOPIXEL, 1) pixel.brightness = 0.1 """ red: (255, 0, 0) green: (0, 255, 0) blue: (0, 0, 255) cyan: (0, 255, 255) purple: (255, 0, 255) yellow: (255, 255, 0) white: (255, 255, 255) black (off): (0, 0, 0) """ yifu_f = [ 261,293,329,349,392,440,493,523] buzzer = pwmio.PWMOut(board.D13, duty_cycle=0, frequency=440, variable_frequency=True) def play_tone(frequency, duration): """播放指定频率和持续时间的音调""" if frequency == 0: # 静音 buzzer.duty_cycle = 0 else: # 设置频率并启动声音 buzzer.frequency = frequency buzzer.duty_cycle = 32768 # 50%占空比 time.sleep(duration) # 注意:这里会暂停程序运行 # 停止声音 buzzer.duty_cycle = 0 # 音符间短暂停顿 time.sleep(0.05) while True: for i in range(255): pixel.fill((i,255-i,i)) for f in yifu_f: play_tone(f, 0.1)

我要赚赏金
