提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
一、按键模块(HW-483)
1.电路连接
这是一个上拉电阻的图样,平时按键没有按下时,Pin0常态处于高电平,程序配合是低电平触发,使得平时灯不会被点亮;
只有key按下时,接低,Pin0也变成低电平,这时低电平触发的程序,使灯被点亮;
2.代码实现
#define key 2//定义key 接口
#define led 13//定义led 接口
boolean state;//布尔变量 state,用来存放0和1两个状态
void setup()
{
pinMode(key,INPUT);//定义key 为输入接口
pinMode(led,OUTPUT);//定义led 为输出接口
}
void loop()
{
state=digitalRead(key);//digitalRead()函数不断检测key的值,并传给变量state
if(state == 1)//如果state是1,说明按键没有按下,是默认高电平状态
{
digitalWrite(led,0); //那么就让灯熄灭
}
else//否则
{
digitalWrite(led,1);//让灯点亮
}
}
3.测试结果
测试结果:key按下按住不松手,灯亮;松开key,灯马上熄灭;
二、蜂鸣器模块:无源蜂鸣器(HW-512)、有源蜂鸣器模块(MH-FMD)
1.无源蜂鸣器HW-512:
1.电路接线
HW-512是一个无源蜂鸣器,正极相当于正极,负极相当于负极;
蜂鸣器正极接到arduino 8脚,负极通过一个220欧姆电阻接到arduino 的GND;
2.代码实现
int buzzer=8;//设置控制蜂鸣器的数字IO_8脚
int i = 0;//和系统借一个变量i,用作for循环的变量
void setup()
{
pinMode(buzzer,OUTPUT);//设置数字IO_8脚模式,OUTPUT为输出
}
void loop()
{
for(i=0;i<80;i++)//输出一个频率的声音
{
digitalWrite(buzzer,HIGH);//发声音
delay(1);//延时1ms
digitalWrite(buzzer,LOW);//不发声音
delay(1);//延时ms
}
for(i=0;i<100;i++)//输出另一个频率的声音
{
digitalWrite(buzzer,HIGH);//发声音
delay(2);//延时2ms
digitalWrite(buzzer,LOW);//不发声音
delay(2);//延时2ms
}
}
//更改for循环的次数i和的delay延时的时间,就能得到其他频率的声音
3.测试结果
测试结果:蜂鸣器发出两种不同频率的声音,交替循环;
4.按键控制蜂鸣器
1.接线:
HW-483按键模块,负极接板子GND,正极(中间引脚)接板子+5v,s信号接板子2脚;
HW-512无源蜂鸣器模块,正极接板子8脚,负极通过220欧姆电阻接板子GND;
2.代码实现:
#define key