【Arduino06】开关控制蜂鸣器实验

本文介绍了如何使用Arduino平台通过一个开关控制蜂鸣器的实验,包括硬件连接(如蜂鸣器、开关、电阻和面包板)和软件编程(使用delay函数处理延时)。
摘要由CSDN通过智能技术生成

准备器件

有源蜂鸣器:1个

四角开关:1个

220欧电阻:1个

面包板:1个

杜邦线:6根

硬件连线

1、将蜂鸣器和四脚开关插入面包板中;

2、用一根杜邦线将蜂鸣器的正极接到8号引脚;

3、用一根杜邦线将蜂鸣器的负极接到带减号的横排插口;

4、用一根杜邦线将带减号的横排插口接到GND口;

5、用一根杜邦线将带加号的横排插口接到5V插口;

6、用电阻将开关的一端接到加号的横排插口;

7、用一根杜邦线将开关这端接到4号引脚;

8、用一根杜邦线将开关另一端接到带减号的横排插口。

软件程序

const int button_pin = 4;  //开关引脚
const int buzzer_pin = 8;  //蜂鸣器引脚
unsigned int fre;          //蜂鸣器频率
int val;

void setup() {
  //Serial.begin(9600);
  pinMode(button_pin, INPUT);
  pinMode(buzzer_pin, OUTPUT);
}

void loop() {
  val = digitalRead(button_pin);
  //Serial.println("检测开关");
  if (val == LOW) {
    //Serial.println("准备开始");
    delay(1000);
    BUZZER();
    //Serial.println("结束");
  }
  tone(buzzer_pin, 0);
}

void BUZZER() {
  while (1) {
    for (fre = 200; fre <= 800; fre++) {
      if (digitalRead(button_pin) == LOW){
        //Serial.println("按下第二次1");
        goto flag;
      }
      //Serial.println("响1");
      tone(buzzer_pin, fre);
      delay(5);
    }
    delay(4000);
    //Serial.println("最高音");
    for (fre = 800; fre >= 200; fre--) {
      if (digitalRead(button_pin) == LOW){
        //Serial.println("按下第二次2");
        goto flag;
      }
      //Serial.println("响2");
      tone(buzzer_pin, fre);
      delay(10);
    }
    //delay(4000);
  }
flag:
  tone(buzzer_pin,0);
  digitalWrite(buzzer_pin,LOW);
  //Serial.println("蜂鸣器停止");
  delay(1000);
}

成品展示视频

按下开关,蜂鸣器开始发出警报;再按一下开关,蜂鸣器停止。

【Arduino06】开关控制蜂鸣器实验成品演示

总结

通过本次实验,我熟悉了蜂鸣器的使用,并复习了开关的用法。在进行实验时,我常因为没有设置延时,导致判断过于迅速,影响程序的顺序。当一个量要进行多次判断时,最好加上延时。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值