Para utilizar essa programação é necessário que você faça duas soldas no seu teclado, na figura abaixo está destacado em vermelho os dois pontos.

-VCC > 5Volts
-GND > GND
-SCL > D2 (Porta digital 2 do Arduino)
-SDO > D3 (Porta digital 3 do Arduino)
Lembrando que NÃO estamos utilizando o protocolo de comunicação I2C.
Obs: O teclado deve ficar sobre uma superfície com baixíssima umidade, qualquer coisa que esteja úmida e toque por baixo da placa, ela reconhece.
Logo abaixo o código, copiem e colem, lembrando que você visualizará as tecladas pressionadas pelo Monitor Serial do seu software Arduino.
#include <util/atomic.h> #define CLR(x,y) (x&=(~(1<<y))) #define SET(x,y) (x|=(1<<y)) #define clock_Pin 2 #define sdo_Pin 3 // Touchpad value volatile uint16_t touchVal; // var for ISR access uint16_t touchValc; // copy var for main loop void setup() { Serial.begin(9600); pinMode(clock_Pin, OUTPUT); pinMode(sdo_Pin, INPUT); // set up INT1 on digital pin 3 EICRA = (1 << ISC11) | (1 << ISC10); // external INT1 on rising edge EIMSK = (1 << INT1); // External Interrupt Request 1 Enable } void loop() { ATOMIC_BLOCK(ATOMIC_FORCEON) { touchValc = touchVal; } if (touchValc) { Serial.print(touchValc, DEC); for (byte b=0; b<=15; b++) { if ((touchValc >> b) & 1) { Serial.print('\t'); Serial.print("bit "); Serial.print(b); Serial.print('\t'); Serial.print("pad "); Serial.print(b+1); } } Serial.println(); } } ISR(INT1_vect) { touchVal = 0; delayMicroseconds(100); for (byte i=0; i<=15; i++) { SET(PORTD, clock_Pin); delayMicroseconds(50); touchVal |= (digitalRead(sdo_Pin) << i); CLR(PORTD, clock_Pin); delayMicroseconds(50); } }
Quem fez esta programação foi o Steve Stover, então os créditos são todos dele, quem quiser a postagem original é só clicar aqui.
Acredito que provavelmente vocês compraram este teclado para utilizar junto com um Display 16x2 ou 16x4, a notícia é que para isso acontecer, o código deve ser alterado, se for um cara leigo no assunto, já vou adiantado, terá um minucioso trabalho pela frente, ainda mais se for utilizar o teclado para digitar senhas. A notícia é que já tenho este código pronto, é só clicar aqui.
Muito obrigado e divirtam-se!
Este comentário foi removido pelo autor.
ResponderExcluir