文档章节

MicroPython开发板:TPYBoard v102 播放音乐实例

bodasisiter
 bodasisiter
发布于 2017/08/28 16:39
字数 680
阅读 22
收藏 0

  0x00前言

  前段时间看到TPYBoard的技术交流群(群号:157816561,)里有人问关于TPYBoard播放音乐的问题。最近抽空看了一下文档介绍,着手做了个实验。更多MicroPython的教程可关注(微-信公众号:MicroPython玩家汇)

  0x01实验器材

  TPYBoardv102开发板1块

  耳机或音响1个

  杜邦线若干

  0x02前期准备

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

  http://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安装方法:

sudo apt-get install ffmpeg
sudo apt-get install libav-tools

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

avconv -i 2.mp3 -ar 22050 -codec pcm_u8 test2.wav

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

  0x03程序源码

  main.py

import wave
from pyb import DAC
dac = DAC(1)
f = wave.open('/sd/test2.wav')
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文件下载地址

  https://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、接好线后,重新运行一下程序,我们就可以听到声音啦。

  

© 著作权归作者所有

共有 人打赏支持
bodasisiter
粉丝 19
博文 172
码字总数 154246
作品 0
潍坊
私信 提问
Python玩转单片机:从基础到进阶,几款主流的开发板大盘点!

Python俨然已成为当下最热门的编程语言(可以说没有之一)。Python火到什么程度?它将被加入小学生教材,纳入高考,估计在不远的将来可能会成为一项常用的技能。 学习python能做什么? 可以快...

bodasisiter
09/05
0
0
MicroPython入门:能跑MicroPython开发板大盘点!

相信对于很多刚刚接触MicroPython的DIY创客来说,首先是被一些大神的作品吸引,然后有冲动自己动手,却发现入门很难,特别是面对各式各样的开发板不知如何选择。目前市面上关于MicroPython开...

bodasisiter
07/06
0
0
[Micropython]TPYBoard v10x拼插编程实验 点亮心形点阵

一、什么是TPYBoard开发板 TPYBoard是以遵照MIT许可的MicroPython为基础,由TurnipSmart公司制作的一款MicroPython开发板,它基于STM32F405单片机,通过USB接口进行数据传输。该开发板内置4...

bodasisiter
04/17
0
0
MicroPython拼插编程实例:点亮心形8x8点阵

一、什么是TPYBoard开发板 TPYBoard是以遵照MIT许可的MicroPython为基础的一款MicroPython开发板,它基于STM32F405单片机,通过USB接口进行数据传输。该开发板内置4个LED灯、一个加速传感器,...

bodasisiter
09/04
0
0
Micropython TPYBoard拼插编程之按键控制LED灯

一、什么是TPYBoard开发板 TPYBoard是以遵照MIT许可的MicroPython为基础,由TurnipSmart公司制作的一款MicroPython开发板,它基于STM32F405单片机,通过USB接口进行数据传输。该开发板内置4...

bodasisiter
04/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

docker部署springboot项目

安装docker 菜鸟教程 springboot项目 maven依赖 <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001......

yimingkeji
今天
10
0
ios多个target

1.建立3个target,分别为heroone,heroone test,heroone dev;分别为正式环境,test环境,dev环境 2.注意取消掉autocreate以防止名字不对,分别以Duplicate的方式建立另外两个scheme 3.创建...

HeroHY
今天
6
0
php获取客户端IP

php获取客户端IP 首先先阅读关于IP真实性安全的文章:如何正確的取得使用者 IP? 「任何從客戶端取得的資料都是不可信任的!」 HTTP_CLIENT_IP头是有的,但未成标准,不一定服务器都实现。 ...

DrChenXX
昨天
0
0
. The valid characters are defined in RFC 7230 and RFC 问题

通过这里的回答,我们可以知道: Tomcat在 7.0.73, 8.0.39, 8.5.7 版本后,添加了对于http头的验证。 具体来说,就是添加了些规则去限制HTTP头的规范性 参考这里 具体来说: org.apache.tom...

west_coast
昨天
1
0
刷leetcode第704题-二分查找

今天双十一买的算法书到货了,路上刷到有人说的这个题,借(chao)鉴(xi)一下别人的思路,这个是C++标准库里面的经典方法,思路精巧,优雅好品味 int search(int* nums, int numsSize, in...

锟斤拷烫烫烫
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部