probleme de sur lcd 16x4

bonjour a tous

je me suis lance dans un projet necessitant une carte arduino uno et un ecran lcd 16x4
le probleme c 'est que je pense avoir branche correctement mon ecran ( branchement identique a un 16x2 ??? merci de me confirme cela) et le code fonctionne apparemment d apres la personne a qui j ai repris le projet mais une fois branche et le code envoye sur ma carte rien ne s affiche, l ecran s 'eclaire bien mais j ai en fond ( si je bouge le contraste ) une ligne pleine ( case noire) une ligne vide.

pourriez vous m aider ? peut etre ai je fais un erreur de branchement ? ou le code n est peut etre pas correcte ?

je vous joint aussi une photo du shemas du montage

voici le debut du code ( je pense que c le pricipale)

#include <Tone.h>
#include <VirtualWire.h> // inclusion de la librairie VirtualWire
#include <LiquidCrystal.h>
#include <Keypad.h>
#include <Timer.h>

const int ledPin1 = A3;
const int ledPin2 = A4;
const int ledPin3 = A5;
const int portRx = 11;
int teamNumber = 0;
int t = 0;
const int nbEquipe = 6;
const int nbJoueurEquipe = 41;
const int sizeMsgEmetteur = 7;
unsigned int MatriceJoueur[nbEquipe][nbJoueurEquipe];
String idStation = "5T4T10N";
int EquipeEnCours = -1;
int captureTeam = -1;
const int nbEmetteurMax = 6;
int nbLecureParBoucle = 50;
unsigned int tabLecture[2][nbEmetteurMax];
boolean clignote;
const int Buzzer = 13;
Tone tone1;
Timer counter [nbEquipe];
int hours=0, minutes=0, seconds=0, captureMinutes=0, captureSeconds=0;
int captureTime = 30;
const int ErrorTolerate = 6;
const int ErrorTolerateKeyPad = 1;
const int TimeListenRadio = 20; //en ms

LiquidCrystal lcd(A0,A1,A2,12,10,9);

/* Caractères personnalisés */
byte r0[8] = {B00000, B00000, B00000, B00000, B00000, B00000, B00000, B00000}; // 0 / 5
byte r1[8] = {B10000, B10000, B10000, B10000, B10000, B10000, B10000, B10000}; // 1 / 5
byte r2[8] = {B11000, B11000, B11000, B11000, B11000, B11000, B11000, B11000}; // 2 / 5
byte r3[8] = {B11100, B11100, B11100, B11100, B11100, B11100, B11100, B11100}; // 3 / 5
byte r4[8] = {B11110, B11110, B11110, B11110, B11110, B11110, B11110, B11110}; // 4 / 5
byte r5[8] = {B11111, B11111, B11111, B11111, B11111, B11111, B11111, B11111}; // 5 / 5

LiquidCrystal lcd(A0,A1,A2,12,10,9);

où sont les déclarations de ces pins ? a0<a5 entrees analogiques, doivent etre pimode output pour utilisées en digital
lcd initialisé, ne reçoit aucune data/command

c'est quoi les stp1 representés sur le schema ? des mosfet ? dans ce cas ils ne sont pas cablés correctement

oui ca me semblai bien bizzard lcd(A0,ect...)

pour se qui est des declaration peuvent elle etre dans la library ? ( dsl si la question parrait stupide je debute et qui plus est je ne suis pas de formation electronique ou informatique)

je n est pas compris que signifie stpl ? pour les mofset meme si il ne sont pas cable correctemement ne sont pas mon importance pour l instant il n sevre juste qu a allule ou eteindre des led je ne pense pas qu il y ai des consequence sur l affichage sur le lcd, si ?

petit precision je n arrive meme pas a affiche d autre programme sur le lcd, du genre "hello word" contenu dans les exemple du logiciel arduino

voici un autre bout du code dont je ne suis pas sur

