在这堂课中,我们将会知道如何按钮通过按钮控制压电蜂鸣器,这类似于一个门铃。
按下按钮时,蜂鸣器会发出报警指示打开门。
那么,让我们开始!!
目录
第一步 准备材料
![(十六)nodemcu初级:使用压电蜂鸣器制作门铃](https://static.qutaojiao.com/wp-content/uploads/2019/05/3cbd3-1b85ab6bc53962.jpg)
硬件清单:
- NodeMCU开发板
- 按钮或按键开关
- 10KΩ电阻
- 面包板
- USB数据线
- 连接线或杜邦线
软件环境:
- Arduino IDE(安装了ESP8266库)
注意:你也可以将蜂鸣器直接连接到nodemcu开发板,这可能简单些。但是,建议将一个100Ω的电阻与蜂鸣器串联再连接到nodemcu开发板。
第二步 原理说明
![(十六)nodemcu初级:使用压电蜂鸣器制作门铃](https://static.qutaojiao.com/wp-content/uploads/2019/05/e1f05-15ba45528c1fb5.jpg)
![(十六)nodemcu初级:使用压电蜂鸣器制作门铃](https://static.qutaojiao.com/wp-content/uploads/2019/05/26772-1babb55a85264a.jpg)
![(十六)nodemcu初级:使用压电蜂鸣器制作门铃](https://static.qutaojiao.com/wp-content/uploads/2019/05/f13d2-1b54ca5c28bd58.jpg)
![(十六)nodemcu初级:使用压电蜂鸣器制作门铃](https://static.qutaojiao.com/wp-content/uploads/2019/05/a17a2-1e8858a54b25bd.jpg)
![(十六)nodemcu初级:使用压电蜂鸣器制作门铃](https://static.qutaojiao.com/wp-content/uploads/2019/05/b977f-1b6f255b8a2004.jpg)
![(十六)nodemcu初级:使用压电蜂鸣器制作门铃](https://static.qutaojiao.com/wp-content/uploads/2019/05/45e3f-1b58bc565924ab.jpg)
压电蜂鸣器是一种常用于产生声音的电子设备。
什么是压电?
压电是在对某些材料施加机械振动时发电的现象。这种材料称为压电材料。
因此,当蜂鸣器受到电场作用时,它们以一定的频率振动,从而产生声音。振动频率取决于材料内部使用的材料。
第三步 电路搭建
![(十六)nodemcu初级:使用压电蜂鸣器制作门铃](https://static.qutaojiao.com/wp-content/uploads/2019/05/c7a6b-148ba5ba5581b7.jpg)
![(十六)nodemcu初级:使用压电蜂鸣器制作门铃](https://static.qutaojiao.com/wp-content/uploads/2019/05/4fed5-1a58d5651b7dba.jpg)
![(十六)nodemcu初级:使用压电蜂鸣器制作门铃](https://static.qutaojiao.com/wp-content/uploads/2019/05/23118-15079babb351e5.jpg)
![(十六)nodemcu初级:使用压电蜂鸣器制作门铃](https://static.qutaojiao.com/wp-content/uploads/2019/05/338d5-12552bb61a8548.jpg)
![(十六)nodemcu初级:使用压电蜂鸣器制作门铃](https://static.qutaojiao.com/wp-content/uploads/2019/05/ab36e-1cafb5a0b9b855.jpg)
![(十六)nodemcu初级:使用压电蜂鸣器制作门铃](https://static.qutaojiao.com/wp-content/uploads/2019/05/89aa9-1f59b50bfb5a85.jpg)
连接非常简单。
按钮的连接方法图上也比较清晰,照着连接即可,这是一个下拉电阻电路。默认为低电平,当按键按下之后为高电平。
蜂鸣器连接:
蜂鸣器阳极(红线)连接到数字I / O引脚(此处为引脚D1)和阴极(黑色线)接地(GND)引脚。
第四步 编写程序
const int buzzer = 5;
const int button = 16;
int temp = 0;
void setup() {
Serial.begin(9600);
pinMode(buzzer, OUTPUT);
pinMode(button, INPUT);
}
void ring() {
digitalWrite(buzzer, HIGH);
delay(500);
digitalWrite(buzzer, LOW);
delay(500);
digitalWrite(buzzer, HIGH);
delay(500);
digitalWrite(buzzer, LOW);
delay(500);
digitalWrite(buzzer, HIGH);
delay(500);
digitalWrite(buzzer, LOW);
delay(500);
digitalWrite(buzzer, HIGH);
delay(500);
digitalWrite(buzzer, LOW);
delay(500);
digitalWrite(buzzer, HIGH);
delay(500);
digitalWrite(buzzer, LOW);
delay(500);
digitalWrite(buzzer, HIGH);
}
余下程序:
第五步 效果演示
看看