[SOLVED] Programming a matrix 3x4 keypad


problem solved
i checked keypad. , found out there little bit of soldering on circuitboard. removed , works. stupid mistake of mine i'm not going make anymore! appreciate got of of you!

thank you

hi people,

i'm trying program 3x4 matrix keypad doesn't work.

i tried code example:
code: [select]

void loop()
{

   char keypressed = kpd.getkey();

   if (keypressed != no_key)
   {
      serial.println(keypressed);
   }

}


and worked => each key printed, when want check each key switch won't work => when press key it's not printed.

code: [select]

   char keypressed = keypad.getkey();
  if (keypressed != no_key)
  {

    switch (keypressed)
    {
      case '*':
        tone(soundpin, 440, 100);
        digitalwrite(ledpin, high);
        delay(1000);
        digitalwrite(ledpin, low);
        serial.println(keypressed);
        break;
      case '#':
        tone(soundpin, 440, 100);
        digitalwrite(ledpin, high);
        delay(1000);
        digitalwrite(ledpin, low);
        serial.println(keypressed);
        break;
      default:
        serial.println(keypressed);
    }
  }



this entire sketch
code: [select]


#include <keypad.h>

// arduino pin - printplaat pin
// 2 - 10 (rij1)
// 4 - 9  (rij2)
// 5 - 8  (rij3)
// 6 - 7  (rij4)

// 8 -  14  (col1)
// 9 -  13  (col2)
// 10 - 12  (col3)

const byte rows = 4; //vier rijen
const byte cols = 3; //drie kolommen
//kolommen en rijen specifieren
char keys[rows][cols] = {
  {'1', '2', '3'},
  {'4', '5', '6'},
  {'7', '8', '9'},
  {'*', '0', '#'}
};

//byte rowpins[rows] = {6, 5, 4, 2};
byte rowpins[rows] = {2, 4, 5, 6}; //pinnen verbinden van de rijen van rij 1 => 4
byte colpins[cols] = {8, 9, 10}; //pinnen verbinden van de kolommen van kolom 1 => 3
//byte colpins[cols] = {10, 9, 8};

keypad keypad = keypad( makekeymap(keys), rowpins, colpins, rows, cols ); //object maken van keybad

#define ledpin 13
#define soundpin 7
#define pirpin 3

void setup() {
  // put setup code here, run once:
  serial.begin(9600);
  digitalwrite(ledpin, low);
  pinmode(ledpin, output);
  digitalwrite(soundpin, low);
  pinmode(soundpin, output);
  pinmode(pirpin, input_pullup);
}

void loop() {
  // put main code here, run repeatedly:
  char keypressed = keypad.getkey();
  if (keypressed != no_key)
  {

    switch (keypressed)
    {
      case '*':
        tone(soundpin, 440, 100);
        digitalwrite(ledpin, high);
        delay(1000);
        digitalwrite(ledpin, low);
        serial.println(keypressed);
        break;
      case '#':
        tone(soundpin, 440, 100);
        digitalwrite(ledpin, high);
        delay(1000);
        digitalwrite(ledpin, low);
        serial.println(keypressed);
        break;
      default:
        serial.println(keypressed);
    }
  }
}



if can me awesome.
thank in advance :)

quote
i'm trying program 3x4 matrix keypad doesn't work.
i'm not surprised. i've never seen programmable keypad.

arduinos programmable. keypads not.

quote
but when want check each key switch won't work.
the snippet posted won't compile, it's silly talk working, or not.


Arduino Forum > Using Arduino > Programming Questions > [SOLVED] Programming a matrix 3x4 keypad


arduino

Comments