G'day,
我正试图用光刻胶来控制继电器。我的想法是,如果光刻胶值低于300,打开继电器,如果低于300,关闭继电器。对我来说似乎很简单,但它不起作用,我不知道为什么。
到目前为止,我的代码正在编译和上传,但继电器的数字引脚上似乎有来自Arduino的小电流(继电器包LED闪烁)。即使我把光致抗蚀剂电路从等式中去掉。
int sens = A0; //Photoresistor
int butt = 53; //Button
int rel = 51; //Relay
int sensVal; //Photoresistor Value
void setup()
{
Serial.begin(9600);
pinMode(butt, INPUT_PULLUP);
pinMode(rel, OUTPUT);
}
void loop()
{
sensVal = analogRead(sens);
Serial.print("Raw val from sens= ");
Serial.println(sensVal);
delay(500);
if (analogRead (sens) < 300);
{
digitalWrite (rel, HIGH);
}
if (analogRead (sens) > 300);
{
digitalWrite (rel, LOW);
}
//if (digitalRead (butt) == HIGH)
//{
// digitalWrite (rel, LOW);
//}
//if (digitalRead (butt) == LOW)
//{
// digitalWrite (rel, HIGH);
//}
}
忽略评论,这是我正在研究的另一部分。
任何建议都会很棒。
我解决了。
我稍微改变了if语句。
if (analogRead (sens) < 400)
{
digitalWrite (rel, HIGH);
delay (1000);
}
else if (analogRead (sens) > 400)
{
digitalWrite (rel, LOW);
}
希望其他人能从我的错误中吸取教训
希望这将对您有所帮助:
digitalWrite (rel, (analogRead(sens) <= 400) );