- Materiais requisitados:
- Diagrama de circuito:
- Programa de calculadora Arduino:
- Simulação da Calculadora Arduino:
- Trabalho da Calculadora Arduino:
Programar é sempre divertido e o Arduino é uma plataforma maravilhosa se você está apenas começando com a programação incorporada. Neste tutorial, construiremos nossa própria calculadora com Arduino. Os valores podem ser enviados através de um teclado (teclado 4 × 4) e o resultado pode ser visualizado em uma tela LCD (matriz de pontos 16 × 2). 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.
Ao final deste projeto você saberá como usar um LCD 16x2 e teclado com Arduino e também como é fácil programar para eles usando as bibliotecas disponíveis. Você também entenderá como programar seu Arduino para realizar uma tarefa específica.
Materiais requisitados:
- Arduino Uno (qualquer versão funcionará)
- Visor LCD 16 × 2
- Teclado 4 × 4
- Bateria 9V
- Placa de ensaio e fios de conexão
Diagrama de circuito:
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 de 5V e terra do Arduino. O próprio Arduino pode ser alimentado por seu laptop ou pelo conector DC usando um adaptador de 12V ou bateria de 9V.
Estamos operando o LCD no modo de 4 bits com Arduino, portanto, apenas os últimos quatro bits de dados do LCD estã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. Você pode usar a seguinte tabela de conexão para verificar sua conexão com o Arduino, você também pode verificar a interface do teclado 4x4 com o Arduino.
Nome do Pin do Arduino: |
Conectado a: |
D0 |
1 r pino do teclado |
D1 |
2 nd pino do teclado |
D2 |
3 rd pino do teclado |
D3 |
4 th pino do teclado |
D4 |
5 th pino do teclado |
D5 |
6 th pino do teclado |
D6 |
7 th pino do teclado |
D7 |
8 th pino do teclado |
D8 |
Registre o pino de seleção do LCD (pino 4) |
D9 |
Habilitar pino do LCD (pino 6) |
D10 |
Pino de dados 4 (pino 11) |
D11 |
Pino de dados 4 (pino 11) |
D12 |
Pino de dados 4 (pino 11) |
D13 |
Pino de dados 4 (pino 11) |
+ 5V |
Conectado ao pino Vdd do LCD (pino 2) |
Terra |
Conectado ao pino Vss, Vee e RW do LCD (pino 1,3 e 5) |
Algumas placas Arduino podem mostrar um erro durante o upload do programa se houver alguma coisa conectada ao pino 0 e pino 1, então se você tiver algum, apenas remova o teclado enquanto carrega o programa.
Uma vez que suas conexões estejam feitas, seu hardware ficará mais ou menos assim
Programa de calculadora Arduino:
O programa Arduino completo para este projeto é fornecido no final deste projeto. O código é dividido em pequenos pedaços significativos e explicado a seguir.
Conforme dito anteriormente, iremos fazer a interface de um LCD e teclado com o Arduino usando bibliotecas. Portanto, vamos adicioná-los primeiro ao nosso IDE Arduino. 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 baixá-lo do Github. Você obterá um arquivo ZIP e, em seguida, 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.
Embora tenhamos usado uma biblioteca para usar um teclado, temos que mencionar alguns detalhes (mostrados abaixo) sobre o teclado do Arduino. As variáveis ROWS e COLS dirão quantas linhas e colunas nosso teclado tem e o mapa de teclado mostra a ordem em que as teclas estão presentes no teclado. O teclado que estou usando neste projeto se parece com este abaixo para o mapa de teclado também representa o mesmo.
Mais abaixo, mencionamos a quais pinos o teclado está conectado usando o array de variáveis rowPins e colPins .
const byte ROWS = 4; // Quatro linhas const byte COLS = 4; // Três colunas // Definir as chaves de char do mapa de teclado = {{'1', '2', '3', 'A'}, {'4', '5', '6', 'B'}, { '7', '8', '9', 'C'}, {'*', '0', '#', 'D'}}; byte rowPins = {0, 1, 2, 3}; // Conecte o teclado ROW0, ROW1, ROW2 e ROW3 a esses pinos do Arduino. byte colPins = {4, 5, 6, 7}; // Conecte o teclado COL0, COL1 e COL2 a esses pinos do Arduino.
Depois de mencionar que tipo de teclado estamos usando e como ele está conectado, podemos criar o teclado usando esses detalhes usando a linha abaixo
Teclado kpd = Teclado (makeKeymap (teclas), rowPins, colPins, ROWS, COLS); // Crie o teclado
Da mesma forma, também temos que dizer a quais pinos do Arduino o LCD está conectado. De acordo com nosso diagrama de circuito, as definições seriam como abaixo
const int rs = 8, en = 9, d4 = 10, d5 = 11, d6 = 12, d7 = 13; // Pinos aos quais o LCD está conectado LiquidCrystal lcd (rs, en, d4, d5, d6, d7); // cria o LCD
Dentro da função de configuração , nós apenas exibimos o nome do projeto e então procedemos para o loop while onde o projeto principal está.
Basicamente, temos que verificar se algo está sendo digitado no teclado, se digitado temos que reconhecer o que está sendo digitado e então convertê-lo em uma variável quando o “=” é pressionado, temos que calcular o resultado e finalmente exibi-lo no LCD. Isto é exatamente o que é feito dentro da função de loop conforme mostrado abaixo
chave = kpd.getKey (); // armazenando o valor da tecla pressionada em um caractere if (key! = NO_KEY) DetectButtons (); if (resultado == verdadeiro) CalculateResult (); DisplayResult ();
O que acontece dentro de cada função é explicado usando as linhas de comentário, percorra o código completo abaixo, brinque com ele para entender como realmente funciona. Se você tiver alguma dúvida sobre uma linha específica, sinta-se à vontade para usar a seção de comentários ou os fóruns.
Simulação da Calculadora Arduino:
Também podemos tentar simular o projeto usando o software Proteus. Proteus não tem um componente Arduino próprio, mas pode ser facilmente baixado e adicionado à sua biblioteca. Depois de ter o componente Arduino no Proteus, basta adicionar LCD alfanumérico e teclado para fazer a conexão conforme mostrado no diagrama de circuito.
Em seguida, baixe o arquivo hex aqui e adicione-o ao Arduino clicando duas vezes na placa no Proteus e aponte o “arquivo de programa” para este arquivo hex baixado. Um instantâneo da simulação é mostrado abaixo, o trabalho completo é mostrado no vídeo abaixo.
Nota: O arquivo hex fornecido não é igual ao original do programa fornecido abaixo. Ele foi modificado para uma vez que o mapa de teclado do teclado de simulação e o teclado de hardware real são diferentes.
Trabalho da Calculadora Arduino:
Faça as conexões de acordo com o diagrama de circuito e carregue o código abaixo. Se mostrar um erro, certifique-se de adicionar a biblioteca de acordo com as instruções fornecidas acima. Você também pode tentar a simulação para verificar se o problema é com o seu hardware. Se tudo for feito como deveria, então o seu hardware terá a seguinte aparência abaixo com o LCD exibindo
Uma vez que o teclado usado aqui não tem marcações adequadas, assumi que os alfabetos são os operadores listados abaixo
Personagem no teclado |
Presume-se que seja |
"UMA" |
Adição (+) |
“B” |
Subtração (-) |
“C” |
Multiplicação (*) |
“D” |
Divisão (/) |
“*” |
Limpar (C) |
“#” |
Igual a (=) |
Você pode usar um marcador para escrever sobre o que cada botão realmente representa.
Feito isso, você pode começar a usar a calculadora diretamente. Digite o número e aparecerá na segunda linha pressione o operando e digite o seu segundo número finalmente pressione a tecla “#” para obter o seu resultado. Você também pode tentar construir esta calculadora Arduino baseada em touchscreen.