Логические операторы чаще всего используются в проверке условия оператора if. Базовые сведения о логических операциях, смотрите в Википедии.
&& (логическое И)
Истина, если оба операнда истина (true).
if (digitalRead(2) == HIGH && digitalRead(3) == HIGH) { // считывает состояние двух портов
// ...
}
Истина если оба порта вход/выхода HIGH
|| (логическое ИЛИ)
Истина, если хотя бы один операнд истина, например:
if (x > 0 || y > 0) {
// ...
}
будет верно (истина) если x или y больше 0.
! (логическое отрицание)
True, если операнд false, и наоборот, например:
if (!x) {
// ...
}
условие верно, если x — false (x равно 0).
Важно различать логический оператор «И» — && и битовый оператор «И» — &. Тоже самое относится к логическому оператору «ИЛИ» — || и битовому оператору «ИЛИ» — |.
Пример
if (a >= 10 && a <= 20){} // условие верно, если a больше 10, но меньше 20