Menu

007 - Arduino - Um pouco de lógica

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:


O Código: Lógica AND (&&)

//--------------------------------------------------------------
//  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