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