Как считать с пин и показать инертный сигнал

Здравствуйте
Не судите строго.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);

int Err_LED_1 = 0;
int Err_LAMP_1 = 0;
int Err_LED_2 = 0;
int Err_LAMP_2 = 0;
int Err_LED_3 = 0;
int Err_LAMP_3 = 0;

void setup() {

Err_LED_1 = digitalRead(5);
Err_LAMP_1 = digitalRead(4);
Err_LED_2 = digitalRead(7);
Err_LAMP_2 = digitalRead(6);
Err_LED_3 = digitalRead(9);
Err_LAMP_3 = digitalRead(8);

if (Err_LAMP_1 or Err_LED_1 or Err_LAMP_2) {
digitalWrite(0, HIGH);
lcd.setCursor(17, 0);
lcd.print(“ERR”);
}
else {
digitalWrite(0, LOW);
lcd.setCursor(17, 0);
lcd.print("OK ");
}

if (Err_LED_1 and Err_LAMP_1) {
lcd.setCursor(3, 1);
lcd.print(“11”);
}
else if (Err_LED_1) {
lcd.setCursor(4,1);
lcd.print(“0”);
}
else if (Err_LAMP_1) {
lcd.setCursor(3, 1);
lcd.print(“1”);
}
else {
lcd.setCursor(3, 1);
lcd.print(“00”);
}
У меня на одном пине “0”, на второам “1”, а мне нужно на обоих показавала “00” и логика должна показать что все хорошо. Если “00” или “01” или “10” то ошибка.

Err_LED_1 = digitalRead(5);
Err_LAMP_1 = !digitalRead(4);

Надо было просто !digitalRead написать
Большое Вам спасибо.

Форум животворящий что вытворяет. Только зашел сюда и сразу ответ на ум пришёл.

Еще бы язык подучил - поди догадайся, что “инертный” значит “инвертированный” )))

2 лайка