我正在开发一个Arduino迷你项目。它设计了一个使用红外模块和arduino UNO R3的自动室内灯光控制器。在回答我的问题之前我会解释一下。就像一个arduino连接到一个IR模块和一个计数器保持人数进入房间,当房间是空的时候,灯自动关闭。但我的代码不工作我期待它的工作方式。 。下面给出的是我的迷你项目的代码。
#define x 14 // x sensor 1
#define y 19 // y sensor 2
#define relay 2 // relay for output
int count = 0; // initialisation
// void IN() //{ count ++;} // void OUT() // { cout--; // }
void setup()
{
// put your setup code here, to run once:
pinMode(x, INPUT);
pinMode(y, INPUT);
pinMode(relay, OUTPUT);
}
void loop()
{
// put your main code here, to run repeatedly:
if(digitalRead(x)) //IN();
{
count++;
}
if (digitalRead(y)) // OUT();
{
count--;
}
if (count <= 0) {
digitalWrite(relay, LOW);
delay(20);
}
else
digitalWrite(relay, HIGH);
}
我的代码存在的问题是发射器和接收器同时检测到干扰,导致当人还在室内时转向灯。因为我刚接触arduino需要你的输入。