下面是非常简单的代码:
bool a;
void setup() {
a=false;
Serial.begin(9600);
pinMode(A2,INPUT); //连人体红外感应模块输出端
pinMode(3,OUTPUT); //连LED灯
pinMode(4,INPUT_PULLUP); //连一个开关
pinMode(13,OUTPUT); //Arduino自带的LED灯
}
void loop() {
if(!digitalRead(4)){ //开关控制
delay(200);
while(!digitalRead(4));
delay(200);
a=!a;
}
if(a){
digitalWrite(13,HIGH);
}
else digitalWrite(13,LOW);
if(analogRead(A2)>500&&a){ //LED灯控制
analogWrite(3,153);
}
else{
analogWrite(3,0);
}
Serial.println(analogRead(A2));
}
即使没有人的时候A2依然输出的是高电平,数值大概在670-720之间。 |