Menu

Aula 003 - Interface para usuário (LCD)

Objetivo: Informar ao usuário o status do que está acontecendo é sempre útil, dai a necessidade de incluir em sua placa um LCD para exibição de mensagens no local.


O código...
//-------------------------------------------------------------//
//  Projeto Desenvolvedores 4.0  - Desenvolvimento com Arduino
//  Programa/hardware: 003 - Interface para o usuário LCD
//  Autor:Clodoaldo Silva
//  Revisão: 25Abr2020
//---------------------------------------------------------------

//inclui a biblioteca do LCD
#include <LiquidCrystal.h>
//http://www.arduino.cc/en/Tutorial/LiquidCrystalDisplay

//DEFINIÇÕES DO HARDWARE DE DESENVOLVIMENTO
//Entradas
#define S1 A0    //Nomeia o pino A0 (analógico) como (digital)
#define S2 A1    //indem A1
#define S3 A2    //indem A2
#define S4 A3    //indem A3

//Saídas
#define LED_vermelho 10    //define do pino 10 como saída
#define LED_amarelo 9    //efine do pino 9 como saída
#define LED_verde 8    //define do pino 8 como saída
#define Lampada 7   //define do pino 7 como saída
#define Motor 6   //define do pino 6 como saída

//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 3
*/
void setup()
{
  // Inicializa o LCD com 20 colunas e 4 linhas
  lcd.begin(20, 4);


  //Configurando os pinos definidos como saídas.
  pinMode(LED_vermelho, OUTPUT);
  pinMode(LED_amarelo, OUTPUT);
  pinMode(LED_verde, OUTPUT);
  pinMode(Lampada, OUTPUT);
  pinMode(Motor, OUTPUT);

  //Configurando os pinos definidos como saídas.
  pinMode(S1, INPUT);
  pinMode(S2, INPUT);
  pinMode(S3, INPUT);
  pinMode(S4, INPUT);

  // Mostra informações iniciais no display
  lcd.setCursor(0, 0);
  lcd.print("   Iniciativa 4.0   ");
  lcd.setCursor(0, 1);
  lcd.print("PROJETOS COM ARDUINO");
  lcd.setCursor(0, 2);
  lcd.print("clube da eletronica ");
  lcd.setCursor(0, 3);
  lcd.print("********************");
}

void loop()
{
  if (digitalRead(S3) == HIGH) // Se a chave estiver pressionada o pino receberá 0.
  {
    digitalWrite(LED_verde, HIGH); // O pino 13 (LED1) em nível alto
    //mensagem no LCD
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Iniciativa 4.0 ...");
    delay(1000);
    lcd.setCursor(0, 1);
    lcd.print("Testando LCD      ");
    delay(1000);
    lcd.setCursor(0, 2);
    lcd.print("LCD OK      ");
    delay(1000);
  }
  else // Senão
  {
    digitalWrite(LED_verde, LOW); // O pino 13 (LED1) em nível baixo
    //mensagem no LCD
    lcd.setCursor(0, 0);
    lcd.print("   Iniciativa 4.0   ");
    lcd.setCursor(0, 1);
    lcd.print("PROJETOS COM ARDUINO");
    lcd.setCursor(0, 2);
    lcd.print("clube da eletronica ");
    lcd.setCursor(0, 3);
    lcd.print("********************");
  }
}
Até a próxima...
“Quanto mais você se supera, mais motivado fica.”
www.clubedaeletronica.com.br
Autor: Clodoaldo Silva...