int Array_1[4][3] = {{1,2,3}, {7,8,9}, {6,5,4},{0,5,9}}; // This is int type 1D array of 4 rows and 3 columns (12 elements (4x3))
char keypad[4][4] = {{'1','2','3','A'},{'4','5','6','B'},{'7','8','9','C'},{'*','0','#','D'}}; // This is char type 1D array 4 rows and 5 columns (20 elements (4x5))
char keyPressed;
void setup()
{
Serial.begin(115200);
for(int i = 2; i<6; i++)
{
pinMode(i,OUTPUT);
}
for(int i = 6; i<10; i++)
{
pinMode(i,INPUT);
}
}
void loop()
{
for(int i = 2; i<6; i++)
{
if(i>2)
{
digitalWrite(i-1, LOW);
//Serial.print(i-1);
//Serial.println("LOW");
}
if(i==2)
{
digitalWrite(5, LOW);
//Serial.print(5);
//Serial.println("LOW");
}
digitalWrite(i, HIGH);
//Serial.print(i);
//Serial.println("HIGH");
//Serial.println("delay");
int row;
int clonmn =i-1; // column number from i(i is pin number)
bool column_State; // low or high 0 or 1
for(int j =6;j<10;j++ )
{
row = j-5; // row number = pin number - 5
column_State= digitalRead(j);
if(column_State==1) // print row and columd only when row pin is high
{
Serial.print(clonmn);
Serial.print(" ");
Serial.print(row);
Serial.print(":");
Serial.print(column_State);
Serial.print(" key : ");
keyPressed = keypad[row-1][clonmn-1];
Serial.println(keyPressed);
}
delay(20);
}
delay(20);
}
}
void temp( int j) // j for temp
{
int i; // for temp
//Serial.println(digitalRead(j));
if(digitalRead(j))
{
Serial.print(i);
Serial.print(" ");
Serial.print(j);
Serial.println();
}
}
void test() // to save commands only
{
/*
for(int i=0;i<4;i++)
{
for(int j=0;j<3;j++)
{
Serial.print(i) ;
Serial.print(" ") ;
Serial.print(j) ;
Serial.print(" , ") ;
}
Serial.println() ;
}
for(int i=0;i<4;i++)
{
for(int j=0;j<3;j++)
{
Serial.print(Array_1[i][j]);
Serial.print(" , ");
}
Serial.println() ;
}
*/
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
Serial.print(i) ;
Serial.print(" ") ;
Serial.print(j) ;
Serial.print(" , ") ;
}
Serial.println() ;
}
Serial.println() ;
Serial.println() ;
for(int i=0;i<4;i++)
{
for(int j=0;j<4;j++)
{
Serial.print(i) ;
Serial.print(" ") ;
Serial.print(j) ;
Serial.print(" : ") ;
Serial.print(keypad[i][j]);
Serial.print(" , ");
}
Serial.println() ;
}
}