char mapaTeclas[4][4]={{'1','2','3'},{'4','5','6'},{'7','8','9'},{'*','0','#'}};
void setup() {
// pinos linha - 6,7,8,9
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
// pino colunas 10, 11, 12
pinMode(10, INPUT_PULLUP);
pinMode(11, INPUT_PULLUP);
pinMode(12, INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
for(int porta=6; porta<10;porta++){
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
digitalWrite(porta, LOW);
if(digitalRead(10) ==LOW){
imp(porta-6,0);
while(digitalRead(10) ==LOW){
}
} // fechei a chave do if
if(digitalRead(11) ==LOW){
imp(porta-6,1);
while(digitalRead(11) ==LOW){
}
} // fechei a chave do if
if(digitalRead(12) ==LOW){
imp(porta-6,2);
while(digitalRead(12) ==LOW){
}
} // fechei a chave do if
}
} // fechei a chave do for
void imp(int x, int y) {
Serial.print(mapaTeclas[x][y]);
/*Serial.print("Linha: ");
Serial.print(x);
Serial.print("coluna: ");
Serial.println(y);*/
delay(10);
}