Arduino 即使digitalRead处于低位,LED也会保持点亮
我只是在创建一个简单的basic程序,但我不知道出了什么问题 我设置了三个引脚作为输出,三个引脚作为输入。当这三个引脚digitalRead==高时,它们会将LED设置为高,但我的LED始终保持高 这是我的Arduino代码:Arduino 即使digitalRead处于低位,LED也会保持点亮,arduino,arduino-uno,Arduino,Arduino Uno,我只是在创建一个简单的basic程序,但我不知道出了什么问题 我设置了三个引脚作为输出,三个引脚作为输入。当这三个引脚digitalRead==高时,它们会将LED设置为高,但我的LED始终保持高 这是我的Arduino代码: int LED_Low = 4; // Red LED int LED_Avg = 3; // Yellow LED int LED_High = 2; // Green Led int WaterLow = 7; int WaterAvg = 8; int Water
int LED_Low = 4; // Red LED
int LED_Avg = 3; // Yellow LED
int LED_High = 2; // Green Led
int WaterLow = 7;
int WaterAvg = 8;
int WaterHigh = 9;
void setup() {
// Put your setup code here, to run once:
pinMode(LED_Low, OUTPUT);
pinMode(LED_Avg, OUTPUT);
pinMode(LED_High, OUTPUT);
pinMode(WaterLow, INPUT);
pinMode(WaterAvg, INPUT);
pinMode(WaterHigh, INPUT);
}
void check(){
if(digitalRead(WaterLow) == HIGH){ // If Water level is low
digitalWrite(ledLow, HIGH); // Turn on red LED indication water level is low
}
else{
digitalWrite(ledLow, LOW);
}
if(digitalRead(WaterAvg) == HIGH){ // If water level is medium
digitalWrite(ledAvg, HIGH); // Turn on yellow LED indicating water level is average
}
else{
digitalWrite(ledAvg, LOW);
}
if(digitalRead(WaterHigh) == HIGH){ //
digitalWrite(ledHigh, HIGH); //
}
else{
digitalWrite(ledHigh, LOW);
}
}
void loop() {
// Put your main code here, to run repeatedly:
check();
}
在上图中,我已将引脚2、3和4上的led与1.5千欧姆电阻器相连,引脚7、8和9上有三根导线,它们将接收来自5伏引脚的输入并打开led。因此,5伏引脚连接到电源总线的正极端子,并串联9.1*2个电阻器,然后该导线连接到引脚2、3和4。我发现了问题。我的代码还可以。这是我的电路
我声明接收输入的引脚未接地。您可以通过两个案例来实现这一点
if (digitalRead(WaterLow) == HIGH) // If Water level is low
{
digitalWrite(ledLow, HIGH); // Turn red LED indication water level is low
delay(2000);
}
else
{
digitalWrite(ledLow, LOW);
}
int stateled = LOW;
int previous = LOW;
long time = 0;
long debounce = 200;
void loop()
{
stateButton = digitalRead(WaterLow);
if (stateButton == HIGH && previous == LOW && millis() - time > debounce)
{
if(stateLED == HIGH)
{
stateLED = LOW;
}
else
{
stateLED = HIGH;
}
time = millis();
}
digitalWrite(ledlow, stateLED);
previous == stateButton;
}
你能贴一张你的Arduino的照片吗?我用图片和描述更新了我的问题