实验现象:
利用滚珠开关特性,编写一个电动车防盗报警设备。
理论学习:
滚珠开关,当有震动发生的时候,滚珠开关的两个引脚会瞬间接通。Arduino通过中断方式获取到该信号,进行蜂鸣器报警。
熟练掌握Arduino的中断编写方式:attachInterrupt(interrupt,function,mode);
程序代码:
#define KEY 2
#define Buzzer 3
int count = 0; //计数变量
int flag = 0; //中断执行标志位
void setup()
{
pinMode(KEY,INPUT_PULLUP); //按键设置为输入带上拉
pinMode(Buzzer,OUTPUT);
attachInterrupt(0,BuzzerDi,FALLING); //设置中断0(数字IO 2),下降沿触发中断函数BuzzerDi
Serial.begin(9600);
}
void loop()
{
if(flag == 1) //如果flag被置一,说明有中断产生,执行该段程序
{
flag = 0; //flag清零
digitalWrite(Buzzer,HIGH); //蜂鸣器响
delay(1000); //延时1000ms
}
else
{
digitalWrite(Buzzer,LOW); //没有中断时候,蜂鸣器不响
}
Serial.println(count); //串口显示中断次数
}
void BuzzerDi() //中断函数BuzzerDi
{
flag = 1; //置位标志位
count++; //进中断次数加一
}