Índice:

Calculadora Arduino DIY usando LCD 1602 e teclado 4x4: 4 etapas
Calculadora Arduino DIY usando LCD 1602 e teclado 4x4: 4 etapas

Vídeo: Calculadora Arduino DIY usando LCD 1602 e teclado 4x4: 4 etapas

Vídeo: Calculadora Arduino DIY usando LCD 1602 e teclado 4x4: 4 etapas
Vídeo: 20 KEYPAD 4x4 TECLADO MATRICIAL CON ARDUINO MAS LCD 2024, Novembro
Anonim
Calculadora Arduino DIY usando 1602 LCD e teclado 4x4
Calculadora Arduino DIY usando 1602 LCD e teclado 4x4

Oi pessoal neste instructables faremos uma calculadora usando o Arduino que pode fazer cálculos básicos. Então, basicamente pegaremos a entrada do teclado 4x4 e imprimiremos os dados em um display LCD 16x2 e o Arduino fará os cálculos.

Etapa 1: Coisas que você precisa

Coisas que você precisa
Coisas que você precisa
Coisas que você precisa
Coisas que você precisa
Coisas que você precisa
Coisas que você precisa
Coisas que você precisa
Coisas que você precisa

Para estes instrutíveis, precisaremos das seguintes coisas: Arduino Uno (qualquer versão funcionará)

Visor LCD 16 × 2

4 × 4 teclado 9V bateriaBreadboardFios de conexão

Etapa 2: conexões

Conexões
Conexões
Conexões
Conexões

O diagrama de circuito completo deste projeto de calculadora do Arduino é fornecido acima. A conexão de + 5V e terra mostrada no diagrama de circuito pode ser obtida a partir do pino 5V e terra do Arduino. O próprio Arduino pode ser alimentado a partir de seu laptop ou por meio do conector DC usando um adaptador de 12 V ou bateria de 9 V. Estamos operando o LCD no modo de 4 bits com o Arduino, portanto, apenas os quatro últimos bits de dados do LCD são conectados ao Arduino. O teclado terá 8 pinos de saída que devem ser conectados do pino 0 ao pino 7, conforme mostrado acima. Algumas placas Arduino podem mostrar um erro durante o upload do programa se houver alguma coisa conectada ao pino 0 e pino 1, portanto, se houver algum, basta remover o teclado enquanto carrega o programa.

Etapa 3: Código

Código
Código

