Índice:

Calculadora Arduino usando teclado 4X4: 4 etapas (com imagens)
Calculadora Arduino usando teclado 4X4: 4 etapas (com imagens)
Anonim
Image
Image

Neste tutorial, construiremos nossa própria calculadora com Arduino. Os valores podem ser enviados através do teclado (teclado 4 × 4) e o resultado pode ser visualizado em uma tela LCD. Esta calculadora pode realizar operações simples como adição, subtração, multiplicação e divisão com números inteiros. Mas, depois de entender o conceito, você pode implementar até mesmo funções científicas com as funções integradas do Arduino.

Suprimentos

Arduino Uno

Visor LCD 16 × 2

Teclado 4 × 4

Tábua de pão

Cabos Jumper

Cabo Arduino

Etapa 1: esquemas

Etapa 2: Instalação da Biblioteca:

Como dito anteriormente, vamos fazer a interface de um LCD e teclado com o Arduino usando bibliotecas. Então, vamos adicioná-los ao nosso IDE Arduino primeiro. A biblioteca para LCD já está incluída em seu Arduino por padrão, então não precisamos nos preocupar com isso. Para a biblioteca do teclado (clique no link para fazer o download do Github). Você obterá um arquivo ZIP, então adicione esta lib ao Arduino por Sketch -> Incluir Biblioteca -> Adicionar arquivo. ZIP e aponte o local para este arquivo baixado. Uma vez feito isso, estamos prontos para a programação.

Etapa 3: Código-fonte:

/*

© Techtronic Harsh

*/

#incluir

#incluir

LiquidCrystal lcd (0, 1, 2, 3, 4, 5);

const byte ROWS = 4; const byte COLS = 4;

chaves char [ROWS] [COLS] = {

{'1', '2', '3', '+'}, {'4', '5', '6', '-'}, {'7', '8', '9', ' * '}, {' C ',' 0 ',' = ',' / '}}; byte rowPins [ROWS] = {13, 12, 11, 10}; byte colPins [COLS] = {9, 8, 7, 6};

Teclado myKeypad = Teclado (makeKeymap (teclas), rowPins, colPins, ROWS, COLS);

boolean presentValue = false;

próximo booleano = falso; final booleano = falso; String num1, num2; resposta interna; char op;

void setup ()

{lcd.begin (16, 2); lcd.setCursor (0, 0); lcd.print ("Techtronic Harsh"); lcd.setCursor (0, 1); lcd.print ("Calculadora"); atraso (3000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Curtir e"); lcd.setCursor (0, 1); lcd.print ("Inscreva-se"); atraso (3000); lcd.clear (); }

void loop () {

chave char = myKeypad.getKey ();

if (key! = NO_KEY && (key == '1' || key == '2' || key == '3' || key == '4' || key == '5' || key = = '6' || key == '7' || key == '8' || key == '9' || key == '0'))

{if (presentValue! = true) {num1 = num1 + tecla; int numLength = num1.length (); lcd.setCursor (15 - numLength, 0); // para ajustar um espaço em branco para o operador lcd.print (num1); } else {num2 = num2 + tecla; int numLength = num2.length (); lcd.setCursor (15 - numLength, 1); lcd.print (num2); final = verdadeiro; }}

else if (presentValue == false && key! = NO_KEY && (key == '/' || key == '*' || key == '-' || key == '+'))

{if (presentValue == false) {presentValue = true; op = chave; lcd.setCursor (15, 0); lcd.print (op); }}

else if (final == true && key! = NO_KEY && key == '=') {

if (op == '+') {answer = num1.toInt () + num2.toInt (); } else if (op == '-') {answer = num1.toInt () - num2.toInt (); } else if (op == '*') {answer = num1.toInt () * num2.toInt (); } else if (op == '/') {answer = num1.toInt () / num2.toInt (); } lcd.clear (); lcd.setCursor (15, 0); lcd.autoscroll (); lcd.print (resposta); lcd.noAutoscroll (); } else if (key! = NO_KEY && key == 'C') {lcd.clear (); presentValue = false; final = falso; num1 = ""; num2 = ""; resposta = 0; op = ''; }}

/*

© Techtronic Harsh

*/

Etapa 4: Trabalho:

Faça as conexões de acordo com o diagrama de circuito e carregue o código. Se mostrar um erro, certifique-se de adicionar a biblioteca de acordo com as instruções fornecidas acima.

Personagem no teclado e suposição:

  • “A” - Adição (+)
  • “B” - Subtração (-)
  • “C” - Multiplicação (*)
  • “D” - Divisão (/)
  • “*” - Claro (C)
  • “#” - Igual a (=)

Recomendado: