Sistemas lógicos sempre fizeram e sempre farão parte da eletrônica, porém, aquelas portas 74XX serão substituídas por programação, então vamos conhecer um pouco.
Operadores Boleanos
! (NÃO lógico) - Resulta em verdadeiro se o operando é falso, e vice-versa. Vale lembrar que condições verdadeiras e falsas na linguagem Arduino são representadas por true e false respectivamente.
&& (E lógico) - Resulta em verdadeiro, apenas se ambos os operandos são verdadeiros. Vale lembrar que condições verdadeiras e falsas na linguagem Arduino são representadas por true e false respectivamente.
|| (OU lógico) - Resulta em verdadeiro se pelo menos um dos operandos é verdadeiro .Vale lembrar que condições verdadeiras e falsas na linguagem Arduino são representadas por true e false respectivamente.
Mais em https://www.arduino.cc/reference/pt/
O hardware:
//-------------------------------------------------------------- // Aulas Online - Arduino // Programa/hardware: 007 - Um pouco de lógica com status no LCD // Autor: Clodoaldo Silva // Revisão: 25Abr2020 //--------------------------------------------------------------- //--------------------------------------------------------------- //inclui a biblioteca do LCD //http://www.arduino.cc/en/Tutorial/LiquidCrystalDisplay #include <LiquidCrystal.h> //--------------------------------------------------------------- //--------------------------------------------------------------- //DEFINIÇÕES DO HARDWARE DE DESENVOLVIMENTO //Entradas #define BL1 A3 #define BL2 A2 //Saídas #define LED_01 13 //DEFINE PINOS PARA LCD JÁ NA BIBLIOTECA LiquidCrystal lcd(12, 11, 5, 4, 3, 2); /* Respectivamente LCD RS pin to digital pin 12 LCD Enable pin to digital pin 11 LCD R/W pin to ground LCD D4 pin to digital pin 5 LCD D5 pin to digital pin 4 LCD D6 pin to digital pin 3 LCD D7 pin to digital pin 2 */ //--------------------------------------------------------------- //--------------------------------------------------------------- //Definindo variáveis //não há //--------------------------------------------------------------- //--------------------------------------------------------------- void setup() { // Inicializa o LCD com 16 colunas e 2 linhas lcd.begin(16, 2); //Configurando os pinos definidos como entrada. pinMode(BL1, INPUT); pinMode(BL2, INPUT); //Configurando os pinos definidos como saídas. pinMode(LED_01, OUTPUT); //--------------------------------------------------------------- //--------------------------------------------------------------- // Mostra informações iniciais no display lcd.setCursor(0, 0); //escreve na primeira linha coluna, primeira linha lcd.print("Aula 007 - Lógica "); delay(2000); //--------------------------------------------------------------- } //--------------------------------------------------------------- //--------------------------------------------------------------- void loop() { // Lógica AND = && // Lógica OR = || // Lógica NOT = ! if ((digitalRead(BL1) == HIGH) && (digitalRead(BL2) == HIGH)) { digitalWrite(LED_01, HIGH); lcd.setCursor(0, 0); lcd.print("LED Ligado.... "); } else { digitalWrite(LED_01, LOW); lcd.setCursor(0, 0); lcd.print("LED Desligado..."); } } //---------------------------------------------------------------
O Código: Lógica OR (||)
/--------------------------------------------------------------
// Aulas Online - Arduino // Programa/hardware: 007 - Um pouco de lógica com status no LCD // Autor: Clodoaldo Silva // Revisão: 25Abr2020 //--------------------------------------------------------------- //--------------------------------------------------------------- //inclui a biblioteca do LCD //http://www.arduino.cc/en/Tutorial/LiquidCrystalDisplay #include <LiquidCrystal.h> //--------------------------------------------------------------- //--------------------------------------------------------------- //DEFINIÇÕES DO HARDWARE DE DESENVOLVIMENTO //Entradas #define BL1 A3 #define BL2 A2 //Saídas #define LED_01 13 //DEFINE PINOS PARA LCD JÁ NA BIBLIOTECA LiquidCrystal lcd(12, 11, 5, 4, 3, 2); /* Respectivamente LCD RS pin to digital pin 12 LCD Enable pin to digital pin 11 LCD R/W pin to ground LCD D4 pin to digital pin 5 LCD D5 pin to digital pin 4 LCD D6 pin to digital pin 3 LCD D7 pin to digital pin 2 */ //--------------------------------------------------------------- //--------------------------------------------------------------- //Definindo variáveis //não há //--------------------------------------------------------------- //--------------------------------------------------------------- void setup() { // Inicializa o LCD com 16 colunas e 2 linhas lcd.begin(16, 2); //Configurando os pinos definidos como entrada. pinMode(BL1, INPUT); pinMode(BL2, INPUT); //Configurando os pinos definidos como saídas. pinMode(LED_01, OUTPUT); //--------------------------------------------------------------- //--------------------------------------------------------------- // Mostra informações iniciais no display lcd.setCursor(0, 0); //escreve na primeira linha coluna, primeira linha lcd.print("Aula 007 - Lógica "); delay(2000); //--------------------------------------------------------------- } //--------------------------------------------------------------- //--------------------------------------------------------------- void loop() { // Lógica AND = && // Lógica OR = || // Lógica NOT = ! if ((digitalRead(BL1) == HIGH) || (digitalRead(BL2) == HIGH)) { digitalWrite(LED_01, HIGH); lcd.setCursor(0, 0); lcd.print("LED Ligado.... "); } else { digitalWrite(LED_01, LOW); lcd.setCursor(0, 0); lcd.print("LED Desligado..."); } } //---------------------------------------------------------------
O Código: Lógica NOT (!)
//-------------------------------------------------------------- // Aulas Online - Arduino // Programa/hardware: 007 - Um pouco de lógica com status no LCD // Autor: Clodoaldo Silva // Revisão: 25Abr2020 //--------------------------------------------------------------- //--------------------------------------------------------------- //inclui a biblioteca do LCD //http://www.arduino.cc/en/Tutorial/LiquidCrystalDisplay #include <LiquidCrystal.h> //--------------------------------------------------------------- //--------------------------------------------------------------- //DEFINIÇÕES DO HARDWARE DE DESENVOLVIMENTO //Entradas #define BL1 A3 #define BL2 A2 //Saídas #define LED_01 13 //DEFINE PINOS PARA LCD JÁ NA BIBLIOTECA LiquidCrystal lcd(12, 11, 5, 4, 3, 2); /* Respectivamente LCD RS pin to digital pin 12 LCD Enable pin to digital pin 11 LCD R/W pin to ground LCD D4 pin to digital pin 5 LCD D5 pin to digital pin 4 LCD D6 pin to digital pin 3 LCD D7 pin to digital pin 2 */ //--------------------------------------------------------------- //--------------------------------------------------------------- //Definindo variáveis //não há //--------------------------------------------------------------- //--------------------------------------------------------------- void setup() { // Inicializa o LCD com 16 colunas e 2 linhas lcd.begin(16, 2); //Configurando os pinos definidos como entrada. pinMode(BL1, INPUT); pinMode(BL2, INPUT); //Configurando os pinos definidos como saídas. pinMode(LED_01, OUTPUT); //--------------------------------------------------------------- //--------------------------------------------------------------- // Mostra informações iniciais no display lcd.setCursor(0, 0); //escreve na primeira linha coluna, primeira linha lcd.print("Aula 007 - Logica "); delay(2000); //--------------------------------------------------------------- } //--------------------------------------------------------------- //--------------------------------------------------------------- void loop() { // Lógica AND = && // Lógica OR = || // Lógica NOT = ! if (!digitalRead(BL1) == HIGH) { digitalWrite(LED_01, HIGH); lcd.setCursor(0, 0); lcd.print("LED Ligado.... "); } else { digitalWrite(LED_01, LOW); lcd.setCursor(0, 0); lcd.print("LED Desligado..."); } } //---------------------------------------------------------------
“Dificuldades preparam pessoas comuns para destinos extraordinários”
C.S Lewis