Go Down

Topic: LCD 16x4 (Read 1 time) previous topic - next topic

hbachetti

Il y a un sens caché ?
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

jeremie01

Comme le signale J-M-L effectivement sur l'écran il y a bien 20 blocs par ligne.
Mais sur ma facture il est bien  indiqué 16X4.

Je suppose qu'il faut utiliser cette fiche technique
http://www.farnell.com/datasheets/2175734.pdf?_ga=2.85332177.911559691.1541411874-2081397699.1540806674

Il est vrai que ce n'est pas le plus simple pour débuter :)

elektrax

je me demande où tu as a trouvé LiquidCrystal lcd(2, 3, 4, 5, 11, 12);

l'exemple :

#include <Wire.h>
#include <LiquidCrystal.h>


LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

"j'ai suivi scrupuleusement la connectique." ne correspond pas à ton sketch

LiquidCrystal lcd(2, 3, 4, 5, 11, 12);


tant que tu n'expliqueras pas les liaisons que tu as réalisés entre la mega et le lcd  :

d12 >>> pin lcd ?
d11 >>>
d5  >>>
etc....

jeremie01

Voici mon code actuel
Code: [Select]
#include <LiquidCrystal.h>

LiquidCrystal lcd (12,11,5,4,3,2);

void setup()
{
  lcd.begin(20, 4);   
  lcd.clear();

}

void loop()
{
                     
  lcd.setCursor(0,0);
  lcd.print("TEST");
 

}


Pour le câblage
Vss-->Masse
Vdd-->5V
V0-->Potentiomètre (broche du milieu)
Rs-->pin12
R/W-->Masse
E-->pin11
DB4-->pin5
DB5-->pin4
DB6-->pin3
DB7-->pin2
Led+-->5V
Led- -->Masse

Vous allez peut-être mieux identifier l'erreur avec ces informations effectivement

lesept

Il y a un sens caché ?
Juste que j'ai laissé tomber ces écrans qui posent trop de problèmes à mon gout : un OLED ou un TFT, c'est plus facile à mettre en oeuvre, il y a des bibliothèques très bien faites, et le résultat est plus esthétique. Donc, j'ai délaissé le 16x4 pour la 1664. (hips  :smiley-confuse: )
A force d'essayer on finit par réussir... Donc, plus ça rate, plus on a de chances que ça marche (proverbe Sharduinok).

hbachetti

Ah OK. Je ne voyais pas la photo avant. Je comprends mieux.

Sauf que la 16... bof.



@+

Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

jeremie01

Il y a mieux que la 16 on est d'accord  :)

jeremie01

Voici mon code actuel
Code: [Select]
#include <LiquidCrystal.h>

LiquidCrystal lcd (12,11,5,4,3,2);

void setup()
{
  lcd.begin(20, 4);   
  lcd.clear();

}

void loop()
{
                     
  lcd.setCursor(0,0);
  lcd.print("TEST");
 

}


Pour le câblage
Vss-->Masse
Vdd-->5V
V0-->Potentiomètre (broche du milieu)
Rs-->pin12
R/W-->Masse
E-->pin11
DB4-->pin5
DB5-->pin4
DB6-->pin3
DB7-->pin2
Led+-->5V
Led- -->Masse

Vous allez peut-être mieux identifier l'erreur avec ces informations effectivement

hbachetti

Rien que de très classique.
En tous cas conforme à ceci : http://www.circuitstoday.com/interfacing-lcd-to-arduino

Rien d'anormal pour moi.
D'après les commentaires trouvés sur le WEB, le SPLC780D semblerait être un clone du HD44780.

@+
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

jeremie01

Ok merci bien pour vos réponses.
je vais bien réussir à le faire fonctionner, à moins que se soit un problème matériel (mais j'étais plus parti sur une erreur de ma part)

J-M-L

#25
Nov 09, 2018, 01:38 pm Last Edit: Nov 09, 2018, 01:40 pm by J-M-L
ça sent le problème matériel...

avez vous bougé / changé des fils sur votre breadboard ? testé la continuité  (attention sur la photo on voit que le rail + et - de votre breadboard est interrompu en son milieu, donc ne pas brancher des fils GND à droite en espérant que vous êtes relié au GND par exemple - sur la photo ce n'est pas le cas, mais juste au cas où....)
Hello - Please do not PM me for help,  others will benefit as well if you post your question publicly on the forums.
Bonjour Pas de messages privés SVP, postez dans le forum directement pour que ça profite à tous

jeremie01

Ok. En tous cas merci pour votre aide. J'ai commandé un nouvel écran on verra bien!
 

elektrax

si les lignes 1 et 3 affichent des "carrés", initialisation ok
le splc780 a besoin d'un delay apres le lcd.begin, selon quelques posts forums anglais
ajouter un delay(200); apres le lcd.begin


Go Up