python 开发板 播放音乐_MicroPython开发板:TPYBoard v102 播放音乐实例
0x00前言
前段时间看到TPYBoard的技术交流群(群号:157816561)里有人问关于TPYBoard播放音乐的问题。最近抽空看了一下文档介绍,着手做了个实验。
0x01实验器材
TPYBoard v102 开发板 1块
耳机或音响 1个
杜邦线 若干
0x02前期准备
看一下TPYBoard的官方DOCS的上面的资料:
1、 首先我们需要一个可以播放的.wav音频文件,通过文档的描述和测试,发现只能播放2秒左右的音乐,文件大小应小于50KB,否则会提示错误。
2、wav的格式要求:比特率8-bit , 采样频率22050 Hz。直接可以使用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文件下载地址
0x04播放效果
先了解一下耳机插头的结构。
10、上图是三段的耳机插头图,比如我们的音响插头、收音机插头等。
11、上面是四段的耳机插头图,我们平时用在手机上的耳机插头一般都是四段的,中间多了麦克的功能。可能有些国际上的标准,MIC麦克和GND接地的位置会倒过来。
12、大家通过main.py 源码可以看到,我们使用的是DAC(1),所以需要将X5引脚和左声道连接,GND引脚和耳机插头上的GND连接。
示意图
TPYBoard v102
耳机插头
X5
左声道(L)
GND
GND
实物图
13、接好线后,重新运行一下程序,我们就可以听到声音啦。
python 开发板 播放音乐_MicroPython开发板:TPYBoard v102 播放音乐实例相关推荐
- MicroPython开发板:TPYBoard v102 播放音乐实例
2019独角兽企业重金招聘Python工程师标准>>> 0x00 前言 前段时间看到TPYBoard的技术交流(q群号:157816561)里有人问关于TPYBoard播放音乐的问题 ...
- python can总线_MicroPython教程之TPYBoard v102 CAN总线通信
原标题:MicroPython教程之TPYBoard v102 CAN总线通信 0x00前言 CAN是控制器局域网络(ControllerAreaNetwork,CAN)的简称,是ISO国际标准化的串 ...
- micropython仿真器_Micropython教程之TPYBoard DIY超声波测距仪实例演示
1.实验目的 1. 学习在PC机系统中扩展简单I/O?接口的方法. 2. 进一步学习编制数据输出程序的设计方法. 3. 学习超声波模块的测距原理. 4. 学习LCD5110接线方法 5. 学习TPYb ...
- 超声波测距仪编程_Micropython教程之TPYBoard DIY超声波测距仪实例演示
1.实验目的 1. 学习在PC机系统中扩展简单I/O?接口的方法. 2. 进一步学习编制数据输出程序的设计方法. 3. 学习超声波模块的测距原理. 4. 学习LCD5110接线方法 5. 学习TPYb ...
- micropython做中继_超声波测距仪编程_Micropython教程之TPYBoard DIY超声波测距仪实例演示...
1.实验目的 1. 学习在PC机系统中扩展简单I/O?接口的方法. 2. 进一步学习编制数据输出程序的设计方法. 3. 学习超声波模块的测距原理. 4. 学习LCD5110接线方法 5. 学习TPYb ...
- python控制步进电机_MicroPython TPYBoard v102 驱动28BYJ-48步进电机
TPYBoard v102 驱动28BYJ-48步进电机 实验目的 了解步进电机的工作原理 学习步进电机的驱动方法 实验器材 TPYBoard v102 1块 微型步进电机(28BYJ-48) 1个 ...
- 荣品-i.MX6Q开发板 飞思卡尔iMX6Q开发板 工业级开发板
http://www.rpdzkj.com/showproducts.asp?/110.html PRO6Q开发板采用了邮票孔焊接设计而成,尺寸为40*60 mm,脚位数 192Pin.核心板标配2G ...
- 细数STM32开发板有哪些,官方板/正点原子/野火/安富莱等
首先列举ST官方开发板.这些开发板功能由简到繁,价格也是.Nucleo板最便宜,而且自带ST-LINK/V2-1.评估板带有更多外设模块,比较方便开发.STM32中文官网上有很多开发板资源. STM3 ...
- arm11 s3c6410 开发板比较 哪个公司的arm11开发板好? arm11开发板推荐
代理arm11开发板已经几个月了,说下我自己的看法. 我首先用语言描述一下国内主流的arm开发板情况,个人对各个公司开发板的看法,仅代表个人意见,没有针对某个公司的意思,由于6410 的开发难度以及工 ...
最新文章
- nfs文件服务器以及客户端基本配置
- android-ViewPager不能显示
- 【Pytorch神经网络理论篇】 13 深层卷积神经网络介绍+池化操作+深层卷积神经网络实战
- mysql查询序号低于10前面补个0_mysql 前缀 + 编号 补0
- python sftp模块_python用paramiko模块上传本地目录到远程目录
- 设计模式的C语言应用-建造者模式-第七章
- 回调函数的原理及PHP实例
- 从DB-Engines看传统数据库生存状况
- 机器学习、深度学习经典课程
- pip install报错_【Python】pip install django报错
- 【Hoxton.SR1版本】Spring Cloud Bus消息总线
- linux+qq+输入法下载,QQ拼音输入法下载
- 80286保护模式和实模式的基础概念
- VMware 磁碟機未備妥
- C语言的整型常量与实型常量
- [转载] 胡锡进:5000亿买一包爆米花 我不想让我的国家这样
- 1.8 30 分钟完成桌球小游戏项目
- python神经网络反向传播_神经网络及反向传播算法
- 大陆、香港、澳门、台湾身份证最全正则校验
- rasa算法_Rasa 入门教程 NLU 系列(三)