Lcd 1602 i2c

JRTEC

Senior Member
Bonjour

j ai besoin de vos mumiere pour l utilisation de ces afficheurs LCD 1602 I2C

J ai bien consulte cette page : http://electromag1.wifeo.com/lcd-i2c-expandeur-pcf8574.php

ainsi que celle ci : http://www.picaxeforum.co.uk/showthread.php?29819-Convertisseur-pour-%E9cran-LCD&highlight=lcd+1602

Mais je reste sur ma faim

Premiere chose : lors de l utilisation de ces afficheur on relie les ports SDA et SCL au picaxe , quelles doivent avoir comme apptitudes ceux ci ?

j auri pu repondre seul a cette question mais je ne trouve pas de plan ou le montage est clair et ou dans le programme j arrive a identifier les ports utilises

Certains pensent que ces afficheurs sont depasser mais j en ai en stock et je veux les utiliser

par avance merci
 

MGU

Senior Member
Bonjour,

Chaque picaxe a deux broches dédiées pour l'I2C. Voir doc manuel 1 page 10.

Ex pour 20M2 sla : B.5 et scl : B.7
Pour le 08M2, c'est C.1 et C.2
etc...

MM
 

westaust55

Moderator
Avez-vous des résistances de sortie 4700 Ohm des fils de signal sla et slc à Vcc (5 Vcc)?


Est-ce que la carte i2c inferface est exactement la même que celle affichée dans l'image à la page Web vers laquelle vous vous connectez:
http://electromag1.wifeo.com/lcd-i2c...ur-pcf8574.php

Malheureusement avec la même puce d'interface, différentes cartes utilisent les 8 signaux de sortie différemment, donc vous devez connaître précisément le circuit avant que d'autres puissent vous aider
 

JRTEC

Senior Member
bonjour et merci de votre reponse

le lien ne marche pas

comment connaitre le circuit d un ecran lcd que j ai acheter il y a de cela peut etre 1 an ?

Donc si je comprends ces interface c est la galere

J en ai 2 et effectivement c est pas pile poil les meme que celle en photo

Mais je n arrive pas identifier clairement les LCD 1602 en mode serie sur ebay
 

Attachments

Last edited:

PieM

Senior Member
J en ai 2 et effectivement c est pas pile poil les meme que celle en photo

Mais je n arrive pas identifier clairement les LCD 1602 en mode serie sur ebay
Donne des photos des afficheurs que tu as.
sur cette photo c'est une commande en I2C. De plus si c'est bien avec un expandeur PCF8574T, ce dernier n'a pas ses connections classiques avec le module LCD et nécessite un bibliothèque spécifique sur Arduino!

C'est très bien d'acheter des trucs pas chers sur Ebay à condition de savoir ce qu'on achète...
 
Last edited:

JRTEC

Senior Member
j ai des afficheurs standarts comme ceux de droites etdes I2c comme ceux de gauche ,

comme c est pour utiliser avec le module gps NEO6 et un picaxe 20m2 je voulais toutes les pattes que 20m2 que je pouvais donc je voudrais employer les I2c

ci joint la photo des afficheurs

en pdf mon ebauche de plan IMG_20170430_190927.jpgView attachment GPS lcd 1602 i2c.pdf

Par contre je ne retrouve plus la fonction que vous utilisez pour faire apparaitre le programme en rderoulant dans le forum
 

JRTEC

Senior Member
Merci pour l astuce du code

ceci es une ebauche je dois encore le paufiner

Code:
;**********************
;***** GPS NEO6M  *****
; Afficheur I2C 1602
; jrtec 28/04/17
;**********************
#Picaxe 20M2

dirsC =%0000000010
dirsB =%0000000111

symbol baud_in = T4800_8     'com GPS
symbol baud_aff = N2400_8  'com afficheur
symbol UART_in = C.1       'liaison lecture GPS
symbol UART_out = B.4      'liaison ecriture GPS via 5V > 3V
symbol rsbit=bit0
symbol cpt=b1
symbol car=b2
symbol dat=b3

setfreq m8
setint %0000000000,%0000000010    'interruption sur C.1 

'===================================================================
'serout UART_out, baud_out, ("$PUBX,41,1,0007,0003,4800,0*13",CR,LF)
'serout UART_out, baud_out, ("$PUBX,41,1,0007,0003,9600,0*10",CR,LF)

;    SCL sur B.7
;    SDA sur B.5




    pullup %0110    ;activation des R pullup sur C.1 et C.2 pour I2C            
; Initialisation I2C 4 bits , etc ********
    hi2csetup i2cmaster,%01001110, i2cslow_32, i2cbyte        
; Initialisation LCD *********
    for cpt=0 to 5
        lookup cpt,($33,$32,$28,$c,$6,$01),car
        gosub EnvoiByteCommInit
    next
    pause 100    ;temps init du LCD



