- 机器人等级考试
Arduino 蜂鸣器学习笔记教程
- 2025-8-21 21:47:11 @
Arduino 蜂鸣器学习笔记教程
一、基础概念
蜂鸣器是一种能将电信号转化为声音信号的电子元件,在 Arduino 项目里,常借助 tone()
等函数控制,让其发出不同频率声音,实现报警、提示音等功能 。
二、核心函数
1. pinMode(pin, mode)
- 作用:配置引脚模式,让指定引脚作为输入或输出,控制蜂鸣器需设为
OUTPUT
(输出模式 )。 - 参数:
pin
是引脚编号(如 3 号引脚 ),mode
常用INPUT
(输入 )、OUTPUT
(输出 )。
2. tone(pin, frequency)
- 作用:让指定引脚输出特定频率方波,驱动蜂鸣器发声,频率决定音调高低 。
- 参数:
pin
是控制蜂鸣器的引脚,frequency
是声音频率(单位赫兹,范围一般 31 - 65535 ,不同蜂鸣器有差异 )。
3. noTone(pin)
- 作用:停止指定引脚的
tone
信号输出,让蜂鸣器停止发声 。
4. delay(time)
- 作用:让程序暂停执行指定时长,单位毫秒,用于控制声音持续时间、间隔等 。
三、代码示例与注释
示例 1:让蜂鸣器持续以固定频率发声
// 定义控制蜂鸣器的引脚为3号引脚,方便后续调用,不用重复写数字,修改引脚时更便捷
const int tonePin = 3;
// setup函数:Arduino上电或复位后,只执行一次的初始化代码
void setup() {
// 将tonePin(即3号引脚)设置为输出模式,这样才能向蜂鸣器输出控制信号
pinMode(tonePin, OUTPUT);
}
// loop函数:setup执行完后,会不断循环执行里面的代码
void loop() {
// 使用tone函数,让连接在tonePin引脚的蜂鸣器,以100Hz频率持续发声
tone(tonePin, 100);
// tone函数参数说明:第一个是控制引脚,第二个是声音频率,频率范围通常可设 0~10000 等(不同蜂鸣器有差异,实际测试调整)
}
示例 2:简化写法,直接用引脚号控制(功能同示例 1 )
// setup函数,初始化操作,只执行一次
void setup() {
// 直接把3号引脚设为输出模式,用于控制蜂鸣器
pinMode(3, OUTPUT);
}
// loop函数,循环执行代码
void loop() {
// 让3号引脚输出100Hz频率信号,驱动蜂鸣器发声
tone(3, 100);
}
示例 3:让蜂鸣器按 “不同频率发声 - 暂停” 规律循环
// setup函数,初始化引脚模式
void setup() {
// 把3号引脚设为输出,为控制蜂鸣器做准备
pinMode(3, OUTPUT);
}
// loop函数,循环执行实现蜂鸣器的声音变化逻辑
void loop() {
// 让3号引脚输出200Hz频率信号,蜂鸣器发对应音调声音
tone(3, 200);
// 延迟1000毫秒(1秒),保持200Hz频率发声1秒
delay(1000);
// 改变频率为100Hz,蜂鸣器发出更低音调声音
tone(3, 100);
// 再延迟1000毫秒(1秒),维持100Hz频率发声1秒
delay(1000);
// 停止3号引脚的tone信号输出,蜂鸣器停止发声
noTone(3);
// 延迟2000毫秒(2秒),让蜂鸣器保持静音2秒
delay(2000);
}
四、实际操作与效果
- 硬件连接:一般把蜂鸣器正极接 Arduino 数字引脚(如 3 号 ),负极接 GND(地 )。
- 上传代码:用 Arduino IDE ,选对应开发板、端口,点 “上传” 按钮,代码传进 Arduino 。
- 效果观察:
- 示例 1、2 中,蜂鸣器会持续发出 100Hz 频率声音。
- 示例 3 里,蜂鸣器先以 200Hz 响 1 秒,再以 100Hz 响 1 秒,接着静音 2 秒,循环往复 。
五、注意事项
- 引脚选择:除数字引脚 3 ,也可选其他支持
tone
功能的数字引脚(如 5、6 等 ),但要和硬件连接对应 。 - 频率范围:不同蜂鸣器能稳定发声的频率范围有别,若声音异常,可调整频率值测试 。
0 条评论
目前还没有评论...