CY8CKIT-059 interfacing with 16x2 LCD black boxes (no characters)

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

cross mob
Y_r
Level 4
Level 4
50 replies posted 50 sign-ins 25 replies posted

Hi All,

I am trying to interface PSOC 5LP Prototyping Kit, with a 16x2 LCD (RG1602A) over Port P12 [6:0] and have made the corrections properly ( triple checked).

And made the DWR and pin assignment as well as Step 8 (main.c) as mentioned in: http://www.airsupplylab.com/psoc5-lp/17-psoc5-lesson-07-interfacing-character-lcd-display-module-wit...

I have connected the LCD pins according to above article on P12[6:0] and programmed the PSOC.

But there are no characters displayed on the LCD, instead the first row is all black boxes as shown in the image below:

WhatsApp Image 2021-06-22 at 11.09.10 AM.jpeg

And i have searched and found out the following info from one of microchip forum: "One row of boxes at the top of a two line display almost always indicates either bad initialisation or a data or control wiring fault and is because the diisplay controller is still in its power up default of single line mode which needs a different contrast voltage to two line mode.

As the display section of the schematic looks sane, the problem is probably either the actual sequence used or its timing - either inter-command delays or setup and hold timing for strobing out each
nibble.
"

 

Can you please help on what to do in this scenario and  what could be the issue and how to resolve it?

 

Regards,

Yash

0 Likes
1 Solution
MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Hi,

In the schematic of CY8CKIT-059

P12[0] I2C_SCL, P12[1] I2C_SDA, P12[6] UART_RX

002-P12_connections.JPG

These pins look like they won't interfere the signal when they are not used as I2C or UART,

but in my experience, those I2C signals were pulled-up when I connected an external I2C sensor. So avoiding these seems to be the easiest way to go.

But in case you "MUST" use these P12[x] pins, I would tear off KitProg part from the board and use jumper wires to connect VDD, GND, RESET, SWD_CLK, SWD_DATA, this way these signals may not be affected by the internal connection between the CY8CKIT-059's 5LP and KitProg's 5LP.  But by doing this we lose the default internal connections of UART, I2C to KitPorg. (we need to connect them manually using jumper wires)

 

moto

View solution in original post

7 Replies
lock attach
Attachments are accessible only for community members.
EvPa_264126
Level 7
Level 7
500 replies posted 250 replies posted 100 likes received


Hello. Perhaps your contrast is too high (Pin3 / Vo).
Hopefully the display is not 3.3V
Anyway, the project created by your link works (my LCD port: P3).
Evgeny.

lsd.jpg

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

Hello Evgeny,

 

Thank you for your reply.

I have put a POT and can see voltage being supplied on V0 to be 0.7V and disconnected the backlight but still see the black boxes only when programmed with the firmware attached in our reply as shown below:

IMG_20210623_102111.jpg

No LED glow and LCD still displaying black boxes. 

I have connected

D4-P3[0]
D5-P3[1]
D6-P3[2]
D7-P3[3]
E-P3[4]
RW-P3[6]
RS-P3[5]
V0-POT (0.7V)
VDD-+5V
VSS-Gnd

I have also tried programming the default HelloWorld_blinky code example which is available in the PSOC creator and found that the LED is blinking, but the LCD is still displaying black boxes (with backlight) on P12[6:0] as shown in the below image and the attached video (.zip file):

WhatsApp Image 2021-06-22 at 10.24.09 PM.jpeg

Please advice.

Regards,
Yash

 

0 Likes

On my board Voltageat Vo = 5V
Perhaps you measured relative to Vcc (pin1)
Black squares in the top line are a sign of the relative health of the display.
My test program - works for me.
Therefore, it makes sense to check the serviceability of the port.
For this, instead of port P12, only ports P1 or P2 can be used. 
Ports P0, P3, P5 have capacitors on pins, and will not work:
P0.2 (C12) P0.3 (C13) P0.4 (C9) P3.2 (C7) P5.4 (C4)
I think it's worth trying with a different port (P1 or P2)

MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Hi,

The following is from CY8CKIT-059 Kit Guide

Note:  P12[0] I2C_SCL, P12[1] I2C_SDA, P12[6] UART_RX

001-HW_PinUsage_059.JPG

I think that pins which are not used for other purpose need to be selected.

 

moto

Hello Tanaka-san,

Thank you for your valuable response which helped me to resolve the issue by using the P2[6:0] pins for the LCD. 
The LCD can display the text properly now.

I wanted to know if there is a way to override the dual purpose pins like in P12 and use that port for the LCD interface?


Thank you.

Regards,
Yash

MotooTanaka
Level 9
Level 9
Distributor - Marubun (Japan)
First comment on blog Beta tester First comment on KBA

Hi,

In the schematic of CY8CKIT-059

P12[0] I2C_SCL, P12[1] I2C_SDA, P12[6] UART_RX

002-P12_connections.JPG

These pins look like they won't interfere the signal when they are not used as I2C or UART,

but in my experience, those I2C signals were pulled-up when I connected an external I2C sensor. So avoiding these seems to be the easiest way to go.

But in case you "MUST" use these P12[x] pins, I would tear off KitProg part from the board and use jumper wires to connect VDD, GND, RESET, SWD_CLK, SWD_DATA, this way these signals may not be affected by the internal connection between the CY8CKIT-059's 5LP and KitProg's 5LP.  But by doing this we lose the default internal connections of UART, I2C to KitPorg. (we need to connect them manually using jumper wires)

 

moto

Hello @EvPa_264126 ,

Your suggestion helped and i got the LCD displaying the text when using P2[6:0].

Thank you.

 

Regards,
Yash