厌倦了闪烁的 LED 和用 Arduino 写“Hello World”?所以让我们去一些不同的东西......
自从我开始在我的项目中使用 Arduino 以来,我一直对在音频应用中使用它感到好奇,因为尽管它有其局限性,但它具有模数和数模转换器,可以让您在音频应用中做很多有趣的事情。音频领域。
去年年底,我决定将其付诸实践,并为 Arduino 编写了一个代码,用作 Digital Delay、Echo、Bitcrusher LO-FI 和 Speech Reverse 等效果模块。所以,这就是项目。
该操作类似于著名的 MN3005 集成电路使用的斗式 (BBD) 原理,用于 70 和 80 年代的经典模拟踏板。
来自平板电脑、手机、mp3播放器、键盘、混音器、吉他放大器等源的音频信号进入电路输入端,经过电容滤波后加到模拟引脚A0 - 10Bit A /D 转换器,在此处对其进行采样并转换为字节(值从 0 到 255)。这些字节存储在 Arduino 的 SRAM 内存中,通过一个 1900 字节的缓冲区(阵列),形成原始信号的延迟线。
当此缓冲区已满时,存储在缓冲区中的第一个输入字节(以及随后的字节)被发送到 8 位 D/A 转换器。在反向模式下,缓冲区只是反向读取。8Bit D/A 将音频输出为 PWM,该音频在 Arduino 的引脚 D5 处检索,由电容器过滤,重建的音频准备好进入电路的输出端。
为了提高音频质量,我将 PWM 频率设置为 ~64kHz,定时器 1 设置为 ~16kHz,因此我们的实际采样率为 ~6.3kHz。
输出信号的一部分应用于输入,产生反馈,负责回声重复。输出音频信号必须发送到音频放大器的线路输入才能被听到。
当按下按钮时,Arduino 状态 LED 会亮起,而 TX LED 会亮起,表明它处于反向语音模式。
对于吉他的实际使用,有必要实现一个带有运算放大器的有源前置放大器(例如 TL072),一个在该电路的输入端,另一个在该电路的输出端,以匹配这个简单电路的高阻抗。
作者:J. CesarSound - 版本 1.0 - 2021 年 1 月。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !