A 40 keys keyboard matrix using Pic16F84A @ 4 MHz.
In this project I have used 40 keys but the system can be easily increased up to 60 keys (15 colums by 4 rows) with minor chance to the schematic and to the software (which is open source).
The default layout of the keyboard can be changed modifying the ascii array accordingly.
At startup characters are in upper case, they can be switched to lower case pressing key "Select". With the same key you can return to upper case.
You will find in the attached file, the schematics,the source code (copy and paste it into PICBASIC PRO) all well documented. But if something will result unclear, please don't hesitate to post your doubts.
Great documentation, and I particularly like the diode schema. As the old saying goes: "a real engineer is someone who can build something for 50 cents that any other dam fool can do for $2"
Given the price of a diode these days Vs an integrated circuit-based equivalent solution, you my friend, place considerable emphasis on that old saying.
Hmm, the post is an excellent job on the matrix keyboard projects. I am just thinking to myself if it is worth to get in the trouble to built all these switch and wirings when a PC keybord has more keys, is very reliable and cost nothing!
Of course you cannot embed it in your own shell, but that is another story.
Just my thoughts, over a very nice project.
Ioannis
Last edited by Ioannis; - 16th November 2008 at 21:26.
I can see the schema being ideal for "custom membranes" ...
It is a popular trend for even low-volume manufactures of electronic equipment to get membrane switches tailored to suit their own enclosures. They're DEAD cheap, and easy-to-install.
During the weekend I came to the conclusion that the project should be for 60 keys.
The reason is that it is simpler to workout a smaller keypad from a larger one. (at least in this case)
Just remove the unnecessary switches and diodes and you have the keypad already designed.
The software has also been changed a bit in order to work around the fact that 16F84A could not accomodate an array of 61 bytes.
So with this new solution I had it at work reducing also the code work space.
Now the software works with all combination of keypad from 4x1 to 4x15 (Rows x Columns)
I am attaching the file with the new version (Hardware & Software) sure that this will make life easier.
Al.
Last edited by aratti; - 17th November 2008 at 21:56.
Bookmarks