I am bogged down in this project
I am bogged down in this project
I am so embarrassed. I obviously deleted while I was cleaning it up. What a foolish mistake. I vow to pay better attention in the future. Thanks for being so nice.
Bill
No worries, happens to us all from time to time
I am coming along nicely in the time that I have to give to the project. Learning is hard at my age.
I am thinking about using the 74C922 keyboard decoder. I will give me a Data Available pin and includes de-bounce as well.
This will save me 3 pins and allow me to forgo the Mega.
My question is how hard is it to read and store BCD data.
I cant seem to find any help for inputting BCD to the Arduino. Can you help?
Bill,
I cannot help you with the 74C922 because, last time I looked, it was somewhat expensive here in the UK. I used the PCF8574 I2C I/O expander with a 4 * 4 matrix keypad. The PCF8574 is considerably cheaper than the 94C922 and to my mind much more flexible and versatile once you have mastered its control. Being I2C it only uses two pins on the Arduino and it has 8 programmable addresses.
The libraries I used are keypad_I2C.h and keypad.h. These libraries provide the value of the key pressed to the Arduino and you can choose what value each key represents, for example you could choose to return the ASCII value of the key, say 8. This value could be printed directly to an LCD or you could subtract ASCII 0 from it to get the numerical value.
I really like my I2C key pad, it works well along with my I2C LCD display on the same two pins! but with different addresses. I have had no issues with key bounce problems and I believe the library takes care of this anyway. There is no BCD manipulation.
hope that helps
Bob
I concur, the I2C 8574 is an easy chip to control and scanning a matrix keyboard has been done several times with it so there should be a few examples available on the web for you
Bill,
I have a document that I produced that shows the connections from a 4 * 4 matrix keypad to the 8574 and the basic code to use it. I do not lay claim to the originally of the code as it is what I pulled together from other peoples work on the web. There are two versions of the 8574, the 'A' version has a different address range. Therefore if you really wanted you could add 8 off 8574's and 8 off 8574A's to give a total of 16 * 8 128 extra I/O on 2 wires from the Arduino!
There are variants of the keypads and there appears to be no standard for the pin outs. However it is not difficult to determine what the connections are with a multimeter. The code can then be easily changed to produce the output you want.
I could probably convert the notes I have to a PDF if you wish and sent it via email. I do not know how to add documents to my replies on this site. Actually I have never tried!
Bob
Bob;
Could you email me you notes on this project.
Do you have a library for the 8574 and a working example.
Thanks Averil
Try this, full description for using this chip with the keypad
Hi Averil,
Peter has posted some information for you that will help you. However, if you need anything else please send me your email address and I'll forward what I have. I used an Arduino and a LCD display on my project. There are also several modules that can be bought that cover both a matrix keypad and a LCD display functionality on a small PCB. That said the 8574 chip is a very versatile device, fun to learn and be creative with.
Thanks for the info on the i2c keyboard.
The example from instructables is for a PIC controller, Do you have a sketch for Arduino?
If you have further info please send it to me.