蜂鸣器和按键
1.蜂鸣器模块
如何让蜂鸣器鸣响?将I/O引脚拉低即可。
模块工作电压:3.3V
有源蜂鸣器与无源蜂鸣器的区别:
有源蜂鸣器内部带有震荡源,只要给它通电,它就会发出声音,但是声音音调是单一的,频率是固定的。
无源蜂鸣器内部没有震荡源,需要用一定频率的方波(常见的频率范围在2K到5K之间)去驱动它才可以发生。由于可以通过不同频率的方波驱动,其声音频率是可控的,可以模拟出多种声音效果,甚至达到唱歌的效果。
小实验:让蜂鸣器响起来
实验目的:
驱动蜂鸣器以500ms间隔鸣响。
硬件清单:
- 上官二号
- ST-Link
- 蜂鸣器
具体代码,与点灯实验一样,硬件注意接线,三根线
2. 按键模块
按键实物图:
作用:按下导通,松手断开
按键抖动:
按键抖动是指在按键开关被按下或释放的瞬间,由于机械触点的弹性作用或电信号的短暂波动,导致开关状态不稳定,出现短暂的抖动现象。
这种抖动现象会影响按键的识别和处理,可能导致按一次键而输入多次,影响设备的正常运行和用户的使用体验。
软件消抖:
通过延时跳过抖动的时间段,再判断IO输入电平。
小实验:按键控制LED灯
实验目的:
按下KEY1,翻转LED1状态;按下KEY2,翻转LED2状态
硬件清单:
- 上官二号
- ST-Link
继流水灯实验上做按键实验
重点代码:按键扫描函数
- 检测按键是否按下
- 消抖
- 再次检测按键是否按下
- 如果是按下状态,等待按键松开
- 返回按键值
- 返回默认值
注意:当同时对按键1和按键2进行操作时,一定要看好返回值是什么,返回值直接决定自己的按键控制哪个灯