​ ​ ​ ​ Lcd 1602 i2c
Page 1 of 2 1 2 LastLast
Results 1 to 10 of 14

Thread: Lcd 1602 i2c

  1. #1
    Senior Member
    Join Date
    Mar 2012
    Location
    france
    Posts
    201

    Default Lcd 1602 i2c

    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...ur-pcf8574.php

    ainsi que celle ci : http://www.picaxeforum.co.uk/showthr...light=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

  2. #2
    Senior Member
    Join Date
    Jul 2010
    Location
    paris
    Posts
    1,452

    Default

    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

  3. #3
    Senior Member
    Join Date
    Mar 2012
    Location
    france
    Posts
    201

    Default

    merci

    cependant je suis en train de faire mon programme

    mais la reussite n est pas avec moi

  4. #4
    Moderator
    Join Date
    Mar 2008
    Location
    Western Australia
    Posts
    12,192

    Default

    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
    westaust55

    Hey Hamlet, 2B OR NOT 2B = $FF

  5. #5
    Senior Member
    Join Date
    Mar 2012
    Location
    france
    Posts
    201

    Default

    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
    Attached Images Attached Images
    Last edited by JRTEC; 30-04-2017 at 18:50.

  6. #6
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,832

    Default

    Quote Originally Posted by JRTEC View Post

    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 by PieM; 30-04-2017 at 19:02.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

  7. #7
    Senior Member
    Join Date
    Mar 2012
    Location
    france
    Posts
    201

    Default

    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.jpgGPS 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

  8. #8
    Senior Member
    Join Date
    Jul 2010
    Location
    paris
    Posts
    1,452

    Default

    Bonjour,

    Pour le programme :

    ]code]

    ]/code]

  9. #9
    Senior Member
    Join Date
    Mar 2012
    Location
    france
    Posts
    201

    Default

    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 by JRTEC; 30-04-2017 at 21:10.

  10. #10
    Senior Member
    Join Date
    Jan 2010
    Location
    34 France
    Posts
    3,832

    Default

    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 by PieM; 30-04-2017 at 21:13.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème . (Les Shadoks)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •