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

Exibições: 692

Responder esta

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço