Is there a problem with the KeyPad Component in V3?

For Flowcode users to discuss projects, flowcharts, and any other issues related to Flowcode 2 and 3.

Moderators: Benj, Mods

Post Reply
User avatar
mytekcontrols
Posts: 95
Joined: Sun Aug 19, 2007 6:38 pm
Location: Santa Rosa, California
Has thanked: 4 times
Been thanked: 7 times
Contact:

Is there a problem with the KeyPad Component in V3?

Post by mytekcontrols »

I have been experimenting with the KeyPad Component in the latest V3 Demo, as part of my evaluation to buy FlowCode.

I created a program to retrieve the value (in ascii) from the KeyPad and then display it on an LCD. The KeyPad is assigned to Port B, and the LCD is assigned to Port D on a PIC16F877a. When I run this under simulation everything works just fine (I also incorporated a new key vs. old key comparison to eliminate key bounce). However when I load this into hardware and run it, most of the keys do absolutely nothing, and the bottom row (*,0,#) places multiple random characters on the LCD. I took an Oscope reading of the column pins, and I am seeing a +5V signal, but not one that is being sequentially clocked as I would assume it would need to be in order to scan the KeyPad.

I tried reassigning the KeyPad to the C port, but it yielded similar results. I also have 100K pull-downs to ground on the RowA - RowD lines.

Anybody have any ideas? Is it a problem with the Demo version?
Michael St. Pierre
FlowCode V3&V4 Pro Registered User
Manufacture: Heat Load Controllers,
and a variety of other widgets.

User avatar
mytekcontrols
Posts: 95
Joined: Sun Aug 19, 2007 6:38 pm
Location: Santa Rosa, California
Has thanked: 4 times
Been thanked: 7 times
Contact:

Post by mytekcontrols »

Correction on the voltages (when not pressing any key):

RowA = 0V
RowB = 0V
RowC = 1.87V (steady - not clocking)
RowD = 4.9V (steady - not clocking)

Col1 = 0V
Col2 = 0V
Col3 = 0V

I have since added the series connected 10K resistors for the Column lines (same as Eblock KeyPad). I still have the 100K pull-downs on all the Rows. With this configuration I get no response from any key.

I have also tried 2 other brand new PIC16F877a chips with the same results.

Really beginning to look like the problem lies with the FlowCode V3 Demo KeyPad Component, or perhaps the FCD file.
Michael St. Pierre
FlowCode V3&V4 Pro Registered User
Manufacture: Heat Load Controllers,
and a variety of other widgets.

User avatar
Benj
Matrix Staff
Posts: 15312
Joined: Mon Oct 16, 2006 10:48 am
Location: Matrix TS Ltd
Has thanked: 4803 times
Been thanked: 4314 times
Contact:

Post by Benj »

Hello

If you email sean@matrixmultimedia.co.uk then he should be able to give you an updated component.

User avatar
mytekcontrols
Posts: 95
Joined: Sun Aug 19, 2007 6:38 pm
Location: Santa Rosa, California
Has thanked: 4 times
Been thanked: 7 times
Contact:

Post by mytekcontrols »

I discovered what the problem was. Actually there were 2 problems.

Problem #1
I had modeled my original KeyPad circuit off of the E-Blocks schematic diagram EB-014-00-1 which shows 100K pull-down resistors for the ROWS, and 10K series resistors for the COLUMNS. Apparently this only works for short well shielded key pad connections (my connections are unshielded at 8 inches long). The solution is to reduce the values of the resistors as I have shown in my diagram below.

Image

Problem #2
I had originally re-specified the COLUMNS to be Bits 1-3 instead of the default Bits 0-2. It appears that at least in my version of the KeyPad component, this reassignment was not recognized (it still looks for the COLUMNS to be on Bits 0-2). As to why this is so, I am presently unsure.
Michael St. Pierre
FlowCode V3&V4 Pro Registered User
Manufacture: Heat Load Controllers,
and a variety of other widgets.

User avatar
Steve
Matrix Staff
Posts: 3433
Joined: Tue Jan 03, 2006 3:59 pm
Has thanked: 114 times
Been thanked: 422 times

Post by Steve »

Hello Michael,

Thanks for letting us know about this.

We did notice this problem with re-assignment of pins a couple of months ago and have produced a new version of the component to solve this. We will release this new component with a future update of Flowcode.

In the meantime, if anyone *desparately* wants a version of the keypad component which correctly allows pin re-assignment, please contact me directly.

User avatar
mytekcontrols
Posts: 95
Joined: Sun Aug 19, 2007 6:38 pm
Location: Santa Rosa, California
Has thanked: 4 times
Been thanked: 7 times
Contact:

Post by mytekcontrols »

We did notice this problem with re-assignment of pins a couple of months ago and have produced a new version of the component to solve this. We will release this new component with a future update of Flowcode.
Not to pressure you, but how soon can we expect this? Else...
In the meantime, if anyone *desparately* wants a version of the keypad component which correctly allows pin re-assignment, please contact me directly.
I may have to take you up on this, since the project I am working on will need to have the INT0 line (RB0) free to use, and I still want the keypad mapped to the B Port.
Michael St. Pierre
FlowCode V3&V4 Pro Registered User
Manufacture: Heat Load Controllers,
and a variety of other widgets.

User avatar
Steve
Matrix Staff
Posts: 3433
Joined: Tue Jan 03, 2006 3:59 pm
Has thanked: 114 times
Been thanked: 422 times

Post by Steve »

I hope to have an update to Flowcode available in the next day or two, which will contain the updated keypad component.

User avatar
mytekcontrols
Posts: 95
Joined: Sun Aug 19, 2007 6:38 pm
Location: Santa Rosa, California
Has thanked: 4 times
Been thanked: 7 times
Contact:

Post by mytekcontrols »

Hi Steve,

I just updated to the latest version of FlowCode today, and am happy to report that the new KeyPad Component (V1.4) is working great. I now have it reassigned to use bits RB1 - RB7 for the key scan, and leave RB0/INT available for other uses.

In fact I gave it a complete test, and ran an interrupt routine for the INT input at the same time I was using the remaining bits for the KeyPad Component. Everything worked as expected :D

Good job!
Michael St. Pierre
FlowCode V3&V4 Pro Registered User
Manufacture: Heat Load Controllers,
and a variety of other widgets.

Post Reply