Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1503 connectés 

  FORUM HardWare.fr
  Overclocking, Cooling & Modding

  A propos des petits écran lcd

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

A propos des petits écran lcd

n°1497751
Paracyber_​_
Posté le 20-11-2006 à 00:49:10  profilanswer
 

Bonjour, j'ai acheté récement un petit module lcd 4*20 caractères. Ce derniere ne semble pas marcher.
J'ai branché les 2 pins d'alimentations (5v, masse) et également la Vll pour régler le contraste. J'ai également branché les backlights,
les 3 pins RS, RW et Enable, et fait un branchements en 4 bits (je crois que ca s'appele comme ça) pour les pins DB4, DB5, DB6 et DB7 du module.
Voici le schéma utilisé :
http://paracyber.org/other/shema.PNG
A l'allumache, l'éclairage marche, et la selection du contraste via le potar également, mais après rien de plus :
*) d'une part, j'ai seulement une ligne sur 2 qui réagit au contraste : je m'explique, si je met le contraste au maximum j'aurai :  
####################
 
####################
 
Les différents pixels des lignes 2 et 4 n'interagissent pas on dirait. Est ce normal au démarrage ?
 
*) Seconde chose, quoique je fasse, je n'arrive à avoir aucun affichage sur le lcd. Je précise que j'utilise lcd4linux avec une config de ce genre concernant le display :
 
Display HD44780-gpio {
    Driver 'HD44780'
    Model 'generic'
    Port '/dev/gpio0'
    Device '70'
    Size '20x4'
    Bits '4'
    #asc255bug 0
    Icons 1
    Wire {
        RW      'DB5'
        RS      'DB4'
        ENABLE  'DB6'
        GPO     'GND'
    }
}
 
La connexion se fait par des ports GPIO, qui semblent marché, car l'état des pins gpio changent bien, mais rien sur le module :(
Voilà les logs de lcd4linux :
plugin_cfg.c: Variable minute = '60000' (60000)
plugin_cfg.c: Variable tack = '100' (100)
plugin_cfg.c: Variable tick = '500' (500)
lcd4linux.c: initializing driver HD44780
HD44780: using model 'generic'
HD44780: using parallel port
HD44780: using 1 Controller(s)
HD44780: using 4 bit mode
udelay: CPU supports Time Stamp Counter
udelay: CPU runs at 266.655000 MHz
udelay: using TSC delay loop, 267 ticks per microsecond
HD44780: using ppdev /dev/gpio0
HD44780: wiring: [DISPLAY:RS]<==>[PARPORT:DB4 (Pin 6)]
HD44780: wiring: [DISPLAY:RW]<==>[PARPORT:DB5 (Pin 7)]
HD44780: wiring: [DISPLAY:ENABLE]<==>[PARPORT:DB6 (Pin 8)]
HD44780: wiring: [DISPLAY:ENABLE2]<==>[PARPORT:GND]
HD44780: wiring: [DISPLAY:ENABLE3]<==>[PARPORT:GND]
HD44780: wiring: [DISPLAY:ENABLE4]<==>[PARPORT:GND]
HD44780: wiring: [DISPLAY:BACKLIGHT]<==>[PARPORT:GND]
HD44780: wiring: [DISPLAY:GPO]<==>[PARPORT:GND]
HD44780: not using busy-flag checking
HD44780: reserving 1 of 8 user-defined characters for icons
initializing layout 'Test'
lcd4linux.c: starting main loop
 
 
Je précise que je suis une quiche en elec, donc même si je pense que le branchement est bon, je suis déjà surpris qu'une seule ligne sur 2 soit contrasté. Si quelqu'un a une quelconque expérience à propos de ce genre de module, je veux bien. Voici la datasheet du module :
http://www.lextronic.fr/ODT/20x4/20416B.zip
 
Merci à tous pour votre aide

mood
Publicité
Posté le 20-11-2006 à 00:49:10  profilanswer
 

n°1497754
Paracyber_​_
Posté le 20-11-2006 à 01:16:13  profilanswer
 

En fait, pour etre sur que c'est pas mes branchements qui merdent (ou que j'ai pas grillé de je ne sais quel facon l'écran, ou 2 lignes ...)
je voudrais faire un test tout simple. Etant donné que je peux controller chacune des pins d'entrée, j'aimerai qu'on me donne  les instructions en binaire pour afficher un simpole caractère en haut à gauche.
Par exemple pour afficher la lettre 1 en premier ligne, premiere position, sachant que toute les pins d'entrée sont en position 0, quelles sont les instructions exaxctes ? (je sais que c'est noté dans le paragraphe 11, instructions set, du pdf noté plus haut, mais bon, ca ne m'aide pas trop vu que je suis en 4 bits ... )


Message édité par Paracyber__ le 20-11-2006 à 01:18:34
n°1497888
madix
Mangeur de Chiantos
Posté le 20-11-2006 à 15:42:12  profilanswer
 

hello,
sur ce genre d'afficheurs, lorsque tu a la moitié qui est noire quand il est sous tension mais sans données, ca veut dire que tu l'as correctement alimenté et qu'il n'est pas grillé. :)
 
tu peux essayer de le brancher sous windows avec winamplcd qui peut marcher en 4bits.
 
mais sous linux...


---------------
Why not ?
n°1497972
Paracyber_​_
Posté le 20-11-2006 à 19:03:42  profilanswer
 

