user85947: I'm new to Arduino and want to build a Button Box. When I buyed the parts I didn't watched out for the specifications of the I2C module. When I tried to print sth on the LCD nothing happened (in retro perspective it's logical). I wouldn't like to have to buy a new LCD.
How can I make the LCD work with the I2c module?
LCD - http://cdn-reichelt.de/documents/datenblatt/A500/DEM16101SYH.pdf
I2C-module - http://mantech.co.za/datasheets/products/lcd2004-i2c.pdf
it's wired correctly (VCC to 5V, GND to GND, SDA to SDA and SCL to SCL)
The Code I used is the "Hello World" Example thats included in the LiquidCrystal_I2C library, but with a few changes:
//YWROBOT
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,1);  //instead of LiquidCrystal_I2C lcd(0x27,20,4);

void setup()
{
  lcd.init();                      // initialize the lcd 
  lcd.init();
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(3,0);
  lcd.print("Hello, world!");
  lcd.setCursor(2,0); //isntead of lcd.setCursor(2,1);
  lcd.print("Ywrobot Arduino!");
   lcd.setCursor(0,0); //instead of lcd.setCursor(0,2);
  lcd.print("Arduino LCM IIC 2004");
   lcd.setCursor(2,0); //instead of lcd.setCursor(2,3);
  lcd.print("Power By Ec-yuan!");
}


void loop()
{
}


user14095: Welcome Chritzelopf! Yes pull up resistors are required by the I2C definition. Your link on the driver shows they are not included and no schematic to  indicate otherwise. The I2C bus is driven by open collector/drain semiconductor devices. This configuration will pull the line low but not source any current into it other then possibly some leakage. When the outputs of the I2C device are off the bus is pulled high or placed in the recessive state by the pull up resistors. When one or more of the devices turn on the bus is now in the dominate state or low. This configuration allows anything to turn on or off without damaging other devices on the bus. I like the pull up(s) to be in the 4.7K for 5V and about 3.3K in the 3V3v.
Some modules come with pull ups that are permanently connected, others are selectable with jumpers etc. This is NOT the A0 - A? jumpers which are address select lines. I always check the modules to determine if there are pull ups enabled and adjust my other resistances to get an appropriate value, sometimes even removing them.

85947: <p>I'm new to Arduino and want to build a Button Box. When I buyed the parts I didn't watched out for the specifications of the I2C module. When I tried to print sth on the LCD nothing happened (in retro perspective it's logical). I wouldn't like to have to buy a new LCD.</p>
<p>How can I make the LCD work with the I2c module?</p>
<p>LCD - <a href="http://cdn-reichelt.de/documents/datenblatt/A500/DEM16101SYH.pdf" rel="nofollow noreferrer">http://cdn-reichelt.de/documents/datenblatt/A500/DEM16101SYH.pdf</a></p>
<p>I2C-module - <a href="http://mantech.co.za/datasheets/products/lcd2004-i2c.pdf" rel="nofollow noreferrer">http://mantech.co.za/datasheets/products/lcd2004-i2c.pdf</a></p>
<p>it's wired correctly (VCC to 5V, GND to GND, SDA to SDA and SCL to SCL)</p>
<p>The Code I used is the &quot;Hello World&quot; Example thats included in the LiquidCrystal_I2C library, but with a few changes:</p>
<pre><code>//YWROBOT
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include &lt;Wire.h&gt; 
#include &lt;LiquidCrystal_I2C.h&gt;

LiquidCrystal_I2C lcd(0x27,16,1);  //instead of LiquidCrystal_I2C lcd(0x27,20,4);

void setup()
{
  lcd.init();                      // initialize the lcd 
  lcd.init();
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(3,0);
  lcd.print(&quot;Hello, world!&quot;);
  lcd.setCursor(2,0); //isntead of lcd.setCursor(2,1);
  lcd.print(&quot;Ywrobot Arduino!&quot;);
   lcd.setCursor(0,0); //instead of lcd.setCursor(0,2);
  lcd.print(&quot;Arduino LCM IIC 2004&quot;);
   lcd.setCursor(2,0); //instead of lcd.setCursor(2,3);
  lcd.print(&quot;Power By Ec-yuan!&quot;);
}


void loop()
{
}
</code></pre>
 14095: <p>Welcome Chritzelopf! Yes pull up resistors are required by the I2C definition. Your link on the driver shows they are not included and no schematic to  indicate otherwise. The I2C bus is driven by open collector/drain semiconductor devices. This configuration will pull the line low but not source any current into it other then possibly some leakage. When the outputs of the I2C device are off the bus is pulled high or placed in the recessive state by the pull up resistors. When one or more of the devices turn on the bus is now in the dominate state or low. This configuration allows anything to turn on or off without damaging other devices on the bus. I like the pull up(s) to be in the 4.7K for 5V and about 3.3K in the 3V3v.</p>
<p>Some modules come with pull ups that are permanently connected, others are selectable with jumpers etc. This is NOT the A0 - A? jumpers which are address select lines. I always check the modules to determine if there are pull ups enabled and adjust my other resistances to get an appropriate value, sometimes even removing them.</p>
