If-Else: Operador Lógico AND (&&)
Vamos começar nossa jornada no mundo da lógica digital e aprender como controlar um LED com dois botões usando a estrutura condicional e o operador lógico AND no Arduino.
O operador lógico AND é um componente fundamental na área de controle e automação. Ele é usado quando queremos que duas ou mais condições sejam verdadeiras ao mesmo tempo para que uma ação seja executada.
Por exemplo, imagine um sistema de segurança de uma fábrica que só deve ser desativado se dois operadores diferentes inserirem suas senhas corretamente ao mesmo tempo. Este é um exemplo prático de onde a lógica AND é utilizada. V
Na imagem acima, o motor só é assionado se tanto o Input Passcode quanto o Hidden Passcode forem corretamete inseridos.
A tabela verdade para a lógica AND é a seguinte:
Entrada 1 | Entrada 2 | Output |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Observe que a saída é verdadeira (1) apenas quando ambas as Entradas são verdadeiros.
Agora vamos ao nosso exemplo:
Primeiro, definiremos as portas onde os botões e o LED serão conectados. Vamos usar as portas digitais 2 e 3 para os botões, e a porta digital 13 para o LED. Vamos usar constantes para definir essas portas:
# define BOTAO1 2
# define BOTAO2 3
# define LED 13
No método `setup()`, definimos as portas dos botões como ENTRADA e a porta do LED como SAÍDA:
void setup() {
pinMode(BOTAO1, INPUT);
pinMode(BOTAO2, INPUT);
pinMode(LED, OUTPUT);
}
No método `loop()`, lemos o estado dos botões. Se ambos os botões estiverem pressionados (ambos HIGH), acendemos o LED. Caso contrário, apagamos o LED:
void loop() {
if(digitalRead(BOTAO1) == HIGH && digitalRead(BOTAO2) == HIGH) {
digitalWrite(LED, HIGH);
} else {
digitalWrite(LED, LOW);
}
}
E pronto! Agora você tem um código que só acende um LED quando ambos os botões são pressionados ao mesmo tempo. Isso é um exemplo de como a lógica AND funciona na prática.