so for the past week or so ive been looking for a library for my new lcd that im using for a smart watch build, and i can seem to find any for my lcd in particular it is a serial 20 x 4 lcd with the i2c id of 0x3F if some one can help me find the correct library i would be very thankful
this it were i ordered it (how ever the serial board dose not look as it is pictured) http://www.ebay.com/itm/Blue-Serial-IIC-I2C-TWI-2004-204-20X4-Character-LCD-Module-Display-For-Arduino-/321923408888?hash=item4af42163f8
the i2c id is 0x3F
Problem to find? I2C LCD is frequently used. There is lots of libraries on the internet. I am using this:
https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads
from Francisco Malpartida. It's also for I2C. The address (0x3F in your case) have to be passed as parameter to constructor.
I have a similar unit, and these libs work.
note my I2C_ADDR = 0x27 but it was advertised as 0x3F.
Library location:
Pin connections
Pins
LCD Arduino
VCC +5V
GND GND
SCL SCL (note 1)
SDA SDA (note 2)
notes:
- if your board doesn't have SDA connection connect the LCD SDA to A4 (an analog port)
- if your board doesn't have SCL connection connect the LCD SDA to A5 (an analog port)
try this sketch
/*
Base code to show LCD
Kasprzak (c) 2015
Pin connections
Arduino device
A0
A1
A2
A3
A4 SDA (mini only)
A5 SCL (mini only)
1
2
3
4
5
6
7
8
9
10
11
12
13
SDA SDA
SLC SLC
*/
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>
#define I2C_ADDR 0x27
#define BACKLIGHT_PIN 3
#define En_pin 2
#define Rw_pin 1
#define Rs_pin 0
#define D4_pin 4
#define D5_pin 5
#define D6_pin 6
#define D7_pin 7
LiquidCrystal_I2C lcd(I2C_ADDR, En_pin, Rw_pin, Rs_pin, D4_pin, D5_pin, D6_pin, D7_pin);
void setup()
{
lcd.begin (20, 4, LCD_5x8DOTS);
lcd.setBacklightPin(BACKLIGHT_PIN, POSITIVE);
lcd.setBacklight(HIGH);
lcd.home();
lcd.setCursor(0, 0);
lcd.print("Hello...");
lcd.setCursor(0, 1);
lcd.print("um...");
lcd.setCursor(0, 2);
lcd.print("World!");
lcd.setCursor(0, 3);
lcd.print("Great ready...");
delay(2000);
}
void loop()
{
for (int i = 99; i >= 0; i--) {
lcd.setCursor(13, 3);
lcd.print(String(" "));
lcd.print(String(i));
delay(1000);
}
}
Ahh, if to find the correct I2C is the problem you have to read datasheet of the I2C IC used on the converter board and learn from the board how it is set. Or use Nick Gammon's I2C address scanner
http://forum.arduino.cc/index.php?topic=61520.0