Pessoal, to precisando de um help.
tenho um teclado matricial, 4 x 3, usando 7 entradas digitais do meu uno.. bem, ta funcionando perfeito uso a lib keypad do arduino.
so que agora no meu projeto irei precisar de mais entradas digitais e to querendo multiplexar esse teclado com o 74HC151, mas nao sei como irei configurar as bibliotecas para funcionar..
optei por fazer esse multiplexador no teclado, pois uso o teclado remotamente através de uma de rede, com 20 metros e ta funcionando normal, e pensei em colocar o 74HC151 junto com o teclado, pois dai me sobra ate vias do cabo para usar um led por exemplo, para confirmar senha ok ou nao.
bem no meu projeto o codigo é o seguinte:
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'}, // muda pino 4
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {9, 8, 7, 6};
byte colPins[COLS] = {5, 3, 2};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
e no loop:
char key = keypad.getKey(); //faz a leitura das teclas
o codigo do mux é:
//mux variables
int input = 6; // digital input to arduino from mux
int strobe=5; //digital outputs to control mux
int c=4;
int b=3;
int a=2;
// to store the values from mux
int val[] = {
0,0,0,0,0,0,0,0};
// digital values to control 8 inputs
int c_bin[]={LOW,LOW,LOW,LOW,HIGH,HIGH,HIGH,HIGH};
int b_bin[]={LOW,LOW,HIGH,HIGH,LOW,LOW,HIGH,HIGH};
int a_bin[]={LOW,HIGH,LOW,HIGH,LOW,HIGH,LOW,HIGH};
//aux
int contador=0;
int entrada=0;
int a_val=0;
int b_val=0;
int c_val=0;
void setup() {
Serial.begin(9600);
pinMode(input, INPUT);
pinMode(strobe, OUTPUT);
pinMode(c, OUTPUT);
pinMode(b, OUTPUT);
pinMode(a, OUTPUT);
}
void loop() {
for(entrada=0;entrada<=7;entrada++) {
//select mux input
a_val=a_bin[entrada];
b_val=b_bin[entrada];
c_val=c_bin[entrada];
digitalWrite(a,a_val);
digitalWrite(b,b_val);
digitalWrite(c,c_val);
//strobe LOW to read
digitalWrite(strobe,LOW);
//read value
val[entrada] = digitalRead(input); // read input value
Alguma sugestão?
pensei em criar um codigo com uma nova matriz e eliminar o keypad, ja que as entradas vão mudar e deixara de existir o keypad..
quem souber da um help ai galera.
valeu
Tags:
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por