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 播放音乐实例相关推荐

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

    2019独角兽企业重金招聘Python工程师标准>>> 0x00 前言 前段时间看到TPYBoard的技术交流(q群号:157816561)里有人问关于TPYBoard播放音乐的问题 ...

  2. python can总线_MicroPython教程之TPYBoard v102 CAN总线通信

    原标题:MicroPython教程之TPYBoard v102 CAN总线通信 0x00前言 CAN是控制器局域网络(ControllerAreaNetwork,CAN)的简称,是ISO国际标准化的串 ...

  3. micropython仿真器_Micropython教程之TPYBoard DIY超声波测距仪实例演示

    1.实验目的 1. 学习在PC机系统中扩展简单I/O?接口的方法. 2. 进一步学习编制数据输出程序的设计方法. 3. 学习超声波模块的测距原理. 4. 学习LCD5110接线方法 5. 学习TPYb ...

  4. 超声波测距仪编程_Micropython教程之TPYBoard DIY超声波测距仪实例演示

    1.实验目的 1. 学习在PC机系统中扩展简单I/O?接口的方法. 2. 进一步学习编制数据输出程序的设计方法. 3. 学习超声波模块的测距原理. 4. 学习LCD5110接线方法 5. 学习TPYb ...

  5. micropython做中继_超声波测距仪编程_Micropython教程之TPYBoard DIY超声波测距仪实例演示...

    1.实验目的 1. 学习在PC机系统中扩展简单I/O?接口的方法. 2. 进一步学习编制数据输出程序的设计方法. 3. 学习超声波模块的测距原理. 4. 学习LCD5110接线方法 5. 学习TPYb ...

  6. python控制步进电机_MicroPython TPYBoard v102 驱动28BYJ-48步进电机

    TPYBoard v102 驱动28BYJ-48步进电机 实验目的 了解步进电机的工作原理 学习步进电机的驱动方法 实验器材 TPYBoard v102 1块 微型步进电机(28BYJ-48) 1个 ...

  7. 荣品-i.MX6Q开发板 飞思卡尔iMX6Q开发板 工业级开发板

    http://www.rpdzkj.com/showproducts.asp?/110.html PRO6Q开发板采用了邮票孔焊接设计而成,尺寸为40*60 mm,脚位数 192Pin.核心板标配2G ...

  8. 细数STM32开发板有哪些,官方板/正点原子/野火/安富莱等

    首先列举ST官方开发板.这些开发板功能由简到繁,价格也是.Nucleo板最便宜,而且自带ST-LINK/V2-1.评估板带有更多外设模块,比较方便开发.STM32中文官网上有很多开发板资源. STM3 ...

  9. arm11 s3c6410 开发板比较 哪个公司的arm11开发板好? arm11开发板推荐

    代理arm11开发板已经几个月了,说下我自己的看法. 我首先用语言描述一下国内主流的arm开发板情况,个人对各个公司开发板的看法,仅代表个人意见,没有针对某个公司的意思,由于6410 的开发难度以及工 ...

最新文章

  1. nfs文件服务器以及客户端基本配置
  2. android-ViewPager不能显示
  3. 【Pytorch神经网络理论篇】 13 深层卷积神经网络介绍+池化操作+深层卷积神经网络实战
  4. mysql查询序号低于10前面补个0_mysql 前缀 + 编号 补0
  5. python sftp模块_python用paramiko模块上传本地目录到远程目录
  6. 设计模式的C语言应用-建造者模式-第七章
  7. 回调函数的原理及PHP实例
  8. 从DB-Engines看传统数据库生存状况
  9. 机器学习、深度学习经典课程
  10. pip install报错_【Python】pip install django报错
  11. 【Hoxton.SR1版本】Spring Cloud Bus消息总线
  12. linux+qq+输入法下载,QQ拼音输入法下载
  13. 80286保护模式和实模式的基础概念
  14. VMware 磁碟機未備妥
  15. C语言的整型常量与实型常量
  16. [转载] 胡锡进:5000亿买一包爆米花 我不想让我的国家这样
  17. 1.8 30 分钟完成桌球小游戏项目
  18. python神经网络反向传播_神经网络及反向传播算法
  19. 大陆、香港、澳门、台湾身份证最全正则校验
  20. rasa算法_Rasa 入门教程 NLU 系列(三)

热门文章

  1. android 键盘遮盖输入框_Android软键盘挡住输入框的终极解决方案
  2. java字符函数_java字符串函数用法汇总
  3. Java 异常处理机制
  4. Python数据库使用MySQL
  5. 非常全的VsCode快捷键
  6. win7 下的 cmdhere 及其他
  7. 查看静态库(.lib)和动态库(.dll)的导出函数的信息
  8. React开发(223):详情页根据数组map处理返回值
  9. 前端学习(3254):react中todolist制作静态组件
  10. 前端学习(3251):dom的diff算法2