Copie o seguinte código e carregue nele o seu arduino: / * * Arduino Keypad calculator Program * / # include "LiquidCrystal.h" // Arquivo de cabeçalho para LCD de https://www.arduino.cc/en/Reference/LiquidCrystal# incluir "Keypad.h" // Arquivo de cabeçalho para teclado em https://github.com/Chris--A/Keypadconst byte ROWS = 4; // Quatro linhasconst byte COLS = 4; // Três colunas // Definir as chaves do keymapchar [ROWS] [COLS] = {{'7', '8', '9', 'D'}, {'4', '5', '6', ' C '}, {' 1 ',' 2 ',' 3 ',' B '}, {' * ',' 0 ',' # ',' A '}}; byte rowPins [ROWS] = {0, 1, 2, 3}; // Conecte o teclado ROW0, ROW1, ROW2 e ROW3 a esses pinos do Arduino.byte colPins [COLS] = {4, 5, 6, 7}; // Conecte o teclado COL0, COL1 e COL2 a esses pinos do Arduino. Keypad kpd = Teclado (makeKeymap (keys), rowPins, colPins, ROWS, COLS); // Crie o tecladoconst int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pinos aos quais o LCD está conectadoLiquidCrystal lcd (rs, en, d4, d5, d6, d7); longo Num1, Num2, Número; chave char, ação; resultado booleano = falso; configuração vazia () {lcd.begin (16, 2); // Estamos usando um display LCD 16 * 2 lcd.print ("DIY Calculator"); // Exibe uma mensagem de introdução lcd.setCursor (0, 1); // define o cursor para a coluna 0, linha 1 delay (2000); // Aguarde o display mostrar informações lcd.clear (); // Em seguida, limpe-o} void loop () {key = kpd.getKey (); // armazenando o valor da tecla pressionada em um charif (key! = NO_KEY) DetectButtons (); if (result == true) CalculateResult (); DisplayResult (); } void DetectButtons () {lcd.clear (); // Em seguida, limpe if (key == '*') // Se o botão Cancelar for pressionado {Serial.println ("Botão Cancelar"); Número = Num1 = Num2 = 0; resultado = falso;} if (key == '1') // Se o botão 1 for pressionado {Serial.println ("Botão 1"); if (Número == 0) Número = 1; senão Número = (Número * 10) + 1; // pressionado duas vezes} if (key == '4') // Se o botão 4 for pressionado {Serial.println ("Botão 4"); if (Número == 0) Número = 4; senão Número = (Número * 10) + 4; // pressionado duas vezes} if (key == '7') // Se o botão 7 for pressionado {Serial.println ("Botão 7"); if (Número == 0) Número = 7; senão Número = (Número * 10) + 7; // Pressionado duas vezes} if (key == '0') {Serial.println ("Botão 0"); // Botão 0 é pressionado if (Number == 0) Number = 0; senão Número = (Número * 10) + 0; // pressionado duas vezes} if (key == '2') // Botão 2 é pressionado {Serial.println ("Botão 2"); if (Número == 0) Número = 2; senão Número = (Número * 10) + 2; // Pressionado duas vezes} if (key == '5') {Serial.println ("Botão 5"); if (Número == 0) Número = 5; senão Número = (Número * 10) + 5; // Pressionado duas vezes} if (key == '8') {Serial.println ("Botão 8"); if (Número == 0) Número = 8; senão Número = (Número * 10) + 8; // Pressionado duas vezes} if (key == '#') {Serial.println ("Botão igual"); Num2 = número; resultado = verdadeiro; } if (key == '3') {Serial.println ("Botão 3"); if (Número == 0) Número = 3; senão Número = (Número * 10) + 3; // Pressionado duas vezes} if (key == '6') {Serial.println ("Botão 6"); if (Número == 0) Número = 6; senão Número = (Número * 10) + 6; // Pressionado duas vezes} if (key == '9') {Serial.println ("Botão 9"); if (Número == 0) Número = 9; senão Número = (Número * 10) + 9; // Pressionado duas vezes} if (key == 'A' || key == 'B' || key == 'C' || key == 'D') // Botões de detecção na coluna 4 {Num1 = Número; Número = 0; if (chave == 'A') {Serial.println ("Adição"); ação = '+';} if (chave == 'B') {Serial.println ("Subtração"); ação = '-'; } if (key == 'C') {Serial.println ("Multiplicação"); action = '*';} if (key == 'D') {Serial.println ("Devesion"); ação = '/';} atraso (100); }}

void CalculateResult () {if (action == '+') Number = Num1 + Num2; if (ação == '-') Número = Num1-Num2; if (ação == '*') Número = Num1 * Num2; if (ação == '/') Número = Num1 / Num2; } void DisplayResult () {lcd.setCursor (0, 0); // define o cursor para a coluna 0, linha 1 lcd.print (Num1); lcd.print (ação); lcd.print (Num2); if (resultado == verdadeiro) {lcd.print ("="); lcd.print (Number);} // Exibe o resultado lcd.setCursor (0, 1); // define o cursor para a coluna 0, linha 1 lcd.print (Number); // Exibir o resultado}

Etapa 4: saída da calculadora

Resultado da calculadora
Resultado da calculadora
Resultado da calculadora
Resultado da calculadora
Resultado da calculadora
Resultado da calculadora

Então completamos as conexões e carregamos o código para o arduino e é hora de conectar a energia e fazer alguns cálculos e como você pode ver, estou fazendo cálculos com o teclado e você pode ver os resultados no lcd. Portanto, divirta-se fazendo sua própria calculadora DIY usando o Arduino.

Recomendado: