Jump to content
43oh

[Energia Library] LiquidTwi2


Recommended Posts

Hi,

 

II've tested Lincomatic liquidTW2 library ( https://github.com/lincomatic/LiquidTWI2/ ) with an Adafuit i2c LCD backpack (http://www.adafruit.com/product/292 ). with a bidirectional i2c level translator, since backpack and lcd are 5V.

Unfortunately, it does not works out of the box. However, this can be solved easily by inserting a delay BEFORE using the lcd.begin, an an other delay before sending first string.

 

I suspect init time was shorted too much in the library, and because C3200 is much more fast than an arduino, fisrts strings where sent before complete lcd init;

 

In bold in the following source, the two lines added from library example.

/*
 Demonstration sketch for Adafruit i2c/SPI LCD backpack
 using MCP23008 I2C expander
 ( http://www.ladyada.net/products/i2cspilcdbackpack/index.html )

 This sketch prints "Hello World!" to the LCD
 and shows the time.
 
  The circuit:
 * 5V to Arduino 5V pin
 * GND to Arduino GND pin
 * CLK to Analog #5
 * DAT to Analog #4
*/

// include the library code:
#include <Wire.h>
#include <LiquidTWI2.h>

// Connect via i2c, default address #0 (A0-A2 not jumpered)
LiquidTWI2 lcd(0);

void setup() {
  // set the LCD type
  lcd.setMCPType(LTI_TYPE_MCP23008); 
  delay(50);
//  lcd.setMCPType(LTI_TYPE_MCP23017); 
  // set up the LCD's number of rows and columns:
  lcd.begin(20, 4);
  delay(50);
  // Print a message to the LCD.
  lcd.print("hello, world!");
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis()/1000);

  lcd.setBacklight(HIGH);
  delay(500);
  lcd.setBacklight(LOW);
  delay(500);
}

Link to post
Share on other sites
  • 2 weeks later...

 

Hi,

 

II've tested Lincomatic liquidTW2 library ( https://github.com/lincomatic/LiquidTWI2/ ) with an Adafuit i2c LCD backpack (http://www.adafruit.com/product/292 ). with a bidirectional i2c level translator, since backpack and lcd are 5V.

Unfortunately, it does not works out of the box. However, this can be solved easily by inserting a delay BEFORE using the lcd.begin, an an other delay before sending first string.

 

I suspect init time was shorted too much in the library, and because C3200 is much more fast than an arduino, fisrts strings where sent before complete lcd init;

 

In bold in the following source, the two lines added from library example.

@@ewidance Thanks for this!

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...