tx & rx pins doing double duty for keypad columns

I have 2 of my keypad columns on pin D0 & D1. If I need to use the serial monitor to troubleshoot something, would it still work? It's the keypad ROWS that have pull-up resistors on them, so if a key on the keypad isn't pressed, there's nothing really attatched to pins D0-D1.

SouthernAtHeart: I have 2 of my keypad columns on pin D0 & D1. If I need to use the serial monitor to troubleshoot something, would it still work? It's the keypad ROWS that have pull-up resistors on them, so if a key on the keypad isn't pressed, there's nothing really attatched to pins D0-D1.

Should work, but if you were to press a button during active serial communications it could cause problems.

Lefty

GREAT NEWS! thanks.

You can also connect a keypad to an analog port, - http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1170140545/4 -

Google for variations.

robtillaart: You can also connect a keypad to an analog port, - http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1170140545/4 -

Google for variations.

I just tried this last night. With the said configuration, they are very reliable for digits 1 through 6, roughly, but the higher analog readings start getting messed up with some resistance from the keypad contacts (I think that is the problem). I'm using SparkFun's 4x3 keypad, brand new. For example, if I press key 4, I get a reading of 195, and no matter how lightly or hard I press it, it only fluctuates from 193 to 197, that's very close tolerance. But if I press key 0 lightly or hard, I can get a reading from 890 to 940, roughly. You see the problem. I think I will try to figure out what resistor values are needed to get an analog reading span from 0 to about 500-600, sometime when I have a free hour or 2, unless someone knows how to calculated this in their head...

Test-it[1].jpg|447x560

Results: You can use the Serial connect to your pc even though two columns are connected to D0 & D1. However, there can not be any instance of "Serial.whatever" in your code, or else those two columns will not work. This is acceptable for troubleshooting. If serial is needed, just uncomment Serial.Begin(9600), and insert the Serial.print command where ever you need it...