While repairing a problem with a model railroad turntable positioning system, I managed to apply 12 volts to the Arduino in the system. The turntable is controlled via a 3x4 keypad which communicates with the Arduino via a serial lcd interface, your kit LCD 10097. I have replaced the Arduino, the keypad and the LCD interface. The Arduino is communicating with the interface and displays requests for inputs from the keypad but there is no response when the keypad is pressed.
I suspect that I have not connected the keypad correctly. The keypad has 7 pins, six of which are connected to Pins A0 to A5 on the LCD interface. The seventh Pin is connected to Pin D10. There are other connections to the LCD board but I assume that since signals are arriving from the computer and being displayed properly that there is no problem with this aspect. Do I have the connections from the keyboard correct?
Any help would be appreciated.
Al Welch
Hi Al.
LCD-10097 has available pads that would allow you to attach a keypad or another device, but the firmware it comes with doesn’t support external peripherals. You’d need to write your own custom firmware to make the keypad do anything.
Do you have your own custom firmware for the LCD?
This was a functioning item before I interfered. I assumed that the keyboard duties were being carried out by the Arduino. There is a library in the Arduino program called “SoftwareSerial” which I thought was doing this. In the records that the gentleman who designed this system left, there is no record of code for managing the keypad. There are four connections between the Arduino and the serial device; 5v, GRD and connections to pins 2 and 3 on the Arduino.
What would be involved in obtaining and installing the necessary code?
I can tell you for sure the stock firmware doesn’t have the ability to read a keypad, it only handles receiving serial input and making sure it shows on on the LCD.
If the keypad was connected to LCD-10097 the board was also handling reading the keypad. The person that designed your original setup must have written custom firmware for the LCD-10097 kit to do both at the same time while the attached Arduino listened for input from the keypad and sent text back to the screen.
If you don’t have access to the custom firmware on the display and the ATmega on the display is still working correctly, you might be able to extract an image of the firmware on the old display and then flash it over to the new one. Assuming the keypad is connected the same as on the old display that should work, but the effort to do all that might be more than it’s worth.
Might be easier to see if you can find the code for the Arduino the display is connected too and rewrite that to accept a new display and keypad. Probably not great news but this is a sticky situation and starting from nearly scratch might be easier.
There was indeed software to be installed and I was able to obtain a copy and am using it now.
Glad you were able to get everything working! Make sure you keep a copy of your firmware someplace it can be found easily in case you need it again in the future.
Happy Hacking!