DESCRIÇÃO DO PROCEDIMENTO E ESQUEMA UTILIZADO

Descrição do procedimento e esquema utilizado:

No simulador Tinkercad (links no final da postagem), foi feito o esquema a seguir:


Neste circuito foram utilizados, 2 resistores, 1 botão, 2 potenciômetros e 1 lcd, este circuito dispõe do código a seguir para execução, o mesmo contém comentários para aperfeiçoar sua compreensão:

========================================================================
//Inclui no arduino a biblioteca do LCD.
#include <LiquidCrystal.h>
//Definição do pino 7 como constante.
#define pinBotao 7
//Definição das portas do LCD.
LiquidCrystal lcd(13, 12, 5, 4, 3, 2);
//Variaveis de controle do switch case e armazenamento de valor do botão.
int decimal;
int numero = 0;
int botao = 0;
bool botaoAn = false;
bool botaoAt = false;
void setup(){
//Inicializando o serial para verificar a variavel de controle.
Serial.begin(9600);
//Inicializando o LCD.
lcd.begin(16, 2);
//Definindo tipo de pino.
pinMode(pinBotao, INPUT_PULLUP);
}

void loop(){
//Condição de controle do switch case.
botaoAt = digitalRead(pinBotao);
//Passa para o próximo modo quando se aperta o botão.
if (botaoAt && !botaoAn){
numero++;
  }
  botaoAn = botaoAt;
  //Verificação de variável de controle.
  Serial.print(numero);
  //Leitura da porta analógica.
  decimal = analogRead(A4);
  //Conversão do decimal para voltagem.
  float voltagem = (5.0*decimal)/1023;
  //Switch case pra alternar entre os modos de conversão.
  switch (numero){
    case 0:
    
  lcd.print("SEGURE o botao");
  lcd.setCursor(1,1);
  lcd.print("para mudar modo");
  lcd.setCursor(2,2);
  delay(3500);
  lcd.clear();
     
  //Modo DECIMAL/VOLTS
  lcd.print("Modo 1:");
  lcd.setCursor(1,1);
  lcd.print("DECIMAL/VOLTS");
  lcd.setCursor(2,2);
  delay(3500);
  lcd.clear();
  
  //Modo BINARIO
  lcd.print("Modo 2:");
  lcd.setCursor(1,1);
  lcd.print("BINARIO");
  lcd.setCursor(2,2);
  delay(3500);
  lcd.clear();
  
  //Modo HEXADECIMAL
  lcd.print("Modo 3:");
  lcd.setCursor(1,1);
  lcd.print("HEXADECIMAL");
  lcd.setCursor(2,2);
  delay(3500);
  lcd.clear();
  
  //Modo OCTADECIMAL
  lcd.print("Modo 4:");
  lcd.setCursor(1,1);
  lcd.print("OCTADECIMAL");
  lcd.setCursor(2,2);
  delay(3500);
  lcd.clear();
  break;
    
    case 1:
    
  lcd.print("Decimal e");
  lcd.setCursor(1,1);
  //Converte para Decimal usando uma função da linguagem e o imprime em seguida.
  lcd.print(decimal, DEC);
  lcd.setCursor(2,2);
  delay(1500);
  lcd.clear();
  
  lcd.print("Voltagem e");
  lcd.setCursor(1,1);
  //Imprime o valor da voltagem.
  lcd.print(voltagem);
  lcd.setCursor(2,2);
  delay(1500);
  lcd.clear();
  break;
    
    case 2:
    
  lcd.print("Binario e");
  lcd.setCursor(1,1);
  //Converte para Binario usando uma função da linguagem e o imprime em seguida.
  lcd.print(decimal, BIN);
  lcd.setCursor(2,2);
  delay(1500);
  lcd.clear();
  break;
    
    case 3:
    
  lcd.print("Hexadecimal e");
  lcd.setCursor(1,1);
  //Converte para Hexadecimal usando uma função da linguagem e o imprime em seguida.
  lcd.print(decimal, HEX);
  lcd.setCursor(2,2);
  delay(1500);
  lcd.clear();
  break;
    
    case 4:
    
  lcd.print("Octadecimal e");
  lcd.setCursor(1,1);
  //Converter para Octadecimal usando uma função da linguagem e o imprime em seguida.
  lcd.print(decimal, OCT);
  lcd.setCursor(2,2);
  delay(1500);
  lcd.clear();
  break;
    
    case 5:
   
  //Reseta o programa para o primeiro estado.
  lcd.print("Resetando...");
  lcd.setCursor(1,1);
  delay(5000);
  lcd.clear();
  numero = 0;
  break;
  }
}
========================================================================

Comentários

  1. Todas as postagens foram efetuadas por João Assis . Nao ha postagem em nome de nenhum dos outros participantes da equipe.

    ResponderExcluir

Postar um comentário