Índice:

Calculadora LCD por Jai Mishra: 8 etapas
Calculadora LCD por Jai Mishra: 8 etapas
Anonim
Calculadora LCD por Jai Mishra
Calculadora LCD por Jai Mishra

Projetos Tinkercad »

Este é um projeto muito útil que ensina como criar sua própria calculadora. Você pode criar esta calculadora online ou na vida real com a ajuda de suprimentos extras, mas por enquanto vamos nos concentrar apenas na criação de uma calculadora online.

Suprimentos

  • Arduino Uno R3
  • Resistor de 220 ohms
  • 4 * 4 teclado
  • 16 * 2 LCD
  • Um monte de fios para conectar o circuito

Etapa 1: Reúna seus suprimentos no TinkerCad

Reúna seus suprimentos no TinkerCad
Reúna seus suprimentos no TinkerCad

Certifique-se de que todos os seus suprimentos estejam disponíveis antes de iniciarmos a etapa 2 para reduzir o estresse e erros. Certifique-se de usar também os suprimentos corretos, alguns dos componentes nesta imagem acima são semelhantes a outros componentes, portanto, não se misture entre eles. Use a imagem acima como sua orientação.

Etapa 2: Organize seus suprimentos

Organize seus suprimentos
Organize seus suprimentos

Organizar seus suprimentos é a melhor maneira de ter uma prévia da aparência de sua calculadora. Você pode criar qualquer tipo de design de calculadora que desejar, mas certifique-se de que a calculadora tenha uma aparência natural e que os usuários possam entender o design e não se confundir. Eu usei um design típico de calculadora elegante, que é eficaz e compreensível por todos. Você pode escolher o meu design ou criar o seu próprio, mas seja o que for, seja criativo e boa sorte!

Etapa 3: Conectando os fios

Conectando os fios
Conectando os fios

Conectar os fios é um trabalho difícil se você não entende o significado por trás disso. Nesta conexão, estamos tentando conectar todos os quatro componentes para que possam trabalhar como um grupo quando for a hora de escrever o código. Se não houver fios, nenhuma corrente vai fluir, levando a um projeto malsucedido. Certifique-se de que seus fios estão conectados corretamente, sem qualquer mal-entendido.

Depois de terminar de conectar os fios, verifique se eles estão limpos e organizados para que seja mais fácil para você e outras pessoas entenderem o que exatamente está acontecendo no hardware desta calculadora. Como eu disse antes, você pode usar minha técnica de organizar seus fios ou criar os seus próprios, mas o que quer que decida fazer, certifique-se de que eles estejam montados com algum espaço.

Etapa 4: escrever o código

Escrevendo o Código
Escrevendo o Código
Escrevendo o Código
Escrevendo o Código
Escrevendo o Código
Escrevendo o Código

#incluir

#include #include

LiquidCrystal lcd (13, 12, 11, 10, 9, 8);

longo primeiro = 0; segundo longo = 0; total duplo = 0;

char customKey; const byte ROWS = 4; const byte COLS = 4;

chaves char [ROWS] [COLS] = {{'1', '4', '7', '/'}, {'2', '5', '8', '+'}, {'3', '6', '9', '-'}, {'C', '0', '=', '*'}}; byte rowPins [ROWS] = {7, 6, 5, 4}; // conectar às pinagens de linha do byte do teclado colPins [COLS] = {3, 2, 1, 0}; // conectar à pinagem da coluna do teclado

// inicializa uma instância da classe NewKeypad Keypad customKeypad = Keypad (makeKeymap (keys), rowPins, colPins, ROWS, COLS);

