Cytrogen 的个人博客

万圣节恶魔的领地

马上订阅 Cytrogen 的个人博客 RSS 更新: https://cytrogen.icu/atom.xml

树莓派 Pico 通过有源蜂鸣器播放音频

2023年5月16日 06:49

如何使用 MicroPython 在树莓派 Pico 上通过有源蜂鸣器播放音频。

目录

————————

前言

我的树莓派 Pico 早在过年时就到手了,但是一直没有时间玩,最近闲到开始生一种叫做 senioritis 的病,才开始捣鼓起来。

买的时候贪方便,直接购入了已焊接的板子,如下图所示:

创乐博MAKEROBO PicoBlock扩展板,已焊接树莓派Pico主板、面包板、LED灯、方向按键、有源蜂鸣器、传感器等套件

不过本文内容专注于 MicroPython,所以不会细讲硬件部分。如何配置树莓派 Pico 和安装 IDE 等基础内容也不会讲,可以自行搜索。

  • 本文使用的 IDE 为 Thonny
  • 本文乐谱均来自于 Online Sequencer 这个网站
————————

准备

导入库

import timefrom machine import PWM, Pin
  • time 库自不用多说,是用来延时的
  • machine 库则包含了和特定电路板上的硬件有关的方法,例如我们刚刚导入的 PWMPin。详细的内容可以参考 MicroPython 官方文档

音符与频率

tones = {    'C0': 16, 'C#0': 17, 'D0': 18, 'D#0': 19, 'E0': 21, 'F0': 22,    'F#0': 23, 'G0': 24, 'G#0': 26, 'A0': 28, 'A#0': 29, 'B0': 31,    'C1': 33, 'C#1': 35, 'D1': 37, 'D#1': 39, 'E1': 41, 'F1': 44,    'F#1': 46, 'G1': 49, 'G#1': 52, 'A1': 55, 'A#1': 58, 'B1': 62,    'C2': 65, 'C#2': 69, 'D2': 73, 'D#2': 78, 'E2': 82, 'F2': 87,    'F#2': 92, 'G2': 98, 'G#2': 104, 'A2': 110, 'A#2': 117, 'B2': 123,    'C3': 131, 'C#3': 139, 'D3': 147, 'D#3': 156, 'E3': 165, 'F3': 175,    'F#3': 185, 'G3': 196, 'G#3': 208, 'A3': 220, 'A#3': 233, 'B3': 247,    'C4': 262, 'C#4': 277, 'D4': 294, 'D#4': 311, 'E4': 330, 'F4': 349,    'F#4': 370, 'G4': 392, 'G#4': 415, 'A4': 440, 'A#4': 466, 'B4': 494,    'C5': 523, 'C#5': 554, 'D5': 587, 'D#5': 622, 'E5': 659, 'F5': 698,    'F#5': 740, 'G5': 784, 'G#5':...

剩余内容已隐藏

查看完整文章以阅读更多