??? 03/18/05 13:26 Read: times |
#89936 - to matrix or not to matrix Responding to: ???'s previous message |
If the depicted is the only combination you want to detect (and maybe standalone keypresses), it is OK to use a matrix.
For the general case (I want to know exactly which switches are on) you need the diodes (at EVERY switch). For example, in a simple diode-less matrix you cannot distinguish these 5 cases: | | | | | | | | | | | | --+--o--+--+-- --+--o--+--o-- --+--+--+--o-- | | | | | | | | | | | | --+--+--+--+-- --+--+--+--+-- --+--+--+--+-- | | | | | | | | | | | | --+--o--+--o-- --+--o--+--+-- --+--o--+--o-- | | | | | | | | | | | | | | | | | | | | --+--o--+--o-- --+--o--+--o-- | | | | | | | | --+--+--+--+-- --+--+--+--+-- | | | | | | | | --+--+--+--o-- --+--o--+--o-- | | | | | | | | and many more. For the depicted case, the (pseudo)program would be: - output (open collector output - standard '51 - pulled up) 0111 (leftmost digit is the uppermost row); read columns, check if it is 0111 (leftmost digit is ... surprise, surprise ... the leftmost column) - output 1011, check if input is 1110 - output 1101, check if input is 1101 - output 1110, check if input is 1011 Jan Waclawek |
Topic | Author | Date |
more about keypad | 01/01/70 00:00 | |
What have you written ? | 01/01/70 00:00 | |
Scan keyboard "matrix" style | 01/01/70 00:00 | |
better not a matrix | 01/01/70 00:00 | |
yes, but | 01/01/70 00:00 | |
wanting Picture | 01/01/70 00:00 | |
To Jan! | 01/01/70 00:00 | |
to erik and mehdi | 01/01/70 00:00 | |
Re: | 01/01/70 00:00 | |
Multiple in a row/column | 01/01/70 00:00 | |
To Jan! | 01/01/70 00:00 | |
general matrix | 01/01/70 00:00 | |
To Jan!![]() | 01/01/70 00:00 | |
to matrix or not to matrix | 01/01/70 00:00 | |
Usefull document? | 01/01/70 00:00 |