am so sorry ,
i made large khilara code
but please see this simple code
#include <Keypad.h>
const byte ROWS = 4; //five rows
const byte COLS = 8; //three columns // tested ok display Key number
char keys[ROWS][COLS] = {
{1,2,3,4,5,6,7,8},
{9,10,11,12,13,14,15,16},
{17,18,19,20,21,22,23,24},
{25,26,27,28,29,30,31,32},
};
byte rowPins[ROWS] = { 3, A1, A2, A3}; //connect to the row6 pinouts of the kpd { 3, A1, A2, A3};
byte colPins[COLS] = {4, 5, 6, 7, 8, 9, 10, 11}; //connect to the column8 pinouts of the kpd {4, 5, 6, 7, 8, 9, 10, 11};
Keypad kpd = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup() {
Serial.begin(9600);
}
void loop() {
if (kpd.getKeys())
{
for (int i=0; i<LIST_MAX; i++) // Scan the whole key list.
{
int myKey = (kpd.key[i].kchar);
if (( kpd.key[i].stateChanged ) && (kpd.key[i].kchar == 1))
{
switch (kpd.key[i].kstate) {
case PRESSED:
Serial.println("PAD-1 ");
break;
}
}
if (( kpd.key[i].stateChanged ) && (kpd.key[i].kchar == 2))
{
switch (kpd.key[i].kstate) { // Report active key state : IDLE, PRESSED, HOLD, or RELEASED
case PRESSED:
Serial.println("PAD----2");
break;
}
}
if (( kpd.key[i].stateChanged ) && (kpd.key[i].kchar == 3))
{
switch (kpd.key[i].kstate) { // Report active key state : IDLE, PRESSED, HOLD, or RELEASED
case PRESSED:
Serial.println("PAD-----3");
break;
}
}
if (( kpd.key[i].stateChanged ) && (kpd.key[i].kchar == 4))
{
switch (kpd.key[i].kstate) { // Report active key state : IDLE, PRESSED, HOLD, or RELEASED
case PRESSED:
Serial.println("PAD----4");
}
}
if (( kpd.key[i].stateChanged ) && (kpd.key[i].kchar == 5))
{
switch (kpd.key[i].kstate) { // Report active key state : IDLE, PRESSED, HOLD, or RELEASED
case PRESSED:
Serial.println("PAD---5");
break;
}
}
if (( kpd.key[i].stateChanged ) && (kpd.key[i].kchar == 6))
{
switch (kpd.key[i].kstate) { // Report active key state : IDLE, PRESSED, HOLD, or RELEASED
case PRESSED:
Serial.println("PAD----6");
break;
}
}
if (( kpd.key[i].stateChanged ) && (kpd.key[i].kchar == 7))
{
switch (kpd.key[i].kstate) { // Report active key state : IDLE, PRESSED, HOLD, or RELEASED
case PRESSED:
Serial.println("PAD----7");
break;
}
}
if (( kpd.key[i].stateChanged ) && (kpd.key[i].kchar == 8))
{
switch (kpd.key[i].kstate) { // Report active key state : IDLE, PRESSED, HOLD, or RELEASED
case PRESSED:
Serial.println("PAD----8");
break;
}
}
}
}
}
i have connected piezo to pin4 & pin5 with pin3 . other pins are not connected. when i am hitting piezo
other pins giving output in serial moniter some time time auto matic
why?????