声控风扇
利用模拟声音传感器制作声控风扇。
器材清单
Romeo、USB数据线、模拟声音传感器、直流电机、风扇
控制直流电机
直流电机是应用磁感应原理将直流电能转换成机械能的装置,是目前应用最广泛的一种机器人驱动器件。本系列实验所用电机均为直流电机。
控制LED是将LED模块直接连接到数字针脚,那么控制风扇是否将电机直接连接到数字针脚也可以?针脚直接输出的电流非常小,通常无法带动对电流需求较大的电机转动,所以直接连接数字针脚不行,需要专门的电机输出接口。Romeo是通过M1和M2两个连接电机的接口工作的,如下图所示。Romeo控制电机常用PWM控制模式,如下表所示,是PWM模式控制电机的针脚分配。
给针脚4和7设置高电平或低电平即可控制电机的正转或反转,一般高电平控制电机正转,低电平控制电机反转,但也可能相反,这取决于电机的接线顺序;给针脚5和6PWM值可以控制电机的转动速度,PWM的取值越大,转动速度越大。当PWM取值较小时,可能会因为电流太小而无法使电机转动,但却可以听到电机嗡嗡的声响。
如下图所示为风扇模块(风扇和电机连接),风扇模块有两种连接方式:一是“M”模式,也就是要将风扇模块与Romeo板上的M1或是M2接口连接;二是“D”模式,也就是要将风扇模块与Romeo板上支持PWM的数字针脚连接。需要注意的是,当风扇模块与Romeo板上的M1或是M2接口连接时,切记风扇模块的开关要拨到“M模式”,同理,当风扇模块与Romeo板上支持PWM的数字针脚连接时,风扇模块的开关要拨到“D模式”。
当风扇模块连接M1接口,电机1(M1)以200的速度正转时,示例程序如下图所示。
当风扇模块连接数字针脚3,设置其转速为200时,示例程序如下图,其功能等价于上图。
模拟声音传感器
模拟声音传感器是一款简单、实惠的“电子耳朵”,它能听到声音的大小,并转化为模拟信号,即通过反馈的电压值来表达检测到的声音大小。模拟声音传感器的一个特点是可以用吹气的方式代替声音,这样便能有效避免课堂实验中声音的互相干扰。如下图所示,模拟声音传感器是一种模拟传感器,它有黑、红、蓝三根线,使用时需将模拟声音传感器按照对应的颜色与Romeo的模拟针脚连接起来。
利用串口监视器可读取模拟声音传感器的值。假如将模拟声音传感器连接到模拟针脚A3,则读取声音值的程序如下图所示。
利用串口监视器读取模拟声音传感器的值,看一看没声音时的值是多少,有声音(或吹气)时的值又是多少?
实现过程
(一)硬件连接
连接方式一:准备器材,将风扇模块、模拟声音传感器与Romeo连接起来,其中将模拟声音传感器连接到Romeo板上的模拟针脚A3,风扇模块接到Romeo板上的M1接口,如下图所示。
连接方式二:准备器材,将风扇模块、模拟声音传感器与Romeo连接起来,其中将模拟声音传感器连接到Romeo板上的模拟针脚A3,风扇模块接到Romeo板上的数字针脚3,如下图所示。
(二)编写程序
可根据串口监视器读取到的值,编写声控风扇的程序,实现“听到声音风扇转动,否则风扇保持静止”的效果。选取声音发生明显变化时的值作为驱动风扇转动的临界值,这里选择了30。
连接方式一的参考程序如下图所示。
连接方式二下的参考程序如下图所示。
(三)测试效果
上传程序,观察能否通过声音控制风扇。
拓展提升
在实验内容的基础上,你能对声控风扇做一些改造吗?比如听到声音时风扇转动,再听到声音时风扇静止;温度越高(使用温度传感器测量温度),风扇转速越快。请尝试完成。
评论