Keypad project for the PSoC 3

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hello.

I recently went looking for a matrix keypad project for the PSoC 3, for some inspiration.
Basically, I need to drive either a 2x2 matrix or a 4 key common bus keypad...
After Googling around for a while, I found this:

   

http://www.cypress.com/forum/psoc-community-components/matrix-keyboard

To put it short... Does anyone know if it's compatible with Psoc Creator v.3.2?

A longer version goes: I tried it, but it didn't work. I then downgraded to Psoc Creator v.2.1,
but got the Keil license error, which I suspect might have been brought on by the downgrade,
but I'm not sure.

So, has anyone had any luck with this project?
Or could someone perhaps recommend a similar (matrix or common bus) keypad project for
the PSoC 3?

   

Thanks in advance.

Regards.
 

0 Likes
1 Solution
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

You do not use your Timer_1 as a timer and your Timerint() function is not an interrupt function. You do not wait for an ADC conversion ready and I really cannot follow how you are reading your keypad. Anything that hinders you to use 4 pins for the 4 keys???

   

Your code looks like you try to port a PSoC1 design to PSoC3, to do that you have to know both worlds, PSoC1 and 3.

   

So it might be easier for you to start anew with a PSoC3 Project. Which development kit have you got? CY8CKIT-030 ??

   

There are plenty of example projects for that kit, so you may concentrate on your problem.

   

 

   

Bob

View solution in original post

0 Likes
5 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

Have a look here!

   

 

   

Happy coding

   

Bob

0 Likes
lock attach
Attachments are accessible only for community members.
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

Dear Sir: I downloaded the Keyboard example program and set it for  PSOC 5lp PsoC Creator 3.3 after I open the project I discovered that the library devices where out of date and that would need to be fixed the other issue was the program was written in Russian and would need to be translated to English.  So I think you should make your own Keyboard decoder.  Back in the early days of computers they didn't have keyboards and you had to design your own.  Basically you need a scanner on the columns and a multi input exclusive or gate to detect the key closures and a and gate to detect the row data  an interrupt circuit to detect the key closures . 
I think you can find this on the internet., I am sending you a picture of one.

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Hello again.
Thanks for your replies.

The keypad needed in my project is a four key (one row, four columns) keypad.
So i opted for a common bus type, which seems simpler in its nature than the
matrix type.

I found this project http://www.cypress.com/file/67396/download which
describes the procedure for implementing a common bus keypad on the
PSoC 1.

I have ported the project to the PSoC 3 with some succes, but I am having
trouble with the timer which is quite different on the PSoC 3.
Furthermore, I have uncommented the LCD specific lines (since I am not
using one).
I have added some lines that write to the UART in order to monitor the
programs progression.
From what I am able to gather (using PSoC Creator's debug function)
the program never gets past the first IF statement in line 72, which
confirms my suspicion regarding the timer implementation.

   

If someone has any suggestions on how to properly implement/port
the timer, it would be much appreciated
Any comments code would also be much appreciated!

Thanks,
Regards

PS.: I have added the program bundle.

0 Likes
Anonymous
Not applicable

Any suggestions?
I am a bit stuck, so would be much appreciated.

Regards.

0 Likes
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

You do not use your Timer_1 as a timer and your Timerint() function is not an interrupt function. You do not wait for an ADC conversion ready and I really cannot follow how you are reading your keypad. Anything that hinders you to use 4 pins for the 4 keys???

   

Your code looks like you try to port a PSoC1 design to PSoC3, to do that you have to know both worlds, PSoC1 and 3.

   

So it might be easier for you to start anew with a PSoC3 Project. Which development kit have you got? CY8CKIT-030 ??

   

There are plenty of example projects for that kit, so you may concentrate on your problem.

   

 

   

Bob

0 Likes