Carte 2560 et lcd1602a

Bonjour
voici mon probleme; j'ai fis une maquette pour apprnedre l'utilistation de l'ecran lcd 1604A.
j'ai raccordé l'ensemble en mode 4bit.
jai fait un programme d'essais pour afficher une ligne (youpi)
Mais tout s'allume mais pas de texte qui s'affiche.
voici le programme.
a noter que l'entree VO est raccordée sur un pont diviseur (2 resistances de 10K car pas de potar de dispo)

Merci de vorte aide.
slt GAEL

#include <LiquidCrystal.h>

char data;
int a=0;
const int rs = 2, enable = 3, d4 = 7, d5 = 6, d6 = 5, d7 = 4;
//LiquidCrystal(rs, rw, enable, d4, d5, d6, d7)
LiquidCrystal lcd(rs, enable, d4, d5, d6, d7);

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
lcd.begin (16,1);
lcd.print("coucou");
Serial.print("cc");
}

:warning:
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans Les bonnes pratiques du Forum Francophone

Alors attention je suis vraiment débutant mais il me semble que tu lance l'affichage en dehors de ton lcd
lcd.begin (16,1);
A remplacer par cela pour essayer
lcd.begin (0,0);

Car tu es limité à 16 caractères et donc de 0 à 15
Et 2 lignes de 0 à 1

Le 0 compte.

sory

bonjour
merci pour ton retour.
j'avais pris un exemple d'ou la valeur 16,1
j'ai fais l'essais mais pas mieux.
je pense avoir cablé correctement:

ECRAN / CARTE 2560
VSS / ground
VDD / +5v
V0 entre 2resistances de 10K mise en series et raccordées entre le 5v et le Ground (pont diviseur)
RS / D2
RW / ground
E / D3
D4 / D7
D5 / D6
D6 / D5
D7 / D4
A en serie avec resistance 220ohm et le 5v
K / ground

qu'en penses tu?
merci

Bonjour,

Sur V0 il faut mettre un potentiomètre et régler le contraste pour que les caractères apparaissent.
Ton LCD c'est une 1602 ou 1604 (tu dis 1602a dans le titre et 1604a dans le coprs du message).

Bonjour
merci pour ton retour,
le V0 est a 2,5V.
je n'est pas de potard de 10K
jai donc fais comme ceci: avec 2 resistances (R1 et R2) de 10K
+5V --R1--V0--R2-- Ground
Effectivement c'est bien un écran 1602A
qu'en penses-tu ?
merci

Je viens de refaire l'essais avec 2 resistances de 5K1
mais pas mieux....

Bonjour

Tu confond avec lcd.setCursor(0, 0);

@rancgael
Ce n'est pas lcd.begin (16,1); mais lcd.begin (16,2);, pour nombre colonnes, lignes.
Fais l'exemple HelloWorld.ino pour appréhender ce type d'affichage.

Cordialement
jpbbricole

bon
j'ai remis 16,2 mais toujours rien
???

Bonsoir rancgael

As-tu essayé l'exemple HelloWorld.ino de la bibliothèque?

Cordialement
jpbbricole

helloword est pour afficher sur le port serie pas sur l'ecran?!

Oh que oui :wink:
Voilà ce que j'ai comme exemple:

/*
  LiquidCrystal Library - Hello World

 Demonstrates the use a 16x2 LCD display.  The LiquidCrystal
 library works with all LCD displays that are compatible with the
 Hitachi HD44780 driver. There are many of them out there, and you
 can usually tell them by the 16-pin interface.

 This sketch prints "Hello World!" to the LCD
 and shows the time.

  The circuit:
 * LCD RS pin to digital pin 12
 * LCD Enable pin to digital pin 11
 * LCD D4 pin to digital pin 5
 * LCD D5 pin to digital pin 4
 * LCD D6 pin to digital pin 3
 * LCD D7 pin to digital pin 2
 * LCD R/W pin to ground
 * LCD VSS pin to ground
 * LCD VCC pin to 5V
 * 10K resistor:
 * ends to +5V and ground
 * wiper to LCD VO pin (pin 3)

 Library originally added 18 Apr 2008
 by David A. Mellis
 library modified 5 Jul 2009
 by Limor Fried (http://www.ladyada.net)
 example added 9 Jul 2009
 by Tom Igoe
 modified 22 Nov 2010
 by Tom Igoe
 modified 7 Nov 2016
 by Arturo Guadalupi

 This example code is in the public domain.

 http://www.arduino.cc/en/Tutorial/LiquidCrystalHelloWorld

*/

// include the library code:
#include <LiquidCrystal.h>

// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // 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);
}

De la bibliothèque LiquidCrystal.h.

Cordialement
jpbbricole

merci,
oui j'ai suivis cet exemple.
c'est super simple et pourtant....
aurais tu la valeur de la resistance qui donne un bon affichage comme je n'ai pas de potentiometre?
sachant que je suis avec mes deux resistances, de meme valeur, au milieu donc idem un ptar de 10K reglé a mi course...

Bonsoir rancgael

Malheureusement pas, je n'ai jamais eu ce problème, je n'utilises que des LCD sur bus i2C avec cet interface:
image

C'est nettement plus simple d'emploi,

Cordialement
jpbbricole

ok
en tout cas merci d'avoir repondu !
bonne fin de journée a toi

bonne nouvelle!
j'ai mis directement le V0 au ground et la jai l'affichage.
on est donc pas du tout au milieu d'un potar mest au tout debut de l'echelle....
désolé pour tout ce dérangement ...
slt GAEL

Je viens de vérifier, chez moi le contraste optimal est à 1.6V
Ca dépend peut être de l'afficheur et de la tension d'alimentation.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.