LCD Screen Controller I²C / I2C Driver for 1602 & 2004 LCD - PCF8574T

  • Was  RM12.72 
  • RM6.36

  • Ex Tax: RM6.00
  • Product Code: LCD Controller Module
  • Availability: In Stock

Almost every electronics enthusiast has run into pin issues with 1602, 2004 or the like LCDs. This module has a PCF8574T onboard which reduces the number of data pins needed to control the LCD down to 2! This excludes the power/ground pins which are also required. This I2C-Backpack featuring the PCF8574T-I2C-Driver can be soldered behind a standard 1602- or 2004-LCD - after that, only 2 I/O-Pins are required to get the LCD up and running.Additionally, you can adjust the contrast with a potentiometer on the backpack, as well as completely disable the backlight with a jumper.


Features:

  • For all standard 5V 16 Chars, 2 Lines and 20 Chars, 4 Lines LCD
  • PCF8574T Driver
  • Potentiometer for Contrast
  • Disable Backlight by jumper
  • Connector Pins: SDA / SCL / VCC / GND
  • Arduino-Library LiquidCrystalI2C available
  • Arduino IDE Example
  • Size: 40mm x 18mm

 

Connect I2C Driver Module to an Arduino

For this experiment it is necessary to download and install the “Arduino I2C LCD” library. First of all, rename the existing “LiquidCrystal” library folder in your Arduino libraries folder as a backup, and proceed to the rest of the process.

 

Arduino Sketch:

#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x3F,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
  lcd.init();                      // initialize the lcd 
 
  // Print a message to the LCD.
  lcd.backlight();
  lcd.print("QQtrading");
}

void loop()
{
}

If you are 100% sure that everything is okay, but you don’t see any characters on the display, try to adjust the contrast control pot of the backpack and set it a position where the characters are bright and the background does not have dirty boxes behind the characters.

 

Still not working?

You will need to find the I2C address by yourself by running an I2C scanner:

//Written by Nick Gammon
// Date: 20th April 2011

#include <Wire.h>

void setup() {
  Serial.begin (115200);

  // Leonardo: wait for serial port to connect
  while (!Serial) { }

  Serial.println ();
  Serial.println ("I2C scanner. Scanning ...");
  byte count = 0;

  Wire.begin();
  for (byte i = 1; i < 120; i++)
  {
    Wire.beginTransmission (i);
    if (Wire.endTransmission () == 0)
      {
      Serial.print ("Found address: ");
      Serial.print (i, DEC);
      Serial.print (" (0x");
      Serial.print (i, HEX);
      Serial.println (")");
      count++;
      delay (1);  // maybe unneeded?
      } // end of good response

  } // end of for loop

  Serial.println ("Done.");
  Serial.print ("Found ");
  Serial.print (count, DEC);
  Serial.println (" device(s).");

}  // end of setup

void loop() {}

Then open the serial monitor and select 115200 baud to get the address.

 

Find your sketch:

  LiquidCrystal_I2C lcd(0x3F,

Replace 3F to your module address.

Write a review

Note: HTML is not translated!
    Bad           Good

 

Tags: LCD, I2C