实验:基于 Uno 与有源蜂鸣器制作报警装置
一、硬件清单
Arduino Uno 开发板+配套串口线一根
面包板一块
杜邦线若干根
有源蜂鸣器一个
无缘蜂鸣器一个
68欧姆色环电阻一个
PCB 集成板一块
二、有源与无源的区别
2.1 驱动方式的不同
有源蜂鸣器内部有震荡源,能将恒定的直流电转化成一定频率的脉冲信号,从面实出磁场交变,带动钼片整栋发音,所以只要通电,有源蜂鸣器就可以发声音。
无源的蜂鸣器内部是没有震荡源,所以通电是不会发声的,必须有脉冲信号来驱动它,才可以发声,不同的 PWM 信号(占空比不一样)会产生不同频率的声音。
2.2 外形不同
两种蜂鸣器的引脚朝上放置时,可以看出有绿色电路板的是一种无源蜂鸣器,没有电路板而用黑胶封闭的是一种有源蜂鸣器。
2.3 有源蜂鸣器的使用
有源蜂鸣器的参数
2.4 电路原理图
三、连接图
3.1实体图:
3.2 对应管脚:
直接接线:
Uno 开发板 - 有源蜂鸣器
GND GND
VCC VCC
SVG 9
PCB 接线:
GND GND
VCC VCC
SVG SVG
代码
int buzzerPin = 9; //定义数字9引脚为控制蜂鸣器的引脚
void setup(){
pinMode(buzzerPin, OUTPUT);//设置数字9口模式,OUTPUT为输出
}
void loop(){
my_3duan();//蜂鸣器频率快响三次
delay(500);//设置延迟时间,500ms
my_3chang();//蜂鸣器频率慢响三次
delay(500);//设置延迟时间,500ms
my_3duan();//蜂鸣器频率快响三次
delay(500);//设置延迟时间,500ms
}
void my_3duan() {
//蜂鸣器频率快响三次函数
for (int i = 1; i <= 3; i = i + (1)) {
digitalWrite(buzzerPin,HIGH);
delay(200);
digitalWrite(buzzerPin,LOW);
delay(200);
}
}
void my_3chang() {
//蜂鸣器频率慢响三次函数
for (int i = 1; i <= 3; i = i + (1)) {
digitalWrite(buzzerPin, HIGH);
delay(400);
digitalWrite(buzzerPin, LOW);
delay(400);
}
}