main:

do
   if bit0 = 1 then gosub traitement ' si trame recue en interruption
loop

'---------------------------------------------------------------------
traitement:
   gosub debug_aff 'option
   bptr= 17
   
if @bptr = "A" then 'si signal correct  
      
   bptr= 44 'debut de trame vitesse 
   if @bptr <> "," then 
      'bptr= 44
      w0 = @bptrinc - 48 * 100
      w0 = @bptrinc - 48 * 10 + w0
      w0 = @bptrinc - 48 + w0 * 1852 'calcul des noeuds en m/h
      peek 48, w1
      w1= w1 - 48 * 185 'calcul des 1/10 noeuds en m/h
      w0= w1+w0
      sertxd(" Vitesse en m/h: ",#w0   , cr, lf)
   else
      sertxd(" Vitesse nulle" , cr, lf)

   endif
else
   sertxd(" pas de signal correct!" ,cr,lf)
endif
   setint 0000000000,%0000000010 'rearmement interruption
return
'----------------------------------------------------------------------
debug_aff:
   bptr= 10 ' debut de trame RMC
    sertxd(@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,cr,lf )
return

interrupt:
   bptr= 10
  serin UART_in, baud_in, ( "RMC," ),@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc,@bptrinc
bit0 = 1
return



;  Affichage texte ***********************            
    car= 132    'curseur début ligne1
    gosub EnvoiByteComm    
    for cpt=0 to 6
    lookup cpt,("Bonjour"),car
    GOSUB EnvoiByteData    
    next    
    car= 192    'curseur  ligne2
    gosub EnvoiByteComm    
    for cpt=0 to 7
    lookup cpt,("V          m/h"),car
    GOSUB EnvoiByteData    
    next    
           
    
    
    
    ; Affichage variable actualisée **********
    do
        car= 194    'curseur  ligne 2
        gosub EnvoiByteComm        
          
        bintoascii w0,b6,b6,b6,b5,b4    ;on a besoin que de 3 chiffres
        for cpt=0 to 3
            lookup cpt,(b6,",",b5,b4),car
            GOSUB EnvoiByteData
        next
    loop   
    
    ; Sub envoi vers LCD via I2C *************
EnvoiByteCommInit:
    pause 15
EnvoiByteComm:
    rsbit=0
EnvoiByteData:
;1ére moitié
    dat=car & $F0 | %1000 | rsbit ;%1000 pour l'éclairage
    hi2cout (dat)
    pause 1       
    dat=dat | %1100
    hi2cout (dat)    ;pulse sur E cad P2
    pause 1
    dat=dat | %1000 & %1011   ;fin pulse
    hi2cout (dat)
    pause 1   
;2éme moitié
    dat=car & $0F * 16 | %1000 | rsbit
    hi2cout (dat)
    pause 1   
    dat=dat | %1100
    hi2cout (dat)
    pause 1
    dat=dat | %1000 & %1011
    hi2cout (dat)    
    rsbit=1
    return
 
Last edited:

PieM

Senior Member
c'est [ avant code

Déjà essaie de faire afficher quelquechose avec un programme simple!
Car je te l'ai dit cet afficheur est particulier et on ne connait pas son brochage interne.
Donc il est probable que ça ne marche pas!

Relire le post de Westaust...
 
Last edited:

PieM

Senior Member
A priori, c'est le même que celui décrit par Michel au niveau connexions internes.

Donc faire un petit programme pour vérifier que l'affichage se passe bien.
On verra après pour le reste du programme avec le NEO 6
 

JRTEC

Senior Member
Bonjour

j ai bien relu le post de Weshaust , lien non valide

J ai beau fouille je n e trouve pas d exemple co,cret sur 1602 lcd i2c qui mer permette de comprendre le fonctionnement

meme apres avoir relu 5 fois ceci http://electromag1.wifeo.com/lcd-i2c-expandeur-pcf8574.php qui coserne un 1604 , je pige pas

la j ai fait un montage avec un 08m2 avec le programme de la page citee ci dessus j ai la seconde ligne plain d un symbol non comprehensible
 

MGU

Senior Member
Bonjour

j ai bien relu le post de Weshaust , lien non valide

J ai beau fouille je n e trouve pas d exemple co,cret sur 1602 lcd i2c qui mer permette de comprendre le fonctionnement

meme apres avoir relu 5 fois ceci http://electromag1.wifeo.com/lcd-i2c-expandeur-pcf8574.php qui coserne un 1604 , je pige pas

la j ai fait un montage avec un 08m2 avec le programme de la page citee ci dessus j ai la seconde ligne plain d un symbol non comprehensible
Bonjour,

Donne un schéma du montage et le code utilisé. Sinon, on ne peut rien dire...

MM
 
Top