如果我想加多一個BUTTON和一個OUTPUT的話
應該怎寫?
int Button=3;
int Button2=2;
int OUT=11;
int OUT2=12;
boolean onoff=LOW;
boolean onoff2=LOW;
void setup()
{
pinMode(Button2,INPUT); //按钮端子作为输入
pinMode(Button,INPUT);
pinMode(OUT,OUTPUT);
pinMode(OUT2,OUTPUT);
}
void loop()
{
if(digitalRead(Button2)==LOW) //由于本例检测上升沿触发,所以先检测输入是否低电平,
{
delay(10); //然后延时一段时间,
if(digitalRead(Button2)==HIGH) //然后检测是不是电平变为高了。是的话,就是刚好按钮按下了。
{
digitalWrite(OUT2,onoff2); //写入当前LED状态onoff,
onoff2=(!onoff2); //然后LED状态反转,以便下一次使用。
delay(10); //延时一段时间,防止按钮突然断开再按下。
while(digitalRead(Button2)==HIGH) //判断按钮状态,如果仍然按下的话,等待松开。防止一直按住导致LED输出端连续反转
{
delay(1);
}
}
}
if(digitalRead(Button)==LOW) //由于本例检测上升沿触发,所以先检测输入是否低电平,
{
delay(10); //然后延时一段时间,
if(digitalRead(Button)==HIGH) //然后检测是不是电平变为高了。是的话,就是刚好按钮按下了。
{
digitalWrite(OUT,onoff); //写入当前LED状态onoff,
onoff=(!onoff); //然后LED状态反转,以便下一次使用。
delay(10); //延时一段时间,防止按钮突然断开再按下。
while(digitalRead(Button)==HIGH) //判断按钮状态,如果仍然按下的话,等待松开。防止一直按住导致LED输出端连续反转
{
delay(1);
}
}
}
}
我這樣寫發現有DELAY |