This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/ #include <Wire.h> #include <LCD03.h>
// Create new LCD03 instance
LCD03 lcd;
void setup() {
// Initialise a 20x4 LCD
lcd.begin(20, 4);
// Turn on the backlight
lcd.backlight();
// Write to the LCD
lcd.print("Hello world");
// Wait for 5 seconds
delay(5000);
// Clear the LCD
lcd.clear();
}
void loop() {
// Set the cursor to the top left
lcd.home();
// Print the uptime in millis
lcd.print(millis());
}
brenden_nerd_:
ok so i recently bought a 20 x 4 lcd with i2c and i was wondering where in the code i put the i2c id at?
As you can read in the source code you posted:
Arduino library for I2C LCD03 display from Robot Electronics
The library code seems to be made for one special LCD of one special manufacturer.
So most likely the address is hard-coded in the library.
And the library will know about the address when using a "LCD03 display from Robot Electronics"
So most likely the library needs a rewrite, if you want to use a different model of LCD.
There are lots of different library's available especially for i2c 20 x 4 displays. Sometimes the first library you find is not the one that suits you best.
No matter which library you use a useful tool is
// I2C Scanner
// Written by Nick Gammon
// Date: 20th April 2011
as some displays sold are not addressed to what the vendor claims.
@brenden_nerd_ , you say the I2C address for your LCD module is 0x3F, yet the LCD03 display from Robot Electronics appears to use the address 0xC6, so can we assume that you definitely have a different I2C LCD module?
If so, you're probably better off using the "New LiquidCrystal" library. New LiquidCrystal
It has a "LiquidCrystal_I2C.h" include file that works well with most I2C LCD modules.
*Note that to use this library you need to remove/delete the original "LiquidCrystal" library to avoid conflicts.
Are you using an LCD with separate I2C backpack, or an integrated module?
A photo would help, or a link to it online.