Merci d'abord pour ta réponse.
C'est donc un probleme de configuration semble t il ... (j'ai revérifié plusieurs fois mes branchements)
Malheuresement je ne peux pas le faire tourner sous windows, le matériel que j'utilise ne le supporte pas, et les branchements physique ne sont pas standards (c'est pas mis sur un port série ou //) mais raccordé à des pins spécifiques du matériel.
Est ce que quelqu'un a un lien qui décrirai précicément les données à envoyer en 4bits, de l'initialisation (séquence des bits à activer/désactiver) suivi d'un essai d'envoi d'une lettre sur le module?
Merci pour toutes les aides et liens que vous pourriez m'indiquer.

n°1497986
ITM
Avatar peint à la main
Posté le 20-11-2006 à 19:21:46  profilanswer
 

Le controleur de ton écran est un Hitachi HD44780. Il est hyper connu.
En effet y'a une séquence à respecter pour l'initialiser, va voir le datasheet du controleur :  http://www.sparkfun.com/datasheets/LCD/HD44780.pdf(mais t'aurais plus vite fait de trouver un prog tout fait pour l'interfacer ;))


---------------
iteme.free.fr | Mon feedback
n°1498200
Paracyber_​_
Posté le 21-11-2006 à 13:13:30  profilanswer
 

ITM -> Oui je sais merci. Dans mon premier post, c'est bien le driver que j'utilise. Cependant, j'ai aucun affichage. Je pense que mes branchements physique sont bons, il doit donc y avoir un probleme de configuration avec le prog que j'utilise, mais je vois pas.
C'est bien pour cela que je demande la sequence exact en mode 4 bits, et n'étant pas electronicien à la base j'ai un peu de mal.
DAns le pdf que tu me donnes, ca se trouve à la page 42 semble t il.
J'ai essayé cette sequence, et je n'ai tjs rien. Mais surement que je fais mal le machin aussi :
A la base, j'ai mis toute les pins à 0.  
Puis j'ai poursuivi avec la step 2 : 000010
Apres la step 3, je comprends pas, que signifie les 2 *, que faut il mettre ?

n°1498958
Paracyber_​_
Posté le 23-11-2006 à 11:09:49  profilanswer
 

up

n°1509006
Oncle Arch​ibald
Posté le 24-12-2006 à 11:27:13  profilanswer
 

Paracyber__ a écrit :

.../...
A la base, j'ai mis toute les pins à 0.  
Puis j'ai poursuivi avec la step 2 : 000010
Apres la step 3, je comprends pas, que signifie les 2 *, que faut il mettre ?

Salut,
Comme cela est spécifié sur la page 42, tu dois d’abord positionner ton affichage en mode 4 bits :  
step 2=>RS=0 R/W=0 DB7=0 DB6 =0 DB5 =1 DB4=0 (si tu mets tous les bits à 0, tu n’es plus en "Function Set" ).
Ensuite :
Step 3=>RS=0 R/W=0 DB7=0 DB6 =0 DB5 =1 DB4=0 puis pour la séquence des bits de poids faible
Step 3 bis=> RS=0 R/W=0 DB3=0 DB2 =0 DB1 =* DB0=* (les astérisques signifiants que les bits concernés seront indifféremment 0 ou 1)
Voir la table 6 page 24 et 25 pour la position, la signification et l’état des instructions.
Décodage :
Step 2 pour forcer le positionnement en mode 4 bits:
RS=0 => sélection des registres d’instruction.
R/W=0 =>Ecriture.
DB5=1 =>instruction "Function Set".
DB4=0 =>DL (data length) = mode 4 bits.
Step 3 pour les bits de poids fort (obligatoire même si cette séquence est identique à la précedente) :
RS=0 => sélection des registres d’instruction.
R/W=0 =>Ecriture dans les registres.
DB5=1 => instruction "Function Set".
DB4=0 =>DL (data length) = mode 4 bits.
Step 3 bis pour les bits de poids faible :
RS=0 => sélection des registres d’instruction.
R/W=0 =>Ecriture.
DB3=0 =>N (Nombre de lignes affichées) = 1 ligne. Si tu mets ce bit à 1 l’affichage se fera sur 2 lignes.
DB2=0 =>F (affichage de la matrice de points ou Fonte de caractères) = 5X8 points.
Si tu as compris la procédure, tu dois pouvoir expliquer pour le "step 4" pourquoi DB3(contrôle d’affichage) est à 1, DB2(Display) est à 1, DB1(Cursor) est à 1 et DB0 (Blinking) est à 0 ? Et ainsi de suite pour les autres steps.
Ce qui est dommage, c’est de ne pas utiliser le BF (Busy Flag=drapeau d’attente) pour synchroniser le transfert des données !


---------------
« Quand un doigt montre le ciel, l'étourdi regarde le doigt ... »
n°1509261
lepirlouit
essayer linux, c'est l'adopter
Posté le 25-12-2006 à 01:15:35  profilanswer
 

et pour un lcd graphique ?

n°1510241
Oncle Arch​ibald
Posté le 27-12-2006 à 23:49:44  profilanswer
 

lepirlouit a écrit :

et pour un lcd graphique ?

Si c’est un "GDM12864A LCM" ou équivalent (128x64 points MC à RE vert) , tu peux trouver ici son datasheet.


---------------
« Quand un doigt montre le ciel, l'étourdi regarde le doigt ... »

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Overclocking, Cooling & Modding

  A propos des petits écran lcd

 

Sujets relatifs
adaptateur écran de portable vers VGA ou DVI[MOD] Woodpc 2, pc en bois, tft integré, watercooled, news p3
Mini Ecranbruit de l'écran
[résolu] Flash x800GTO² avec un mauvais bios, ecran noir !!!aider moi j arrive pas a trouver pilote ecran
besoin d aide ecran noirplantage lecture video ecran noir
probléme écran crt lors d 'overclokingvcore instable bug ecran alim raptor
Plus de sujets relatifs à : A propos des petits écran lcd


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR