LCD Screen Controller I²C / I2C Driver for 1602 & 2004 LCD - PCF8574T
- Was RM12.00
-
RM6.50
- 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 / PCF8574 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 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 Wire.h to control I2C #include <LiquidCrystal_I2C.h> //Download & include the code library can be downloaded below LiquidCrystal_I2C lcd(0x27,2,1,0,4,5,6,7,3, POSITIVE); // Initialize LCD Display at address 0x27 void setup() { lcd.begin (16,2); } void loop() { lcd.setBacklight(HIGH); //Set Back light turn On lcd.setCursor(0,0); // Move cursor to 0 lcd.print("QQtrading - TEST"); lcd.setCursor(0,1); lcd.print("Ideas Comes Real"); }
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(0x27,
Replace 27 to your module address.
Some change to 3F will do
LiquidCrystal_I2C lcd(0x3F,