查看: 234|回复: 1
收起左侧

[开源硬件] MicroPython开发板:TPYBoard v102 播放音乐教程

[复制链接]
     

34

主题

36

帖子

108

积分

中级技术员

 楼主| 发表于 2017-8-29 16:05 | 显示全部楼层 |返回版面||阅读模式
  0x00前言

  前段时间看到MicroPython的技术交流群:157816561里有人问关于TPYBoard播放音乐的问题。最近抽空看了一下文档介绍,着手做了个实验。

  0x01实验器材

  TPYBoardv102开发板1块

  耳机或音响1个

  杜邦线若干

  0x02前期准备

  看一下TPYBoard的官方DOCS的上面的资料:

  docs。Tpyboard。com/zh/latest/tpyboard/tutorial/amp_skin/?highlight=wav


  1、        首先我们需要一个可以播放的.wav音频文件,通过文档的描述和测试,发现只能播放2秒左右的音乐,文件大小应小于50KB,否则会提示错误。

  2、wav的格式要求:比特率8-bit,采样频率22050Hz。直接可以使用avconv工具将mp3工具转换成可以播放的wav文件。

  3、ubuntu安装方法:

  1. sudo apt-get install ffmpeg
  2. sudo apt-get install libav-tools
复制代码


  4、安装完成后,直接执行命令。

  1. avconv -i 2.mp3 -ar 22050 -codec pcm_u8 test2.wav
复制代码


  5、还得需要一个TF内存卡,放入源码和wav音频文件后,开发板本身的FLASH空间会不足。

  0x03程序源码

  main.py

  1. import wave
  2. from pyb import DAC
  3. dac = DAC(1)
  4. f = wave.open('/sd/test2.wav')
  5. dac.write_timed(f.readframes(f.getnframes()), f.getframerate())
复制代码


  通过上面的源码中,可以看出来主要是用到wave类库。在最开始的教程文章中可以直接下载。


  6、点击红框可直接下载wave.py,在wave文件中又引入了chunk.py,点击蓝框直接下载。

  7、将main.py、wave.py和chunk.py直接拷贝到开发板的TF卡中即可。

  8、点击绿框中可以下载官方提供的wav播放文件test.wav。

  9、通过上面我自己制作了一个test2.wav文件,大家也可以尝试自己制作音频文件播放。

  源码和wav文件下载地址

  github。com/PakchoiFood/TPYBoardV102-PlayMusic

  0x04播放效果

  先了解一下耳机插头的结构。


  10、上图是三段的耳机插头图,比如我们的音响插头、收音机插头等。


  11、上面是四段的耳机插头图,我们平时用在手机上的耳机插头一般都是四段的,中间多了麦克的功能。可能有些国际上的标准,MIC麦克和GND接地的位置会倒过来。

  12、大家通过main.py源码可以看到,我们使用的是DAC(1),所以需要将X5引脚和左声道连接,GND引脚和耳机插头上的GND连接。

  示意图

  
TPYBoard  v102
  
耳机插头
X5
左声道(L)
GND
GND

  实物图


  13、接好线后,重新运行一下程序,我们就可以听到声音啦。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册 手机登录

x
     

4875

主题

1万

帖子

2万

积分

版主

发表于 2017-8-31 08:34 | 显示全部楼层 |返回版面
不错,顶一个
21ic公开课,21ic网友共同的学习圈子!
*滑动验证:
您需要登录后才可以回帖 登录 | 注册 手机登录

本版积分规则

关闭

热门推荐上一条 /2 下一条

分享 快速回复 返回顶部 返回列表