树莓派通过ADC采样音量大小触发告警提示

内容纲要

有一个问题困扰我,当我制作视频时,如果被噪音干扰会导致失败,失败就得重新录,非常痛苦。

我想,如果有一个设备可以帮助我避免这个问题就好了,手里一堆很早以前买的树莓派,一堆。真的是一堆。

所以突然想到用ADC模块用语音传感器模块进行语音采样,然后通过调整阈值来显示文字或语音提示,让大家保持安静。 


首先,您需要这些组件来构建它。

1. Raspberry Pi 3B 或者3B+

2. 8GB Class 10 TF卡 

3. 5v / 2.5A电源 

4. 4CH 16位ADC For RPi (52pi.taobao.com有售)

5.面包板 没有就焊接~

6.语音传感器(模拟) 淘宝上几块钱可以买一堆。

7.大屏幕(电视机) 

8.跳线

步骤1:

下载最新Raspbian的镜像并将其刻录在TF卡上,建议用etcher这个工具,各种平台上都有它的安装包。

步骤2: 接线,语音采样的模块很便宜,所以基本上没有什么芯片在上面帮我做转换,但是我看到了比较器芯片,我这里不要数字信号,因为只有0和1的信号我无法判断音量的大小。

所以我选择了模块的模拟引脚,A0。 

然后因为AIN0 上面接了NTC,所以避开了AIN0 ,直接接在了AIN1 通道上面,就是黄色的线缆,然后供电用的是树莓派的3.3v, GND接树莓派。一切都很自然就搞定了。

当然为了方便展示我开专门插了一个0.91英寸的OLED,虽然这个项目里面没有用到。但是真的很好用,芯片就是ssd1306. 简单粗暴的很~

就像这样连接起来,上面有两个跳线帽,记得要接,一个是I2C地址的跳线帽,就是0x48的哪个, 还有一个是NTC接到AIN0通道的跳线帽,如果接通就可以通过NTC读取模拟的温度值了,实际上并不是温度,而是电压,要通过电压来进行换算的,后面再说这问题。

第3步:

将Raspberry Pi连接到互联网并更新软件,并安装名为“figlet”的软件, 当噪音等级的数量达到一个值的时候,它将被调出并显示“请TM安静!”,当然是显示在你的屏幕上,我觉得可以扩展的东西很多,可以加个超级功放, 然后搞个大功率的喇叭,提前录好声音,猛猛的一嗓子,直接让闹腾的家伙瞬间安静下来。

 

然后编写一个代码来采用adc:

编译一下:  

gcc -o adc adc.c

sudo cp adc  /bin/adc   为了方便使用,我就没有去修改PATH变量的内容,直接将编译出来的工具放在/bin下面了,方便我调用。

然后写个shell脚本,开机自动加载也比较方便。

vim.tiny  notify.sh

保存退出后,给文件执行权,然后测试一下。

chmod +x notify.sh

./notify.sh

对着麦克风来一嗓子,屏幕上应该是这样:

你还可以搞点儿别的什么,反正能够采集声音了,就达到了让树莓派采集ADC的消息的功能,非常方便弄别的项目,你可以自己看看,开开脑洞。

白了个白~

 

 

发布者

yoyojacky

我是骑驴玩儿漂移, 喜欢玩儿电子,喜欢的编程语言, C, shell, python, 爱玩儿的开发板: 树莓派, arduino,STM32系列, 还有3D 打印机,四轴飞行器,业余时间也喜欢玩儿吉他,非洲鼓. 欢迎来光临我的小站~

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据