Pages: [1] 2   Go Down
Author Topic: Arduino Uno en LCD 16x2 I2C met backlight  (Read 4563 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hoi,

Als newbie op het gebied van Arduino ben ik aan het experimenteren met een LCD Display (details zie op onderstaande links).

https://iprototype.nl/products/components/led-lcd/lcd16x2-I2C-BL

Zoals aangegeven op deze link heb ik de LCD aangesloten op analoog 4 en 5.

Helaas krijg ik enkel witte blokjes op het scherm en niet de gehoopte "Hello World".

Weet iemand raad?


Heb al adres 20 en 27 geprobeerd maar zonder resultaat.

greetz,

Bart

Hieronder mijn code:


//DFRobot.com
//Compatible with the Arduino IDE 1.0
//Library version:1.1
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,16,2);  // set the LCD address to 0x27 for a 16 chars and 2 line display

void setup()
{
  Serial.begin(9600);
  lcd.init();                      // initialize the lcd

  // Print a message to the LCD.
  lcd.backlight();
  lcd.println("Hello, world!");
  Serial.println("Hello World!");
}

void loop()
{
}
Logged

Netherlands
Offline Offline
Jr. Member
**
Karma: 0
Posts: 68
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Je moet even 2 pull-up weerstanden tussen je vcc zetten en je sda en scl. Standaard zijn de anologe pinnen "low" echter moeten deze "high" zijn anders komt de data niet door.





Ikzelf gebruik weerstanden van 4,5 K ohm, maar alles tussen de 1800 ohm tot 10k ohm zou moeten werken.
2e plaatje staat 3,3v (zal ook wel werken), ik hang hem altijd aan de +5v vcc.
« Last Edit: January 19, 2013, 07:26:09 am by Stealth0113 » Logged

Watch my stealth-bot @ let's make robots

NL
Offline Offline
Newbie
*
Karma: 0
Posts: 37
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Contrast potmeter goed ingesteld?
Logged

Netherlands
Offline Offline
Jr. Member
**
Karma: 0
Posts: 68
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Contrast pot heeft hier niks mee te maken als je de witte blokjes op je scherm ziet verschijnen. Al zet je hem helemaal open of dicht je ziet altijd wel tekst alleen iets minder duidelijk.
Logged

Watch my stealth-bot @ let's make robots

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ik vermoed dat je met pull weerstanden gewone weerstanden bedoeld?

heb nl net verschillende opstellingen geprobeerd met onderstaande maar zonder positief resultaat

https://iprototype.nl/products/components/resistors/3K3

Bart
Logged

Netherlands
Offline Offline
Jr. Member
**
Karma: 0
Posts: 68
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Kan je even een foto posten hoe je het nu hebt aangesloten?

Ow en na je upload even een keer je reset knop van je arduino indrukken!
Logged

Watch my stealth-bot @ let's make robots

Netherlands
Offline Offline
Jr. Member
**
Karma: 0
Posts: 68
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ik heb even een tekening gemaakt in fritzing dat ziet er iets makkelijker uit dan een schema. Helaas had ik even geen IIC LCD in Fritzing zitten dus moest het even los tekenen maar je snapt het idee. Zorgen wel dat je je SDA en SCL goed hebt zitten.


Edit: zie nu net dat ik niet heb gekeken naar de waardes van de weerstanden in de tekening maar alles boven de 2k ohm werkt!



* i2c LCD.jpg (732.04 KB, 1767x1227 - viewed 158 times.)
Logged

Watch my stealth-bot @ let's make robots

NL
Offline Offline
Newbie
*
Karma: 0
Posts: 37
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Contrast pot heeft hier niks mee te maken als je de witte blokjes op je scherm ziet verschijnen. Al zet je hem helemaal open of dicht je ziet altijd wel tekst alleen iets minder duidelijk.
Dat is niet mijn ervaring (met meerdere displays getest). Hangt er waarschijnlijk vanaf wat voor type LCD je hebt.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

probeer eens:

 lcd.setCursor(0,0);          // de positie waar hij moet beginnen met de tekst
 lcd.print("Hello, world!");
« Last Edit: January 19, 2013, 09:55:50 am by MikeTB » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Of eens kijken of het adres juist is, met de volgende code kan je dit vinden.

Code:
// --------------------------------------
// i2c_scanner
//
// This program (or code that looks like it)
// can be found in many places.
// For example on the Arduino.cc forum.
// The original author is not know.
//
// This sketch tests the standard 7-bit addresses
// from 0 to 127. Devices with higher bit address
// might not be seen properly.
//
// Adapted to be as simple as possible by Arduino.cc user Krodal
//
// June 2012
// Using Arduino 1.0.1
//

#include <Wire.h>


void setup()
{
  Wire.begin();

  Serial.begin(9600);
  Serial.println("\nI2C Scanner");
}


void loop()
{
  byte error, address;
  int nDevices;

  Serial.println("Scanning...");

  nDevices = 0;
  for(address = 0; address <= 127; address++ )
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();

    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println(" !");

      nDevices++;
    }
    else if (error==4)
    {
      Serial.print("Unknow error at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.println(address,HEX);
    }   
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");

  delay(8000);           // wait 8 seconds for next scan
  }
Logged

Netherlands
Offline Offline
Jr. Member
**
Karma: 0
Posts: 68
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Dat is inderdaad een prima sketch, krijg je een error terug weet je zeker dat je pull-up niet goed zit. Krijg je wel wat terug en heb je het juiste adres dan moeten we het probleem ergens anders zoeken...
Logged

Watch my stealth-bot @ let's make robots

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

net alles aangesloten zoals voorgesteld en de de sketch geupload maar krijg steeds de melding No I2C devices found...

wat nu?

Bart
Logged

Netherlands
Offline Offline
Jr. Member
**
Karma: 0
Posts: 68
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Dan moet het toch ergens in de aansluiting zitten... Kan je een foto maken van je opstelling?
Logged

Watch my stealth-bot @ let's make robots

Netherlands
Offline Offline
Jr. Member
**
Karma: 0
Posts: 68
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Welke arduino heb je?  Een Uno rev3 toevallig, want dan zit je SDA en SCL niet op 4 en 5 maar boven je digitale-i/o's
« Last Edit: January 20, 2013, 05:32:28 am by Stealth0113 » Logged

Watch my stealth-bot @ let's make robots

Offline Offline
Newbie
*
Karma: 0
Posts: 7
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

het is inderdaad een uno rev 3 en had reeds geprobeerd om ze op de SDA en SCL rechtstreeks aan te sluiten.

maar nu krijg ik wel onderstaande bij het uitvoeren van de sketch

I2C device found at address 0x20 !
I2C device found at address 0x7C !

Probleem is nog steeds dat mijn tekst er niet op komt.

Bart
Logged

Pages: [1] 2   Go Up
Jump to: