Pages: [1]   Go Down
Author Topic: [solve]quel librairie pour lcd l2c  (Read 1740 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 15
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Bonjour,

je suis débutant et j'ai acheté un lcd 20x4 lignes avec une interface i2c sur ebay. (la version longue du nom c'est Serial IIC/I2C/TWI 2004 204 20X4 Character LCD Module Display For Arduino Blue)

J'essaye désespérément de le faire afficher hello word et rien a faire.
Sachant que le cablage est relativement simple avec une interface i2c et que je l'ai vérifié 3 fois je pense qu'il s'agit d'un problème de librairie
J'ai trouve une multitude de librairie avec des plus nom barbare les uns que les autre, je ne sais pas laquelle utiliser

quel librairie faut-il utiliser sur mon arduino ethernet ?

PS; je sais pas si ca peut jouer mais je suis sur linux ubuntu
PPS: j'ai bien vérifier le potentiomètre de contraste
« Last Edit: January 19, 2013, 09:24:05 am by fandz » Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

LiquidcrystalI2C devrait faire l'affaire
Pour le contraste, quand tu baisses la tension de commande (curseur du potar vers le GND, est-ce que l'ecran a tendance a se noircir ?
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5075
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

bonjour
meme avis que barbudor
regarde là, il semble que ce soit ton afficheur avec un peu de doc et code
http://www.sainsmart.com/sainsmart-iic-i2c-twi-serial-2004-20x4-lcd-module-shield-for-arduino-uno-mega-r3.html
Logged

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

quand je bouge le potar, il a bien tendance a se noircir (en blanc car les lettres sont blanches dans ce lcd), mais ce qui bizare c'est que 1ere et la 3eme ligne se fonci plus que la 2eme et la 4eme.

pour le lien quand je compile ce sketch

Code:
#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()
{
    lcd.init();
    lcd.backlight();
    lcd.setCursor(0, 0);
    lcd.print("b2cqshop");
    lcd.setCursor(0, 1);
    lcd.print("Voltage: ");
    lcd.setCursor(13, 1);
    lcd.print("V");
}
void loop()
{
    int val;
    float temp;
     val=analogRead(0);
    temp=val/4.092;
    val=(int)temp;//
    lcd.setCursor(9, 1);
    lcd.print(0x30+val/100,BYTE);
    lcd.print(0x30+(val%100)/10,BYTE);
    lcd.print('.');
    lcd.print(0x30+val%10,BYTE);
    delay(100);
}

j'ai ce message d'erreur a la compilation
Code:
In file included from test_lcd.cpp:2:0:
/usr/share/arduino/libraries/LiquidCrystal_I2C/LiquidCrystal_I2C.h:81:16: error: conflicting return type specified for ‘virtual void LiquidCrystal_I2C::write(uint8_t)’
/usr/share/arduino/hardware/arduino/cores/arduino/Print.h:48:20: error:   overriding ‘virtual size_t Print::write(uint8_t)’
test_lcd.cpp: In function ‘void loop()’:
test_lcd.cpp:28:28: error: ‘BYTE’ was not declared in this scope
Logged

Offline Offline
Faraday Member
**
Karma: 34
Posts: 5075
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset



j'ai ce message d'erreur a la compilation
Code:
In file included from test_lcd.cpp:2:0:
/usr/share/arduino/libraries/LiquidCrystal_I2C/LiquidCrystal_I2C.h:81:16: error: conflicting return type specified for ‘virtual void LiquidCrystal_I2C::write(uint8_t)’
/usr/share/arduino/hardware/arduino/cores/arduino/Print.h:48:20: error:   overriding ‘virtual size_t Print::write(uint8_t)’
test_lcd.cpp: In function ‘void loop()’:
test_lcd.cpp:28:28: error: ‘BYTE’ was not declared in this scope
probleme de version d'IDE/lib ?

Logged

France
Offline Offline
Faraday Member
**
Karma: 55
Posts: 5347
Arduino Hacker
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

probleme de version d'IDE/lib ?
Problème classique, à mon avis la lib est codé pour 0023 et l'ide est en version 1.0.x smiley-wink
Il suffit de remplacer lcd.print(xx, BYTE) par lcd.write(xx) est tout devrais revenir à la normal smiley-wink
Logged

Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

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

je confirme, l'ide est en 1.0.1

par contre, ca ne resout pas le probleme de changer en write
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

quel est le nouveau message d'erreur ?
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

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

ca donne ca
Code:
/usr/share/arduino/libraries/LiquidCrystal_I2C/LiquidCrystal_I2C.h:81:16: error: conflicting return type specified for ‘virtual void LiquidCrystal_I2C::write(uint8_t)’
/usr/share/arduino/hardware/arduino/cores/arduino/Print.h:48:20: error:   overriding ‘virtual size_t Print::write(uint8_t)’


le loop donne ca avec les modifs
Code:
void loop()
{
    int val;
    float temp;
     val=analogRead(0);
    temp=val/4.092;
    val=(int)temp;//
    lcd.setCursor(9, 1);
    lcd.write(0x30+val/100);
    lcd.write(0x30+(val%100)/10);
    lcd.print('.');
    lcd.write(0x30+val%10);
    delay(100);
}

par contre, ne faut-il pas une librairie adapté a ma version d'ide

j'ai pris celle donnée dans le lien de Artouste
« Last Edit: September 15, 2012, 08:36:54 am by fandz » Logged

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

personne n'a d'idée

est-ce possible que ce soit le LCD qui soit défectueusement?
Logged

Ile-de-France (92 sud), France
Offline Offline
Edison Member
*
Karma: 24
Posts: 2055
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Une erreur de compilation ne peut pas être liée au LCD.

La version que tu as récupéré doit être la V1 qui n'est pas pour le dernier IDE
En suivant le lien proprement depuis l'Arduino Playground tu tombe sur la page de l'auteur avec la dernière version qui passe sans problèmes.
Logged

Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

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

pour ceux que ca interesse et qui aurait le même problème que moi

j'ai utilisé la librairie de F Malpartifa qui est visiblement celle qui fonctionne avec le nouvel IDE pour la puce PCF8574T

par contre au préalable j'ai du utiliser un scanner d'adresse I2C que j'ai obtenu ici
dans mon cas, l'adresse est 0x3F


avec ce sketch et la bonne adresse ca a tout de suite fonctionné
Code:
/*
** Example Arduino sketch for SainSmart I2C LCD2004 adapter for HD44780 LCD screens
** Readily found on eBay or http://www.sainsmart.com/
** The LCD2004 module appears to be identical to one marketed by YwRobot
**
** Address pins 0,1 & 2 are all permenantly tied high so the address is fixed at 0x27
**
** Written for and tested with Arduino 1.0
** This example uses F Malpartida's NewLiquidCrystal library. Obtain from:
** https://bitbucket.org/fmalpartida/new-liquidcrystal
**
** Edward Comer
** LICENSE: GNU General Public License, version 3 (GPL-3.0)
*/
#include <Wire.h>
#include <LCD.h>
#include <LiquidCrystal_I2C.h>

#define I2C_ADDR    0x3F // Define I2C Address where the PCF8574A is
#define BACKLIGHT_PIN     3
#define En_pin  2
#define Rw_pin  1
#define Rs_pin  0
#define D4_pin  4
#define D5_pin  5
#define D6_pin  6
#define D7_pin  7

int n = 1;

LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);

void setup()
{
  lcd.begin (20,4);
 
// Switch on the backlight
  lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE);
  lcd.setBacklight(HIGH);
  lcd.home ();                   // go home

  lcd.print("SainSmart I2C test"); 
  lcd.setCursor ( 0, 1 );        // go to the next line
  lcd.print("F Malpartida library");
  lcd.setCursor ( 0, 2 );        // go to the next line
  lcd.print("Test By Edward Comer");
  lcd.setCursor ( 0, 3 );        // go to the next line
  lcd.print("Iteration No: ");
}

void loop()
{
  // Backlight on/off every 3 seconds
  lcd.setCursor (14,3);        // go col 14 of line 3
  lcd.print(n++,DEC);
  lcd.setBacklight(LOW);      // Backlight off
  delay(3000);
  lcd.setBacklight(HIGH);     // Backlight on
  delay(3000);
}
Logged

Pages: [1]   Go Up
Jump to: