蜂鸣器(buzzer)是一种电子发声元器件。是一体化结构的电子讯响器,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。

蜂鸣器分为有源蜂鸣器和无源蜂鸣器两种:
有源蜂鸣器内部带震荡源,所以只要一通电就会发声。
无源蜂鸣器内部不带震荡源,无法用直流信号驱动发出声音,必须用2K-5K的波形脉冲信号去驱动它。

STEM KIT学习板上使用的是有源蜂鸣器。有源蜂鸣器一通电就会发声,那我们把它接入Arduino,只要程序里设定高电平输出就会发声了。

# 部署

把蜂鸣器BUZZER的端子接到OSEPP UNO的2号引脚。

# 程序搭建

oseppBlock 积木知识

蜂鸣器模块积木。蜂鸣器是输出器件,数字和模拟引脚都可以选择。

驱动蜂鸣器积木。可以选择高电平或者低电平,高电平时蜂鸣器发出声音,低电平静音。

循环计数器积木,从给定条件中得到循环次数。

  • oseppBlock程序

  • Arduino程序
int i = 0; //定义一个整型变量

void setup()
{
  //buzzer1
  pinMode(2, OUTPUT); //定义蜂鸣器引脚
}

void loop()
{
  for (i = 0; i < 5; i++) //循环5次
  {
    digitalWrite(2, HIGH); //蜂鸣器发声
    delay(20);             //延时20毫秒
    digitalWrite(2, LOW);  //蜂鸣器静音
    delay(500);            //延时500毫秒
  }
  delay(5000); //延时5秒
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

# 运行结果

蜂鸣器每半秒蜂鸣器响一次,连续5次,之后暂停5秒再次进入循环。

# 解析

  • 使用计数器重复执行语句

for循环由三部分组成:初始化,条件测试和迭代(即在每一个循环过程的最后执行的语句),每一部分都用分号隔开。
代码:for (i = 0; i < 5; i++)
代码解答:int i = 0;初始化变量i为0,i < 5;测试变量,看看它是否小于5,i++使i递增。

uml diagram

# 操作视频