For T313S06 (Top to bottom, from http://arduino-info.wikispaces.com/LCD-Blue-I2C)
- GND - GND
- VCC - 5V
- SDA - ANALOG Pin 4
- SCL - ANALOG pin 5
(I've not got a 4-pin cable; must get one) Note that uses ANALOG pins, not the digital 4 & 5.
The next stage was figuring out the i2c address. for this I used the i2c scanner, from http://playground.arduino.cc/Main/I2cScanner. Quote from http://www.gammon.com.au/forum/?id=10896:
- More information about I2C at: http://en.wikipedia.org/wiki/I2c
- More information about the Arduino Two-Wire interface at: http://www.arduino.cc/en/Reference/Wire
The LCD was on port 0x27. So next, we found a i2c version of the LCD driver.
Here is a picture of the LCD working.
And here is a picture of the back of the LCD:
And the code
/* YourDuino.com Example Software Sketch 16 character 2 line I2C Display Backpack Interface labelled "YwRobot Arduino LCM1602 IIC V1" terry@yourduino.com */ /*-----( Import needed libraries )-----*/ #include// Comes with Arduino IDE // Get the LCD I2C Library here: // https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads // Move any other LCD libraries to another folder or delete them // See Library "Docs" folder for possible commands etc. #include /* A5 => SCL, A4 => SDA */ /*-----( Declare Constants )-----*/ /*-----( Declare objects )-----*/ // set the LCD address to 0x27 for a 20 chars 4 line display // Set the pins on the I2C chip used for LCD connections: // addr, en,rw,rs,d4,d5,d6,d7,bl,blpol LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE); // Set the LCD I2C address /*-----( Declare Variables )-----*/ //NONE void setup() /*----( SETUP: RUNS ONCE )----*/ { Serial.begin(9600); // Used to type in characters lcd.begin(16,2); // initialize the lcd for 16 chars 2 lines, turn on backlight // ------- Quick 3 blinks of backlight ------------- for(int i = 0; i< 3; i++) { lcd.backlight(); delay(250); lcd.noBacklight(); delay(250); } lcd.backlight(); // finish with backlight on //-------- Write characters on the display ------------------ // NOTE: Cursor Position: (CHAR, LINE) start at 0 lcd.setCursor(0,0); //Start at character 4 on line 0 lcd.print("Hello, Kayleigh!"); delay(1000); // lcd.setCursor(0,1); lcd.print("HI!YourDuino.com"); delay(8000); // Wait and then tell user they can start the Serial Monitor and type in characters to // Display. (Set Serial Monitor option to "No Line Ending") lcd.clear(); lcd.setCursor(0,0); //Start at character 0 on line 0 lcd.print("Use Serial Mon"); lcd.setCursor(0,1); lcd.print("Type to display"); }/*--(end setup )---*/ void loop() /*----( LOOP: RUNS CONSTANTLY )----*/ { { // when characters arrive over the serial port... if (Serial.available()) { // wait a bit for the entire message to arrive delay(100); // clear the screen lcd.clear(); // read all the available characters while (Serial.available() > 0) { // display each character to the LCD lcd.write(Serial.read()); } } } }/* --(end main loop )-- */ /* ( THE END ) */
Add a comment