Controle uma Calculadora comum com o Arduino!

Hoje em dia existem diversos modelos de calculadoras mais simples que podemos adquirir, a maioria por um preço bem baixo (como exemplo, a utilizada neste artigo custou R$ 5,50 – made in China!). Elas possuem displays LCD numéricos de vários tamanhos e capacidade (as mais comuns de 8 e 12 digitos). Muito mais barato que comprar qualquer display equivalente.

O circuito que propomos é no sentido de se poder interfacear qualquer calculadora com qualquer microcontrolador, com destaque para o Arduino. Em calculadoras mais caras, elas podem ser equipadas com impressoras e bobinas de papel para que seus resultados sejam impressos, o que em determinadas aplicações o seu uso é indispensável (se utilizada uma calculadora com estas características no projeto, o Arduino teria também o controle desta impressora, o que abre várias possibilidades de uso).

Este circuito fica como intermediário entre a calculadora e o Arduino, recebendo dados serialmente a 2400 bps e utilizando apenas três pinos (+5V, Terra e RX). O seu funcionamento básico é por meio do controle do teclado da calculadora. Toda calculadora possui uma matriz para o seu teclado formado com linhas e colunas – ao se pressionar uma tecla, o contato entre uma determinada linha e coluna gera um sinal que informa qual a tecla pressionada ao circuito da calculadora.

Na calculadora que utilizamos como exemplo para este artigo, existem onze contatos para o controle das linhas e colunas (6 x 5 = 30 teclas no máximo), e oito digitos numéricos que podemos utilizar como saída de dados (informar voltagem, temperatura, etc. como fazemos com um Display LCD, e também com um Display 7 Segmentos). Além disso, podemos também utilizar o circuito de cálculo dela, controlando operações simples (soma, subtração, multiplicação e divisão) ou fazer o cálculo utilizando um programa no Arduino e somente enviando o resultado para o display da calculadora.

Para conseguirmos então poder controlar o teclado da calculadora, utilizamos o circuito integrado HEF4066 “Quadruple bilateral switches” (que funciona como quatro relês independentes), e por meio de um sinal de controle (positivo) enviado por um microcontrolador PIC16F628A (responsável pela lógica, controle e comunicação nesta interface), ele fecha os contatos para permitir o acionamento de determinado circuito. O HEF4066 como citado, possui quatro chaves (relês) cada um, e como precisamos de onze, iremos utilizar três iguais (4 x 3 = 12 chaves no máximo).

Para este artigo, a calculadora ficará com a sua fonte de alimentação original inalterada (ela utiliza +3V) e a alimentação do circuito proposto é independente da calculadora (mas pode ser adaptado para que tenham uma mesma fonte de alimentação). Ela possui também um circuito que emite um bip a cada tecla pressionada (uso de um pequeno transdutor piezoelétrico para emitir o som) e esta característica pode ser ligada ou desligada com o acionamento de uma tecla.

Como precisamos para acionar uma tecla qualquer, de uma linha e de uma coluna em determinado instante, somente esta linha e coluna devem estar conectadas. Então o circuito proposto neste artigo irá ativar as duas chaves respectivas (da linha e da coluna da tecla), simulando o pressionamento desta.

Uma curiosidade é que como o teclado da calculadora é controlado via circuito, ele pode ser digitado numa velocidade muito acima do que conseguiria ser feito por uma pessoa, e ainda ser livre de erros de digitação!

A seguir o passo a passo do circuito proposto da Placa de Interface.

Foto 01: (Embalagem da Calculadora) – clique na foto para ampliar:

DSC00664

Foto 02: Placa de Interface (Lado A) – clique na foto para ampliar:

DSC00656

Foto 03: Placa de Interface (Lado B) – clique na foto para ampliar:

DSC00658

Foto 04: Placa de Interface (Verso) – clique na foto para ampliar:

DSC00660

Foto 05: Conexão entre a Placa de Testes AVR, Placa de Interface e Calculadora – clique na foto para ampliar:

DSC00619

Foto 06: Conexão entre o Arduino Duemilanove, Placa de Interface e Calculadora – clique na foto para ampliar:

DSC00627

O Arquivo com o código fonte completo em C da CCS – CCS C Compiler do firmware para a Placa de Interface, incluindo o arquivo .hex já pronto para a gravação, pode ser baixado neste link. O artigo gravador de PIC, também mostra as etapas de como proceder a gravação.

O coração do circuito é um microcontrolador PIC16F628A, que pode ser programado na própria placa, utilizando o conector branco (5 pinos – ICSP) com o gravador de PIC, conforme mostra a foto abaixo:

Foto 07: Conexão ao gravador de PIC – clique na foto para ampliar:

DSC00632

Foto 08: Detalhe da conexão aos contatos do teclado da Calculadora (onze fios amarelos e pretos), conexão da alimentação da Calculadora (fios vermelho e preto: +3V e Terra respectivamente), conexão do disco piezoelétrico para o som (fios amarelo e laranja: centro e borda respectivamente) – clique na foto para ampliar:

DSC00645

Foto 09: Detalhe da conexão aos contatos do teclado da Calculadora (close) – clique na foto para ampliar:

DSC00643

Foto 10: Vista interna das conexões da Calculadora (1) – clique na foto para ampliar:

DSC00647

Foto 11: Vista interna das conexões da Calculadora (2) – clique na foto para ampliar:

DSC00652

Foto 12: Vista interna das conexões da Calculadora (3) – clique na foto para ampliar:

DSC00654

Neste projeto, o teclado original da calculadora foi removido, mas nada impede que seja mantido e que se tenha também a sua funcionalidade garantida, independentemente do circuito da Placa de Interface, que como veremos no seu diagrama esquemático (com poucos componentes utilizados), as chaves (relês) que controlam o teclado são isoladas do restante do circuito.

Falando do teclado, existe na calculadora um desenho com as conexões gravadas em um filme plástico, e também uma membrana de borracha com pontos de material condutor, que ao serem pressionados nos locais das teclas deste filme plástico, faz o contato desta, gerando o sinal referente a tecla escolhida para a calculadora.

Foto 13: Vista interna das conexões do filme plástico do teclado da Calculadora – clique na foto para ampliar:

teclado002

Como podemos ver, ele também dá a dica de qual dupla de contatos entre os onze deve ser interligado para se obter o sinal da tecla que se quer pressionar para a calculadora. Observe a foto de número 01. Pode-se inclusive descobrir pelo método de tentativa e erro, já que não há perigo de se danificar a calculadora seja qual forem os contatos interligados.

aa

DiagramaInterfaceCalculadora

bb