Логические операторы

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

Справочник языка