Audio 如何播放来自微控制器(STM32等)的声音?

Audio 如何播放来自微控制器(STM32等)的声音?,audio,embedded,stm32,microcontroller,Audio,Embedded,Stm32,Microcontroller,例如,洗衣机完成后如何播放特定的声音(mp3或wav或其他声音)?需要哪些外部组件 我知道这是一个非常模糊的问题,但我找不到任何真正的解决方案,除了某种mp3播放器模块,它似乎更“最终用户友好”,而不是以编程方式使用(跳过和暂停按钮)。只需切换一个pin即可发出各种蜂鸣声,但我想您正在寻找更悦耳的音乐,而且不用声音合成器 对于短声片段:如果MCU有DAC,您可以将它们存储在(外部)内存中并通过DAC播放。我为基于SAMD21G的Arduinos提供了这方面的基本实现;所有具有DAC的MCU的想法

例如,洗衣机完成后如何播放特定的声音(mp3或wav或其他声音)?需要哪些外部组件


我知道这是一个非常模糊的问题,但我找不到任何真正的解决方案,除了某种mp3播放器模块,它似乎更“最终用户友好”,而不是以编程方式使用(跳过和暂停按钮)。

只需切换一个pin即可发出各种蜂鸣声,但我想您正在寻找更悦耳的音乐,而且不用声音合成器

对于短声片段:如果MCU有DAC,您可以将它们存储在(外部)内存中并通过DAC播放。我为基于SAMD21G的Arduinos提供了这方面的基本实现;所有具有DAC的MCU的想法都是一样的。如果您的MCU没有DAC,您可以使用外部DAC,或者通过使用PWM和低通滤波输出来制作“穷人的DAC”

另一个选项是从存储的样本创建I2S流,并将其发送到接收I2S的外部放大器(模块)。当您的MCU具有I2S外围设备时,它会有所帮助

对于较长的声音,最好的选择可能是从MCU控制的MP3播放器播放,因为对于较大的声音文件,您需要SD卡存储或类似的大型存储


在所有情况下,您都需要一个外部放大器和扬声器。

您需要一个电阻器和电容器。低压过滤器。PWM生成。这是可以使用DAC的最简单方法。您的问题必须包括使用arduino标记的代码。阅读标签说明并添加代码或删除标签。这不是一个设计/头脑风暴网站。询问特定的基于代码的问题或将其删除。