Я просто создаю простую базовую программу, но не могу понять, что не так.
Я установил три контакта в качестве выхода и три контакта в качестве входа. Когда эти три контакта digitalRead == HIGH установят для светодиода значение HIGH, но вместо этого мой светодиод всегда будет гореть высоко.
Вот мой код 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 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 с резистором 1,5 кОм и тремя проводами к контактам 7, 8 и 9, которые будут получать входной сигнал от контакта 5 В и включать светодиод. Соответственно, вывод 5 В подключается к положительному выводу на шине питания и с резисторами 9,1 * 2 последовательно, а затем этот провод подключается к контактам 2, 3 и 4.