configuração vazia () {lcd.begin (16, 2); // inicia o LCD para (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print ("Calculadora"); lcd.setCursor (0, 1); lcd.print ("Por Jai Mishra"); atraso (4000); lcd.clear (); lcd.print ("Projeto Final"); atraso (2500); lcd.clear (); lcd.setCursor (0, 0); }

void loop () {

customKey = customKeypad.getKey (); switch (customKey) {case '0'… '9': // Isso continua coletando o primeiro valor até que um operador seja pressionado "+ - * /" lcd.setCursor (0, 0); primeiro = primeiro * 10 + (customKey - '0'); lcd.print (primeiro); pausa;

caso '+': primeiro = (total! = 0? total: primeiro); lcd.setCursor (0, 1); lcd.print ("+"); segundo = SecondNumber (); // obtém o segundo número coletado total = primeiro + segundo; lcd.setCursor (0, 3); lcd.print (total); primeiro = 0, segundo = 0; // redefine os valores de volta para zero para o próximo uso break;

caso '-': primeiro = (total! = 0? total: primeiro); lcd.setCursor (0, 1); lcd.print ("-"); segundo = SecondNumber (); total = primeiro - segundo; lcd.setCursor (0, 3); lcd.print (total); primeiro = 0, segundo = 0; pausa;

caso '*': primeiro = (total! = 0? total: primeiro); lcd.setCursor (0, 1); lcd.print ("*"); segundo = SecondNumber (); total = primeiro * segundo; lcd.setCursor (0, 3); lcd.print (total); primeiro = 0, segundo = 0; pausa;

caso '/': primeiro = (total! = 0? total: primeiro); lcd.setCursor (0, 1); lcd.print ("/"); segundo = SecondNumber (); lcd.setCursor (0, 3);

segundo == 0? lcd.print ("Inválido"): total = (flutuante) primeiro / (flutuante) segundo;

lcd.print (total); primeiro = 0, segundo = 0; pausa;

caso 'C': total = 0; lcd.clear (); pausa; }}

long SecondNumber () {while (1) {customKey = customKeypad.getKey (); if (customKey> = '0' && customKey <= '9') {segundo = segundo * 10 + (customKey - '0'); lcd.setCursor (0, 2); lcd.print (segundo); }

if (customKey == '=') break; // retorna segundo; } retorno em segundo; }

Etapa 5: decompondo o código

Quebrando o Código
Quebrando o Código

Inicializamos os valores para o computador entender

#incluir

#include #include

LiquidCrystal lcd (13, 12, 11, 10, 9, 8);

longo primeiro = 0; segundo longo = 0; total duplo = 0;

char customKey; const byte ROWS = 4; const byte COLS = 4;

Dissemos ao computador os números e sinais de funcionamento do teclado

chaves char [ROWS] [COLS] = {{'1', '2', '3', '/'}, {'4', '5', '6', '+'}, {'7', '8', '9', '-'}, {'C', '0', '=', '*'}};

Finalizamos as linhas e colunas do teclado e qual número vem em qual coluna, etc

byte rowPins [ROWS] = {7, 6, 5, 4}; byte colPins [COLS] = {3, 2, 1, 0};

Nós criamos a introdução, ou a tela de inicialização do computador (você pode escrever seu próprio nome nela)

configuração vazia () {lcd.begin (16, 2); para (int i = 0; i <= 3; i ++); lcd.setCursor (0, 0); lcd.print ("Calculadora"); lcd.setCursor (0, 1); lcd.print ("Por Jai Mishra"); atraso (4000); lcd.clear (); lcd.print ("Projeto Final"); atraso (2500); lcd.clear (); lcd.setCursor (0, 0); }

Criamos o significado e a fórmula para cada operação na calculadora para que o computador compreenda qual fórmula usar quando o usuário pressionar "+" na calculadora, etc

{case '0'… '9': lcd.setCursor (0, 0); primeiro = primeiro * 10 + (customKey - '0'); lcd.print (primeiro); pausa;

caso '/': primeiro = (total! = 0? total: primeiro); lcd.setCursor (0, 1); lcd.print ("/"); segundo = SecondNumber (); lcd.setCursor (0, 3);

segundo == 0? lcd.print ("Inválido"): total = (flutuante) primeiro / (flutuante) segundo;

lcd.print (total); primeiro = 0, segundo = 0; pausa; caso '+': primeiro = (total! = 0? total: primeiro); lcd.setCursor (0, 1); lcd.print ("+"); segundo = SecondNumber (); lcd.setCursor (0, 3); lcd.print (total); primeiro = 0, segundo = 0; pausa;

caso '-': primeiro = (total! = 0? total: primeiro); lcd.setCursor (0, 1); lcd.print ("-"); segundo = SecondNumber (); total = primeiro - segundo; lcd.setCursor (0, 3); lcd.print (total); primeiro = 0, segundo = 0; pausa;

caso '*': primeiro = (total! = 0? total: primeiro); lcd.setCursor (0, 1); lcd.print ("*"); segundo = SecondNumber (); total = primeiro * segundo; lcd.setCursor (0, 3); lcd.print (total); primeiro = 0, segundo = 0; pausa;

caso 'C': total = 0; lcd.clear (); pausa; }}

O código é muito fácil, basta tentar entendê-lo e então tudo pode ser feito facilmente. Se houver algum problema com o código, envie-me um e-mail

Etapa 6: Como funciona o hardware desta calculadora?

Como funciona o hardware desta calculadora?
Como funciona o hardware desta calculadora?

Esta calculadora usa um LCD, um teclado, uma placa Arduino e um resistor de 220 ohms. Todos esses componentes são separados, mas são conectados com os fios do Arduino ao teclado e ao LCD. Diferentes seções do LCD são conectadas à placa Arduino que, em última análise, conecta os dois com o teclado. Após a conexão, a codificação faz todo o trabalho e dá a cada operação e botão no teclado uma tarefa a ser seguida.

Etapa 7: visualização completa da calculadora

É assim que nosso projeto final se parece! Se o seu código não funcionar ou houver algumas dificuldades técnicas, envie-me um e-mail e tentarei o meu melhor para ajudá-lo a criar a melhor calculadora!

Etapa 8: Minha inspiração para este código

Eu me inspirei no vídeo acima sobre como fazer uma calculadora no tinkercad! Não copiei e colei nada, mas usei sua ideia da calculadora e a compreensão do código.

Recomendado: