极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 36792|回复: 23

Arduino + 喇叭 直接发声

[复制链接]
发表于 2014-9-29 12:16:46 | 显示全部楼层 |阅读模式
不知道这个东西以前有没有人发过.......

通常如果想让Arduino发出声音需要额外的配备,比如:Mp3解码器,Wav专用播放器或者语音合成的模块等等。

但是理论上因为Arduino具有模拟输出,所以应该可以直接输出波形给喇叭(这个还是必须的,我随便选了一个8欧1.5瓦的)。

arduinos.png

随手搜索了一下,国外真有人这样做了。原理上来说就是先用工具将音频转化为WAV, Arduino 的存储空间有限,这里只能使用单声道 8000Hz 采样率,然后通过控制模拟端口将数据发送出来。从我的实验来看,Arduino Uno(Flash Memory 32 KB 【参考1】)可以存放大约4s左右的音频(编译之后再 31K左右)。

具体的做法是:

1.硬件方面,喇叭负极连接到GND,正极连接到Pin11

2.在Arduino程序中使用下面这个库

damellis-PCM-ae3f463

3.选择音频文件,然后转化为 WAV 8000Hz Mono 格式(我Switch Sound File coverter 感觉不错,免费的)

软件下载 switchsetup

4.最后用参考2提供工具,将wav转化为数组的定义(需要注意这个工具需要 javaw.exe 支持)

EncodeAudio-windows

5.编译之后 Upload 即可

回复

使用道具 举报

发表于 2014-9-29 13:08:17 | 显示全部楼层
哈哈。这个好玩。 来个吆喝,“请大家自觉排队,接受安检,禁止携带易燃易爆物品乘车。”哈哈
回复 支持 反对

使用道具 举报

发表于 2014-9-29 15:08:19 | 显示全部楼层
这个可以有! 就是时间太短了
回复 支持 反对

使用道具 举报

发表于 2014-9-29 22:17:00 | 显示全部楼层
SimpleSDAudio
试试这个库
回复 支持 反对

使用道具 举报

发表于 2014-10-1 16:45:38 | 显示全部楼层
SimpleSDAudio加个SD卡,但是一个缺点,就是如果你的板子是兼容板,接音箱的时候,不播放音乐的时候,会有很大的噪声,如果是正品噪声会小一点
回复 支持 反对

使用道具 举报

发表于 2014-10-1 23:10:47 | 显示全部楼层
努力微笑 发表于 2014-10-1 16:45
SimpleSDAudio加个SD卡,但是一个缺点,就是如果你的板子是兼容板,接音箱的时候,不播放音乐的时候,会有很 ...

不存在啊~很多地方需要你自己处理好的
回复 支持 反对

使用道具 举报

发表于 2014-10-2 01:28:20 | 显示全部楼层
maxims 发表于 2014-10-1 23:10
不存在啊~很多地方需要你自己处理好的

请指点,有什么方法?,如果说加电容就算了,
回复 支持 反对

使用道具 举报

发表于 2014-10-2 14:17:02 | 显示全部楼层
努力微笑 发表于 2014-10-2 01:28
请指点,有什么方法?,如果说加电容就算了,

这是一个系统性的东西,需要很多方面联合起来调整的
回复 支持 反对

使用道具 举报

发表于 2015-4-15 10:35:55 | 显示全部楼层
maxims 发表于 2014-10-2 14:17
这是一个系统性的东西,需要很多方面联合起来调整的

比如说呢?我现在就发现这个噪音很大,甚至有点无法接受
回复 支持 反对

使用道具 举报

发表于 2015-4-15 20:09:12 | 显示全部楼层
whtech 发表于 2015-4-15 10:35
比如说呢?我现在就发现这个噪音很大,甚至有点无法接受

电源、耦合方式……
回复 支持 反对

使用道具 举报

发表于 2015-7-19 16:20:39 | 显示全部楼层
狼叫吗??
回复 支持 反对

使用道具 举报

发表于 2015-7-21 21:11:01 | 显示全部楼层
本帖最后由 マイナス37度 于 2015-7-21 21:15 编辑

怎么通过串口传声音,就是怎么处理串口传过来的声音,让扬声器发声呢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-22 08:32:22 | 显示全部楼层
マイナス37度 发表于 2015-7-21 21:11
怎么通过串口传声音,就是怎么处理串口传过来的声音,让扬声器发声呢

理论上可以的,网上有一篇文章,我也照做了

但是播放30几秒之后就会出问题,我搞了一个多月都没有找到问题所在,后来就放弃了
回复 支持 反对

使用道具 举报

发表于 2015-9-11 10:49:12 | 显示全部楼层
你好,我想实现这个效果,但不知道你那个 damellis-PCM-ae3f463 的库文件在哪下载?我想用一个小的有源蜂鸣器来实现,能行不?

点评

参考 http://www.lab-z.com/arduinosound/  发表于 2015-9-11 21:43
回复 支持 反对

使用道具 举报

发表于 2015-9-21 10:44:35 | 显示全部楼层
yqfans 发表于 2015-9-11 10:49
你好,我想实现这个效果,但不知道你那个 damellis-PCM-ae3f463 的库文件在哪下载?我想用一个小的有源蜂鸣 ...

好,谢谢,我去研究下。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号 )

GMT+8, 2020-7-10 11:57 , Processed in 0.060176 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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