CharLCD_I2C interface for PSoc3, 4 and 5LP using 2 i/o pins with the PCF8574AT-HD44780 Combo designed for Arduino

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

cross mob
MiBe_1380881
Level 4
Level 4
10 likes received First like received

In summary;

   

The CharLCD_I2C Component  has been tested with PSoC3, PSoC and PSoC5LP successfully using 2x16 and 4x20 LCD displays. The CharLCD_I2C component sends data over in 4 bit packets which allows it to work with the readily available, very inexpensive PCF8574AT (I2C Serial to Parallel Converter) connected to the Parallel Inputs of the HD44780 LCD module ($3-$4) requiring only 2 I/O pins and a 4 wire connector for a stand alone display. The I2C LCD component provided by Cypress sends data over in 8 bit packets and requires a much less available, more expensive Serial Input LCD Module ($20-$25) that requires 2-4 resistors, 2-3 i/o pins and a 5-6 wire connector for a stand alone display. The Char LCDmp component will work with  only the HD44780 LCD module ($2) but requires 6 i/o pins and an 8 wire connector for a stand alone display.

   

The Zipped_Files include the CharLCD_I2C component, Datasheet, and Example projects (CY8CKIT-059, CY8CKIT-042).

   

Please read the Datasheet carefully to avoid building and compiling errors.

   

Respectfully, Mike

1 Solution
MiBe_1380881
Level 4
Level 4
10 likes received First like received

CharLCD_I2C Ver 2.0 UPGRADE :  I had a chance to upgrade the DataSheet of the CharLCD_I2C Component with new Screen Shots to facilitate choosing the right Master Component and Instance name for the Master component to avoid Building and Compiling errors with the CharlCD_I2C component.

   

Also added to the DataSheet  are instructions and screen shots on how to load the CharLCD_I2C component using the Dependency Option.

   

I have included a 1K Potentiometer to the circuit diagram to be able to adjust the brightness of the Back Lighting.

   

I have made minor changes to ta few of the comment sections of version 2.0 of the CharLCD_I2C Component but otherwise the code is unchanged from the last version.

   

Disconnecting and Reconnecting the LCD Display:  

   

I included the necessary Code in the main.c file of the Example Demo's making it possible to disconnect the LCD Display then re-initializing the LCD Display when reconnected without having to reset or power off and on the PSocC chip.  

   

Respectfully, Mike

View solution in original post

6 Replies
AnkitaS_51
Employee
Employee
100 likes received 50 likes received 25 likes received

Thank you for the  component posted.

0 Likes
MiBe_1380881
Level 4
Level 4
10 likes received First like received

CharLCD_I2C Ver 2.0 UPGRADE :  I had a chance to upgrade the DataSheet of the CharLCD_I2C Component with new Screen Shots to facilitate choosing the right Master Component and Instance name for the Master component to avoid Building and Compiling errors with the CharlCD_I2C component.

   

Also added to the DataSheet  are instructions and screen shots on how to load the CharLCD_I2C component using the Dependency Option.

   

I have included a 1K Potentiometer to the circuit diagram to be able to adjust the brightness of the Back Lighting.

   

I have made minor changes to ta few of the comment sections of version 2.0 of the CharLCD_I2C Component but otherwise the code is unchanged from the last version.

   

Disconnecting and Reconnecting the LCD Display:  

   

I included the necessary Code in the main.c file of the Example Demo's making it possible to disconnect the LCD Display then re-initializing the LCD Display when reconnected without having to reset or power off and on the PSocC chip.  

   

Respectfully, Mike

Anonymous
Not applicable

Hi,

I am using a Sain Smart 20x4 IIC/I2C/TWI LCD module ($15) with your code. In order to make that work the data delay has to be increased to 1ms from 500us, that is in CharLCD_I2C.h change   #define CharLCD_DATA_DELAY_US (1000u)

Thanks for sharing your project!

0 Likes

Re: PSoC3, PSoC4 & PSoC5  Character LCD_I2C  4_bit Mode v2.1

Implements I2C Interface with the PCF8574AT I2C BackPack connected to the Industry Standard Hitachi HD44780 LCD controller in 4-bit Mode designed for the Arduino (LCD 1602, 1604, 2004).

Thanks for the feedback, modified software to increase the DATA_DELAY from 0.5 msec to 1.0 msec to occur during the build process so as not to have to make changes in the CharLCD_I2C.h file.

Mike

MiBe_1380881
Level 4
Level 4
10 likes received First like received

CharLCD_I2C Component provides software interface for the PSoC3, PSoC4 and PSoC5 with the Sain Smart 20x4 IIC/I2C/TWI LCD module and the PCF8574AT connected to the HDHD44780 LCD controller designed for the Arduino (LCD 1602, 1604, 2004)

I have provided updated Examples for the CY8CKIT-042 and CY8CKIT-059 that includes the external circuit schematic for connecting the PSoC4 or PSoC5 Kits to the LCD.

If it is necessary to disconnect and re-connect the LCD, I have included the needed code to avoid having to reboot or power off and on the PSoC to re-initialize the LCD. The :sda and :scl outputs need to be connected to pull up resistors for the code to work properly.

Mike

domz
Level 1
Level 1
5 sign-ins First reply posted Welcome!

hi all! 

i have included this compoment and it works fine.... BUT it is not possible to turn off the backlight... also the makro displayoff  do not this...  

so, how can i turn off the backlight (i will need it for the sleep mode to save battery) ? 🙂

i use psoc creator 4.2 with a CY8CKIT-059.

cheers

0 Likes