Menu

11x11 matrix board

2017-04-21
2023-10-26
  • Cory Baumgart

    Cory Baumgart - 2017-04-21

    Hi,

    i have an arachnid board that has 11x11 connectors. I am under the impression that i cannot use the arduino uno because there are not enough inputs/outputs. So I must use the arduino Mega2560 for more inputs. Is the original Uno sketch going to work "out of the box" persay? I know ill have to change the file as far as how it's using the matrix, but is the file itself compatible?

    Thanks!
    Cory

     
  • diego

    diego - 2017-04-22

    hi cory,
    11x11 seems strange could you send us a picture?

     
  • poilou

    poilou - 2017-04-23

    Hi Cory,

    My opinion is that there are multiple reasons for that :

    • either all leads are not used
    • or there are buttons or extra parts concerned by those leads
    • or there are leads that corresponds to the same part or the board (unlikely but we never know)

    Anyway, I am pretty sure that there are only minor changes to do to the sketch files. Probaly only the matrix to adjust.

     

    Last edit: poilou 2017-04-23
  • Cory Baumgart

    Cory Baumgart - 2017-04-23

    OK! That's kind of what I thought. Maybe if I get bored I'll trace some leads and see whats going on with it. Thanks for the input!

     
  • poilou

    poilou - 2017-04-28

    What's up with your board Cory ?

     
  • Cory Baumgart

    Cory Baumgart - 2017-04-30

    i opened a different board today and hooked that up. unfortunately its an 8x11 matrix so i need my arduino mega to come in. i hooked it up with one wire not connected and it worked with a bunch of segments not working due to that wire not being connected.

     
  • Andreas

    Andreas - 2017-05-01

    8x11 is possible:
    add to your setup: UCSR0B = 0; //use of D0 and D1
    void setup()

    {
      UCSR0B = 0;
      Serial.begin(9600);
    

    then:

    const byte numRows = 8; //four rows
    const byte numCols = 11; //four columns
    const int debounceTime = 100;//20 works better than great !
    //define the cymbols on the buttons of the keypads
    char keymap[numRows][numCols] = {
      {'0','1','2','4','5','6','7','8','9','*'},
      {'a','b','c','d','e','f','g','h','i','?'},
      {'j','k','l','m','n','o','p','q','r','&'},
      {'s','t','u','v','w','x','y','z','A','@'},
      {'B','C','D','E','F','G','H','I','J','}'},
      {'K','L','M','N','O','P','Q','R','S',')'},
      {'T','U','V','W','X','Y','Z','+','-',']'},
      {'/','!','$','#','(','=','[','_','<','>'},
       {'ä','ö','ü','Ä','Ö','Ü','%','`','´','~'}
    };
    byte rowPins[numRows] = {A0, A1, A2, A3, A4, A5, 2, 3}; //connect to the row pinouts of the keypad
    byte colPins[numCols] = {13, 12, 11, 10, 9, 8 ,7, 6, 5, 4, 1 }; //connect to the column pinouts of the keypad
    

    i cannot promise this, but should work

     

    Last edit: Andreas 2017-05-01
  • John Morris

    John Morris - 2021-08-23

    Hi. Just adding this for others who might encounter the same as Cory. Using an Arachid Cricket Pro 650 doner board, I found what looked like 10 x 8 matrix. As Andreas lists above, this is possible with the Uno. One other problem was that the outer single panels and the inner single panels were returning different values. I mapped these all out and then edited the keymap above to return the same value when either the inner or outer Single panel was hit for a number. For example, let's say the outer Single panel for 10 was returning a "=", but the inner Single panel for 10 was returning a ")". I just switched the code in the sketch so that inner single panel also returned a "=". Works flawlessly.

     
  • Anonymous

    Anonymous - 2023-10-24

    Do you have a copy of the key mapping by chance?

     
  • John Morris

    John Morris - 2023-10-24
    const byte numRows = 8; //eight rows
    const byte numCols = 11; //eleven columns
    const int debounceTime = 100;//20 works better than great !
    //define the cymbols on the buttons of the keypads
    char keymap[numRows][numCols] = {
      {'0','1','2','4','5','6','7','8','9','*','/'}, //1
      {'a','b','c','d','e','f','g','h','i','?','!'}, //2
      {'j','k','l','m','n','o','p','q','r','&','$'}, //3
      {'s','b','c','d','e','f','g','h','i','?','!'}, //4
      {'B','C','D','E','F','G','H','I','J','}','('}, //5
      {'K','L','M','N','O','P','Q','R','S',')','='}, //6
      {'T','U','V','W','X','Y','Z','+','-',']','['}, //7
      {'_','L','M','N','O','P','Q','R','S',')','='} //8
    };
    byte rowPins[numRows] = {A0, A1, A2, A3, A4, A5, A6, A7}; //connect to the row pinouts of the keypad
    byte colPins[numCols] = {13, 12, 11, 10, 9, 8 ,7, 6, 5, 4, 3}; //connect to the column pinouts of the keypad
    
     

    Last edit: John Morris 2023-10-24
  • Anonymous

    Anonymous - 2023-10-26

    thanks!

     

Anonymous
Anonymous

Add attachments
Cancel





Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.