这是一个关于基于SETP PICO的音乐播放器的项目说明文档。其中详细介绍了开发环境、硬件平台、实现的功能以及音乐播放的具体实现方法。文档中提到,通过PWM生成不同频率,持续时间不同的音调,驱动蜂鸣器播放音乐,程序中制作一个标准的音符库,播放音乐的时候通过查找表的方式把该音符对应的频率的信号播放出来。

项目要求

具体要求:利用板上的蜂鸣器,播放一首音乐

实现方式:利用PWM生成不同频率,持续时间不同的音调,驱动蜂鸣器播放音乐,程序中制作一个标准的音符库,播放音乐的时候通过查找表的方式把该音符对应的频率的信号播放出来

1. 开发环境

1.1 开发语言之MicroPython

RP2040作为树莓派开源基金会推出的微处理器对开发语言的兼容性极佳,它既可以用C/C++这种面向过程的语言进行开发,也可以用MicroPython这种面向对象的语言进行开发。

众所周知,Python语言简单易用,极易上手。代码风格也都非常简洁,只需使用缩进就可以完成程序作用域的划分。

而MicroPython是Python3编程语言的精简、高效实现 。它包括Python标准库的一小部分,并经过优化以在微控制器和受限环境中运行,也是新手快速上手Raspberry Pi PICO的不二之选。

1.2 集成开发环境(IDE)

我使用的集成开发环境是视频教程里推荐的Thonny,它具有简单易用、兼容性好、集成便利、调试工具丰富、代码提示等优点。 不过貌似VSCode和PyCharm也可以设置MicroPython,不过对于我这种小白反而太过复杂了。

1.3 硬件平台

硬件平台采用的是硬禾学堂提供的STEP Pico核心板和STEP PICO嵌入式系统学习平台。

SETP PICO相较于树莓派PICO在板子上增加了4个WS2812灯珠,一个复位按键,而且将板载Micro USB接口修改为更为常见的Type-C接口,更利于开发。

Untitled

而STEP PICO嵌入式系统学习平台则有丰富的板载硬件。其具有

2.实现的功能

  1. 音乐“沙滩”的播放;
  2. WS2812B的呼吸灯效果;