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;
}
}
========================================================================
Todas as postagens foram efetuadas por João Assis . Nao ha postagem em nome de nenhum dos outros participantes da equipe.
ResponderExcluir