Логические операторы чаще всего используются в проверке условия оператора 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