//On initialise l'afficheur lcd
lcd.begin(16, 4);
lcd.home();

Serial.begin(9600); // Initialisation du port série pour avoir un retour sur le serial monitor

pour voir le code au complet je vous met un lien

bonjour,
pour tester ton écran, tu vire tout et repars juste avec le lcd et la carte.
pour les pins, ca gène pas en principe, pas de pinMode a déclarer.
ca resemble plus à une erreur de connexion quelque part.

pour moi j ai reessayer avec un autre ecran, une autre carte des fois que j ai cramer l un ou l autre mais rien n y fait

est ce que cette ligne peut etre le probleme ?
Serial.begin(9600);

si je me rapelle bien se que j ai lu (il y a qque annee deja) le " 9600" peut etre modifier mais je ne suis pas retomber sur ce que cela impliquai de le modifier pourriez vous me rafraichir la memoire et du coup me confirmer si la ligne est bonne

pour se qui est de la connection vous me confirmer que les branchements d un lcd 162 est identique a celui d un 164 ? merci

16x4 ou 20x4 ???

j ai bien un 16x4

mets une résistance variable à la place de ta résistance.

peut tu m expliquer pourquoi juste pour que je ne me couche moi bete se soir lol merci

avec une variable, tu peux modifier sa valeur sans avoir a chercher des heures sur une "fixe" :wink:
un 100k devrait le faire

ok mais ca ne fait que varier le contraste ? ( je vient de faire un petit essai avec une resistance variable mais 100K)

j ai refait pas mal d essai aussi avec differente carte et lcd (dont un 16x2 shield lcd +bouton) que j avais mis sur un autre projet et en modifiant un peu les ligne de code j ai reussi a affiche le debut ( et meme rentrée qque chiffre a laide d un keypad ) mais a un moment l' ecran devient tous noir ( je pense que cela est du au fait que je n est pas connecter le restant du projet)
mais des que j essaye de reconnecter mon 16x4 retour au point de depart rien d afficher !!!
je n ai pas changer le code entre tps bien sure et ai connecter corectemement l ecran du moin je pense pas moyen de trouver le branchement d un 16x4 ou meme le datasheet !!

petit truc qui n as peut etre aucune importance mon lcd 16x2 est en fond bleu et le lcd 16x4 est en fond vert

resume de fin de soiree avec cette ligne de code
lcd(8, 9, 4, 5, 6, 7);

j ai branche mon lcd de la sorte

RS = 8
E = 9
DB4 = 4
DB5 = 5
DB6 = 6
DB7 = 7

vss = masse
vdd = +5v
v0 = resistance variable = masse
ledA(pin 15 du lcd) = 5v
ledK(pin 16 du lcd)= masse

le branchement est il ok ?

la suite demain
merci pour ces quelques infos

trouve une autre lib, et change peut être d'ide.

j ai donc essayer de trouver une autre lib mais se fut une catastrophe lol
pour l ide j a mis a jour arduino ( je ne sais pas quel autre je peut utiliser)

mais apres (encore) de nombreux essais j ai reussi a bien avancer !!!
j ai "isoler" l ecran que j avais sur mon shield lcd + bouton et je l ai connecter en gardant le code d origine
et ca fontionne !!!!

j en suis donc arrive a la conclusion qu il me fallait de nouveau ecran lcd et que j ai ete pour commander je me suis apercu que se que j aais commander ( les 16x4) se n etais pas marquer "pour arduino" est ce que ca pourrai etre la cause de mon probleme ????

du coup deux ecran lcd en 16x4 et deux en 16x2 sont encommande je reprendrai la construction du projet a reception
je vais continuer mes essais car j ai maintenant un petit soucis de clavier ( mais rien de grave faut juste retrouver la logique de branchment lol)

par contre j aimerais bien savoir pourquoi mes ecran que j ai actuellement n on pas fonctionnés ??? vous auriez une idee ?