在行空板的屏幕背后,有一颗蜂鸣器,而官方的PinPong硬件库中,又专门提供了操作蜂鸣器的调用。
蜂鸣器具体的位置如下:
要让蜂鸣器想起来,基本的用法如下:
# -*- coding: utf-8 -*-
import time
from pinpong.board import Board,Pin
from pinpong.extension.unihiker import *
Board().begin()#初始化,选择板型和端口号,不输入端口号则进行自动识别
buzzer.set_tempo(4,60) #设置每一拍音符数,每分钟节拍数
buzzer.play(buzzer.DADADADUM, buzzer.OnceInBackground) #后台播放音乐一次
buzzer.pitch(494, 4) #播放音符
buzzer.pitch(494) #后台播放音符
time.sleep(4) #延时
buzzer.stop() #停止后台播放
buzzer.play(buzzer.ENTERTAINER, buzzer.ForeverInBackground) #后台永久播放音乐
如上面的演示代码所示,在扩展库中,提供了如下的预定于快捷码可以快速调用:
DADADADUM = 0
ENTERTAINER = 1
PRELUDE = 2
ODE = 3
NYAN = 4
RINGTONE = 5
FUNK = 6
BLUES = 7
BIRTHDAY = 8
WEDDING = 9
FUNERAL = 10
PUNCHLINE = 11
BADDY = 12
CHASE = 13
BA_DING = 14
WAWAWAWAA = 15
JUMP_UP = 16
JUMP_DOWN = 17
POWER_UP = 18
POWER_DOWN = 19
上述名称,代表了一段音符,可以直接使用buzzer.play(一段音符名称)来进行播放。
然后,还提供了一个对照表:
music_map = {
"C3": 131,
"D3": 147,
"E3": 165,
"F3": 175,
"G3": 196,
"A3": 220,
"B3": 247,
"C4": 262,
"D4": 294,
"E4": 330,
"F4": 349,
"G4": 392,
"A4": 440,
"B4": 494,
"C5": 523,
"D5": 587,
"E5": 659,
"F5": 698,
"G5": 784,
"A5": 880,
"B5": 988,
"C#3": 139,
"D#3": 156,
"F#3": 185,
"G#3": 208,
"A#3": 233,
"C#4": 277,
"D#4": 311,
"F#4": 370,
"G#4": 415,
"A#4": 466,
"C#5": 554,
"D#5": 622,
"F#5": 740,
"G#5": 831,
"A#5": 932
}
实际上,就是MID的频率。
引用: lugl4313820 发表于 2022-12-5 09:07 老师的才能是非常的高,可惜这蜂鸣器不给力呀!
能响就很不错了