&& (E lógico)

condicaoA && condicaoB

Quando você precisa que duas coisas ao mesmo tempo sejam verdadeiras pra tomar uma decisão, o && é o operador certo. Ele junta duas comparações e só entrega true se as duas passarem — se qualquer uma falhar, o resultado é false.

Sintaxe

condicaoA && condicaoB

Parâmetros

  • condicaoA: a primeira expressão booleana (ex.: temperatura > 30).
  • condicaoB: a segunda expressão booleana (ex.: botao == HIGH).

Retorno

Um valor booleano (bool): true só quando as duas condições forem verdadeiras; caso contrário, false.

Exemplo

int sensor = A0;
int botao = 2;

void setup() {
  pinMode(botao, INPUT_PULLUP);
  pinMode(13, OUTPUT);
}

void loop() {
  int luz = analogRead(sensor);
  // Acende só se estiver escuro E o botão estiver pressionado
  if (luz < 300 && digitalRead(botao) == LOW) {
    digitalWrite(13, HIGH);
  } else {
    digitalWrite(13, LOW);
  }
}

Notas e cuidados

  • Não confunda && (E lógico, entre condições) com & (E bit a bit, entre os bits de um número) — trocar um pelo outro muda totalmente o resultado.
  • O && tem avaliação em curto-circuito: se condicaoA já for false, o Arduino nem chega a testar condicaoB.
  • Cada comparação precisa ser completa: escreva x > 0 && x < 10, e não 0 < x < 10 (isso compila mas não faz o que você imagina).

Quer aprender a usar isso em projetos reais, do zero?

Conhecer o Curso Maker