Shop OBEX P1 Docs P2 Docs Learn Events
3x5 matrix keypad — Parallax Forums

3x5 matrix keypad

ArchiverArchiver Posts: 46,084
edited 2002-03-12 12:17 in General Discussion
what would be the best way to use a 3x5 keypad with wiring like the
following:

http://www.aasdcat.com/rstaph/3x5keypad_legend.gif

I'm not quite sure how to -- since there isn't a single wire that would
allow me to pull the pins I connect up or down.

-Rob

Comments

  • ArchiverArchiver Posts: 46,084
    edited 2002-03-03 05:32
    At 10:24 PM 3/2/2002 -0500, you wrote:
    >what would be the best way to use a 3x5 keypad with wiring like the
    >following:
    >
    >http://www.aasdcat.com/rstaph/3x5keypad_legend.gif
    >
    >I'm not quite sure how to -- since there isn't a single wire that would
    >allow me to pull the pins I connect up or down.
    >
    >-Rob
    >
    Hi Rob -

    Who manufactures this keypad, and do you have the model number handy ?

    Regards,

    Bruce Bates
  • ArchiverArchiver Posts: 46,084
    edited 2002-03-03 06:25
    Manufacturer is unknown, but it looks like the one that radio shack carries.
    A friend was going through his junk and we ended up trading a few things.
    It seemed like the right size for something I was working on.

    On that keypad legend, the number row at the top represents the pins in the
    header that the keypad has. I see a pattern to it, just nothing like I've
    had a chance to play with before.

    -Rob

    Original Message
    From: "Bruce Bates" <bvbates@u...>
    To: <basicstamps@yahoogroups.com>
    Sent: Sunday, March 03, 2002 12:32 AM
    Subject: Re: [noparse][[/noparse]basicstamps] 3x5 matrix keypad


    > At 10:24 PM 3/2/2002 -0500, you wrote:
    > >what would be the best way to use a 3x5 keypad with wiring like the
    > >following:
    > >
    > >http://www.aasdcat.com/rstaph/3x5keypad_legend.gif
    > >
    > >I'm not quite sure how to -- since there isn't a single wire that would
    > >allow me to pull the pins I connect up or down.
    > >
    > >-Rob
    > >
    > Hi Rob -
    >
    > Who manufactures this keypad, and do you have the model number handy ?
    >
    > Regards,
    >
    > Bruce Bates
    >
    >
    >
    > To UNSUBSCRIBE, just send mail to:
    > basicstamps-unsubscribe@yahoogroups.com
    > from the same email address that you subscribed. Text in the Subject and
    Body of the message will be ignored.
    >
    >
    > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
    >
    >
    >
  • ArchiverArchiver Posts: 46,084
    edited 2002-03-03 19:55
    Hi Robert Staph;

    I was looking at the same keypad at Radio Shack yesterday. When you push
    down on pad "A" wire #3 and #5 short
    together, for pad "B" wire #4 and #5 short together and so on for all other pads
    as indicated by 3x5 matrix. By
    putting a pull-up or pull-down resister on the following pins it should work for
    what ever logic you want the
    switch to have when pushed down #3, #4, and #6. These are the wires running
    vertical on the key pad requiring 3
    pull-up or 3 pull-down resisters. The others can be used, but it would take 5
    setups instead of 3 to make it
    work. Back in the 70's I made a science fair project that used diodes on the
    matrix to display binary numbers
    using LED's, then using this binary number as inputs to a 7 segement display
    driver to show the binary and its
    decimal equivalent. I took first prize in my category with this project. It
    would of been a lot simpler if I
    could of used pull-ups or pull-downs at that time, but I did not know about them
    because this was in the early
    stages of my learning about electronics. Hope this will help.

    Thank You
    Dale Fleischmann

    Robert Staph wrote:

    > Manufacturer is unknown, but it looks like the one that radio shack carries.
    > A friend was going through his junk and we ended up trading a few things.
    > It seemed like the right size for something I was working on.
    >
    > On that keypad legend, the number row at the top represents the pins in the
    > header that the keypad has. I see a pattern to it, just nothing like I've
    > had a chance to play with before.
    >
    > -Rob
    >
    >
    Original Message
    > From: "Bruce Bates" <bvbates@u...>
    > To: <basicstamps@yahoogroups.com>
    > Sent: Sunday, March 03, 2002 12:32 AM
    > Subject: Re: [noparse][[/noparse]basicstamps] 3x5 matrix keypad
    >
    > > At 10:24 PM 3/2/2002 -0500, you wrote:
    > > >what would be the best way to use a 3x5 keypad with wiring like the
    > > >following:
    > > >
    > > >http://www.aasdcat.com/rstaph/3x5keypad_legend.gif
    > > >
    > > >I'm not quite sure how to -- since there isn't a single wire that would
    > > >allow me to pull the pins I connect up or down.
    > > >
    > > >-Rob
    > > >
    > > Hi Rob -
    > >
    > > Who manufactures this keypad, and do you have the model number handy ?
    > >
    > > Regards,
    > >
    > > Bruce Bates
    > >
    > >
    > >
    > > To UNSUBSCRIBE, just send mail to:
    > > basicstamps-unsubscribe@yahoogroups.com
    > > from the same email address that you subscribed. Text in the Subject and
    > Body of the message will be ignored.
    > >
    > >
    > > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
    > >
    > >
    > >
    >
    > To UNSUBSCRIBE, just send mail to:
    > basicstamps-unsubscribe@yahoogroups.com
    > from the same email address that you subscribed. Text in the Subject and Body
    of the message will be ignored.
    >
    >
    > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
  • ArchiverArchiver Posts: 46,084
    edited 2002-03-04 06:10
    Hi Robert

    Re:
    http://www.aasdcat.com/rstaph/3x5keypad_legend.gif
    I agree with Dale that it looks like connections 3,4 and 6 are the
    "columns" and the other 5 connections {1,2,5,7,8} are the "rows" in
    the matrix. Then each key connects one row to one column.

    There are chips you can use for keyboard decoding, such as the
    74C922. See BS1 App note #3 for a project that uses that chip along
    with an LCD. Also, there are modules like the memkey sold by
    Parallax, or one of Al's Pak modules I think, that do the scanning
    and debouncing for you, so you don't have to write the code. Also
    there are Nuts and Volts columns that cover matrix scanning, and
    explanation in Scott Edwards' book.

    If you want to hook the keypad matrix directly to a BS2 and have the
    fun of scanning it yourself, it will take 8 pins, 5 for the rows and
    3 for the columns, plus the 3 pullup resistors Dale mentioned.
    Scanning is step 1, and then decoding is step 2 to match the scan
    codes with what is printed on the key cap. I have a writeup on how to
    do it using state machine logic at this URL:
    http://www.emesystems.com/BS2fsm.htm#keypad.

    -- regards,
    Tracy Allen
    electronically monitored ecosystems
    mailto:tracy@e...
    http://www.emesystems.com




    > I was looking at the same keypad at Radio Shack yesterday. When
    >you push down on pad "A" wire #3 and #5 short
    >together, for pad "B" wire #4 and #5 short together and so on for
    >all other pads as indicated by 3x5 matrix. By
    >putting a pull-up or pull-down resister on the following pins it
    >should work for what ever logic you want the
    >switch to have when pushed down #3, #4, and #6. These are the wires
    >running vertical on the key pad requiring 3
    >pull-up or 3 pull-down resisters. The others can be used, but it
    >would take 5 setups instead of 3 to make it
    >work. Back in the 70's I made a science fair project that used
    >diodes on the matrix to display binary numbers
    >using LED's, then using this binary number as inputs to a 7 segement
    >display driver to show the binary and its
    >decimal equivalent. I took first prize in my category with this
    >project. It would of been a lot simpler if I
    >could of used pull-ups or pull-downs at that time, but I did not
    >know about them because this was in the early
    >stages of my learning about electronics. Hope this will help.
    >
    >Thank You
    >Dale Fleischmann
    >
    >Robert Staph wrote:
    >
    > > Manufacturer is unknown, but it looks like the one that radio
    >shack carries.
    > > A friend was going through his junk and we ended up trading a few things.
    > > It seemed like the right size for something I was working on.
    > >
    > > On that keypad legend, the number row at the top represents the pins in the
    > > header that the keypad has. I see a pattern to it, just nothing like I've
    > > had a chance to play with before.
    > >
    > > -Rob
  • ArchiverArchiver Posts: 46,084
    edited 2002-03-10 03:27
    If you don't mind using 8 io lines, you can attach 5 to one axis, and
    3 to the other. Pull each line down with a 10K resistor to ground,
    and then set one axis as high outputs. Then set the 3 on the other
    axis to inputs, and start scanning them. As soon as one goes high
    (button is pressed), record which one, and then reverse all the io
    lines. Make the outputs inputs, and the inputs outputs, and then
    scan the remaining 5 inputs one time. One should be high, and then
    you can translate your matrix. If this makes no sense, I can draw
    you a little schematic, and send you some code I wrote to do this.
    It is very reliable, and doesn't bounce.

    /John

    --- In basicstamps@y..., "Robert Staph" <rstaph@a...> wrote:
    > what would be the best way to use a 3x5 keypad with wiring like the
    > following:
    >
    > http://www.aasdcat.com/rstaph/3x5keypad_legend.gif
    >
    > I'm not quite sure how to -- since there isn't a single wire that
    would
    > allow me to pull the pins I connect up or down.
    >
    > -Rob
  • ArchiverArchiver Posts: 46,084
    edited 2002-03-10 04:36
    A 4x4 keypad is a 16 pushbutton matrix a 3x5 keypad is
    just 1 less pushbutton = 15, so the easy way and don´t
    sacrifice many i/o is to use the 74C922 16 Keypad
    Driver.

    Connect your input keypad signals (rows and columns)
    to the 74922, the you at the other side you have 5
    outputs (from the 74922), one is the Key Press Enable
    (so when you press any key you get a "1" o high in
    that pin) and the other 4 is a 4 bit binary
    convination. So with 4 bits you can have 16 possibles
    results.

    This one is the easy way.....
    If you have any doubt just ask

    Alex


    --- johnschwab5678 <johnschwab5678@y...> wrote:
    > If you don't mind using 8 io lines, you can attach 5
    > to one axis, and
    > 3 to the other. Pull each line down with a 10K
    > resistor to ground,
    > and then set one axis as high outputs. Then set the
    > 3 on the other
    > axis to inputs, and start scanning them. As soon as
    > one goes high
    > (button is pressed), record which one, and then
    > reverse all the io
    > lines. Make the outputs inputs, and the inputs
    > outputs, and then
    > scan the remaining 5 inputs one time. One should be
    > high, and then
    > you can translate your matrix. If this makes no
    > sense, I can draw
    > you a little schematic, and send you some code I
    > wrote to do this.
    > It is very reliable, and doesn't bounce.
    >
    > /John
    >
    > --- In basicstamps@y..., "Robert Staph"
    > <rstaph@a...> wrote:
    > > what would be the best way to use a 3x5 keypad
    > with wiring like the
    > > following:
    > >
    > > http://www.aasdcat.com/rstaph/3x5keypad_legend.gif
    > >
    > > I'm not quite sure how to -- since there isn't a
    > single wire that
    > would
    > > allow me to pull the pins I connect up or down.
    > >
    > > -Rob
    >
    >
    > To UNSUBSCRIBE, just send mail to:
    > basicstamps-unsubscribe@yahoogroups.com
    > from the same email address that you subscribed.
    > Text in the Subject and Body of the message will be
    > ignored.
    >
    >
    > Your use of Yahoo! Groups is subject to
    > http://docs.yahoo.com/info/terms/
    >
    >


    __________________________________________________
    Do You Yahoo!?
    Try FREE Yahoo! Mail - the world's greatest free email!
    http://mail.yahoo.com/
  • ArchiverArchiver Posts: 46,084
    edited 2002-03-10 05:55
    Hello John;

    In the StampWorks manual experiment #24 uses a 74HC165 parallel-in /
    serial-out 8-bit shift register to
    operate 8 switches on only 3 I/O lines. As a challenge it suggests using a
    second so that you have 16 switches on
    only 3 to 6 I/O lines. It says to check the data sheet for the 74HC165 for
    connection of the two together, it has
    only an abbreviated data sheet so you will have to find a full data sheet to see
    how it should be connected. It
    looks like you can do it with 4 I/O pins, but I am not quite sure. If you do
    not have the StampWorks Manual go to
    www.parallaxinc.com/html_files/downloads/download_documentation.htm and look at
    the StampWorks Manual pages 117 to
    119, and data sheet on page 167. I will be trying this as soon as I get a
    second 74HC165. Note that all the
    switches have pull-up resisters. Hope this will help you out.

    Good Luck !!
    Dale Fleischmann

    johnschwab5678 wrote:

    > If you don't mind using 8 io lines, you can attach 5 to one axis, and
    > 3 to the other. Pull each line down with a 10K resistor to ground,
    > and then set one axis as high outputs. Then set the 3 on the other
    > axis to inputs, and start scanning them. As soon as one goes high
    > (button is pressed), record which one, and then reverse all the io
    > lines. Make the outputs inputs, and the inputs outputs, and then
    > scan the remaining 5 inputs one time. One should be high, and then
    > you can translate your matrix. If this makes no sense, I can draw
    > you a little schematic, and send you some code I wrote to do this.
    > It is very reliable, and doesn't bounce.
    >
    > /John
    >
    > --- In basicstamps@y..., "Robert Staph" <rstaph@a...> wrote:
    > > what would be the best way to use a 3x5 keypad with wiring like the
    > > following:
    > >
    > > http://www.aasdcat.com/rstaph/3x5keypad_legend.gif
    > >
    > > I'm not quite sure how to -- since there isn't a single wire that
    > would
    > > allow me to pull the pins I connect up or down.
    > >
    > > -Rob
    >
    > To UNSUBSCRIBE, just send mail to:
    > basicstamps-unsubscribe@yahoogroups.com
    > from the same email address that you subscribed. Text in the Subject and Body
    of the message will be ignored.
    >
    >
    > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/


    [noparse][[/noparse]Non-text portions of this message have been removed]
  • ArchiverArchiver Posts: 46,084
    edited 2002-03-10 17:37
    The 74C922 would not work for this. I checked the chip's tech docs and
    noticed that chip is for a 4 row X 4 column layout. So I'm going with the
    74C923 which will do a 4x5 matrix keypad. 4x5 decoder fits better with a
    3x5 keypad than 4x4 decoder does. I didn't want to use a work-around with
    the 4x4. Using work-arounds is getting old fast. Thanks to those who
    pointed me at the 74C922 as that led me to the line right under that, the
    74C923.

    -Rob


    Original Message
    From: "Alejandro Vazquez" <alexvazquez@y...>
    To: <basicstamps@yahoogroups.com>
    Sent: Saturday, March 09, 2002 11:36 PM
    Subject: Re: [noparse][[/noparse]basicstamps] Re: 3x5 matrix keypad


    > A 4x4 keypad is a 16 pushbutton matrix a 3x5 keypad is
    > just 1 less pushbutton = 15, so the easy way and don´t
    > sacrifice many i/o is to use the 74C922 16 Keypad
    > Driver.
    >
    > Connect your input keypad signals (rows and columns)
    > to the 74922, the you at the other side you have 5
    > outputs (from the 74922), one is the Key Press Enable
    > (so when you press any key you get a "1" o high in
    > that pin) and the other 4 is a 4 bit binary
    > convination. So with 4 bits you can have 16 possibles
    > results.
    >
    > This one is the easy way.....
    > If you have any doubt just ask
    >
    > Alex
    >
    >
    > --- johnschwab5678 <johnschwab5678@y...> wrote:
    > > If you don't mind using 8 io lines, you can attach 5
    > > to one axis, and
    > > 3 to the other. Pull each line down with a 10K
    > > resistor to ground,
    > > and then set one axis as high outputs. Then set the
    > > 3 on the other
    > > axis to inputs, and start scanning them. As soon as
    > > one goes high
    > > (button is pressed), record which one, and then
    > > reverse all the io
    > > lines. Make the outputs inputs, and the inputs
    > > outputs, and then
    > > scan the remaining 5 inputs one time. One should be
    > > high, and then
    > > you can translate your matrix. If this makes no
    > > sense, I can draw
    > > you a little schematic, and send you some code I
    > > wrote to do this.
    > > It is very reliable, and doesn't bounce.
    > >
    > > /John
    > >
    > > --- In basicstamps@y..., "Robert Staph"
    > > <rstaph@a...> wrote:
    > > > what would be the best way to use a 3x5 keypad
    > > with wiring like the
    > > > following:
    > > >
    > > > http://www.aasdcat.com/rstaph/3x5keypad_legend.gif
    > > >
    > > > I'm not quite sure how to -- since there isn't a
    > > single wire that
    > > would
    > > > allow me to pull the pins I connect up or down.
    > > >
    > > > -Rob
    > >
    > >
    > > To UNSUBSCRIBE, just send mail to:
    > > basicstamps-unsubscribe@yahoogroups.com
    > > from the same email address that you subscribed.
    > > Text in the Subject and Body of the message will be
    > > ignored.
    > >
    > >
    > > Your use of Yahoo! Groups is subject to
    > > http://docs.yahoo.com/info/terms/
    > >
    > >
    >
    >
    > __________________________________________________
    > Do You Yahoo!?
    > Try FREE Yahoo! Mail - the world's greatest free email!
    > http://mail.yahoo.com/
    >
    > To UNSUBSCRIBE, just send mail to:
    > basicstamps-unsubscribe@yahoogroups.com
    > from the same email address that you subscribed. Text in the Subject and
    Body of the message will be ignored.
    >
    >
    > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
    >
    >
    >
  • ArchiverArchiver Posts: 46,084
    edited 2002-03-11 19:13
    At 10:55 PM 3/9/02 -0700, Dale Fleischmann wrote:
    >Hello John;
    >
    > In the StampWorks manual experiment #24 uses a 74HC165 parallel-in /
    > serial-out 8-bit shift register to operate 8 switches on only 3 I/O
    > lines. As a challenge it suggests using a second so that you have 16
    > switches on only 3 to 6 I/O lines. It says to check the data sheet for
    > the 74HC165 for connection of the two together, it has only an
    > abbreviated data sheet so you will have to find a full data sheet to see
    > how it should be connected. It looks like you can do it with 4 I/O pins,
    > but I am not quite sure.

    Actually, it can still be done with the same 3 pins you used for a single
    shift register. Just cascade the shift out of the 2nd SR into the shift in
    of the 1st SR. And so on for as many shift registers as you need.

    dwayne



    Dwayne Reid <dwayner@p...>
    Trinity Electronics Systems Ltd Edmonton, AB, CANADA
    (780) 489-3199 voice (780) 487-6397 fax

    Celebrating 18 years of Engineering Innovation (1984 - 2002)
    .-. .-. .-. .-. .-. .-. .-. .-. .-. .-
    `-' `-' `-' `-' `-' `-' `-' `-' `-'
    Do NOT send unsolicited commercial email to this email address.
    This message neither grants consent to receive unsolicited
    commercial email nor is intended to solicit commercial email.
  • ArchiverArchiver Posts: 46,084
    edited 2002-03-12 12:17
    Take a look at this page for an example of how to hook up cascaded
    74hc165's as Dwayne mentions.

    "http://www.ucapps.de/midibox/midibox64_sr.pdf"

    Ray

    Dwayne Reid wrote:
    >
    > At 10:55 PM 3/9/02 -0700, Dale Fleischmann wrote:
    > >Hello John;
    > >
    > > In the StampWorks manual experiment #24 uses a 74HC165 parallel-in /
    > > serial-out 8-bit shift register to operate 8 switches on only 3 I/O
    > > lines. As a challenge it suggests using a second so that you have 16
    > > switches on only 3 to 6 I/O lines. It says to check the data sheet for
    > > the 74HC165 for connection of the two together, it has only an
    > > abbreviated data sheet so you will have to find a full data sheet to see
    > > how it should be connected. It looks like you can do it with 4 I/O pins,
    > > but I am not quite sure.
    >
    > Actually, it can still be done with the same 3 pins you used for a single
    > shift register. Just cascade the shift out of the 2nd SR into the shift in
    > of the 1st SR. And so on for as many shift registers as you need.
    >
    > dwayne
    >
    > Dwayne Reid <dwayner@p...>
    > Trinity Electronics Systems Ltd Edmonton, AB, CANADA
    > (780) 489-3199 voice (780) 487-6397 fax
    >
    > Celebrating 18 years of Engineering Innovation (1984 - 2002)
    > .-. .-. .-. .-. .-. .-. .-. .-. .-. .-
    > `-' `-' `-' `-' `-' `-' `-' `-' `-'
    > Do NOT send unsolicited commercial email to this email address.
    > This message neither grants consent to receive unsolicited
    > commercial email nor is intended to solicit commercial email.
    >
    > To UNSUBSCRIBE, just send mail to:
    > basicstamps-unsubscribe@yahoogroups.com
    > from the same email address that you subscribed. Text in the Subject and Body
    of the message will be ignored.
    >
    >
    > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
Sign In or Register to comment.