IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Ecran LCD JM162E


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2016
    Messages : 12
    Par défaut Ecran LCD JM162E
    Salut à tous.
    Je suis nouveau sur le forum et sur Arduino.
    J'ai 26 ans, je suis technicien de maintenance et je vis dans le 76 (seine maritime).

    Voila mon soucis,j'ai récupéré un écran lcd JM162E, l'écran est semblable à celui que on retrouve un peu partout pour l'arduino(160A2) mais il est plus grand.
    Quand je le connecte, en mode 4 bites, l'écran affiche des carrés sur la première ligne.Le réglage de contraste ne se fait pas non plus ( j'utilise un potar )
    Mon programme est fait pour afficher l'heure.

    Datasheet de l'écran en question
    https://www.yumpu.com/en/document/vi...2e-kentec-gmbh

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    #include <LiquidCrystal.h> //on inclut la librairie
     
    // initialise l'écran avec les bonnes broches
     
    LiquidCrystal lcd(11,10,5,4,3,2);
     
    int heures,minutes,secondes;
    char message[16] = "";
     
    void setup()
    {
        lcd.begin(16, 2); // règle la taille du LCD : 16 colonnes et 2 lignes
     
        //changer les valeurs pour démarrer à l'heure souhaitée !
        heures = 24;
        minutes = 59;
        secondes = 5;
    }
     
    void loop()
    {
        // gérer le temps qui passe...
        if(secondes == 0) //une minutes est atteinte ?
        {
            secondes = 60; //on recompte à partir de 0
            minutes--;
        }
        if(minutes == 0) //une heure est atteinte ?
        {
            minutes = 0;
            heures--;
        }
        if(heures == 24) //une journée est atteinte ?
        {
            heures = 0;
        }
     
        //met le message dans la chaine à transmettre
        sprintf(message,"    %2d:%2d:%2d",heures,minutes,secondes);
     
        lcd.home();           //met le curseur en position (0;0) sur l'écran
     
        lcd.write(message);   //envoi le message sur l'écran
     
        delay(1000);          //attend une seconde
        //une seconde s'écoule...
        secondes--;
    lcd.setCursor(2,1);        //place le curseur aux coordonnées (2,1)
     
     
     
    }
    Cablage:
    http://images.google.fr/imgres?imgur...sJCsMQ9QEIIjAC
    Si i y a besoin d'info supplémentaires, n'hésité pas

    Merci

  2. #2
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 252
    Par défaut
    Salut,
    Je n'ai pas de Arduino cependant à quel endroit tu règles ton afficheur LCD en mode 4 bits ?
    Page 13 de ta doc, tu as un registre "Function Set" et dedans il y a un bit (DL) à mettre à 0 pour être en mode 4 bits. Je ne vois pas où tu le fais dans ton soft ?

    Pour le réglage du contraste on peut voir ton montage (schéma pour faire le réglage) ?

  3. #3
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2016
    Messages : 12
    Par défaut
    Pour moi quand tu mets un bit a 0, c'est que tu ne doit pas mettre de tension sur la borne qui va bien, non?

  4. #4
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 252
    Par défaut
    Citation Envoyé par skylines89
    Pour moi quand tu mets un bit a 0, c'est que tu ne doit pas mettre de tension sur la borne qui va bien, non?
    C'est mettre la broche au GND (masse) c'est différent de pas de tension (en l'air)

    J'ai lu la doc de Arduino sur le constructeur de la fonction LiquidCrystal https://www.arduino.cc/en/Reference/...talConstructor
    Ton programme a bien configuré l'afficheur en 4 bits au travers de "LiquidCrystal lcd(11,10,5,4,3,2);" si tu étais en 8 bits tu aurais eu 10 chiffres en paramètre..... je comprends mieux maintenant


    Alors maintenant, pour ton programme, c'est tout a fait normal que tu n'écris jamais rien sur la deuxième ligne car ton code fait que tu n'écris rien sur la seconde ligne ! Tu ne fais que mettre le curseur sur la seconde ligne mais c'est tout. Du coup au prochain tour de boucle tu refais lcd.home(); qui te remets sur la première ligne puis tu fais lcd.write(message); pour écrire sur la première ligne etc...

    Essaye ça pour voir (j'ai modifié que la fin de ton programme) :
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    [...]
      sprintf(message,"    %2d:%2d:%2d",heures,minutes,secondes);
     
        lcd.home();           //met le curseur en position (0;0) sur l'écran 
     
        lcd.write(message);   //envoi le message sur l'écran !!!!!!!!!!!!!!!!!!!!!!!! sur la première ligne !!!!!!!!!!
     
        delay(1000);          //attend une seconde
     
        secondes--;
        lcd.setCursor(2,1);        //place le curseur aux coordonnées (2,1)
     
        lcd.write("ligne 2"); // j'écris sur la ligne 2 la phrase "ligne 2"
     
    [...]


    Pour le contraste, tu es sur de ton câblage réel ? Le potard est de quelle valeur ?

  5. #5
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Janvier 2016
    Messages : 12
    Par défaut
    Au niveau de l'écran:


    Les carres clignotent en revenant en faisant des nuances de noir
    Le potentiometre est un 10 Kohm
    Référence B103(au dos du potentiometre.

  6. #6
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 252
    Par défaut
    D'accord, j'ai 4 questions :

    - Tu as un Arduino UNO ?
    - As tu un afficheur LCD chez toi, je veux dire un que tu as déjà réussi a faire fonctionner (pour valider le soft) ?
    - Peux tu prendre une photo où je peux voir ton potentiomètre, où il est relié etc... le câblage réel en gros (même celui entre Arduino et l'afficheur) ?
    - Est ce que tu as un voltmètre chez toi ?


    En parlant de soft, il faut le simplifier pour éviter d'avoir des problèmes de soft et d'afficheur car bien souvent on ne s'en sort plus.
    Ce simple programme est largement suffisant pour faire un test.
    (Je n'ai pas de Arduino donc je te fais confiance pour les broches utilisées... à dire vrai, si j'ai bien un Arduino UNO sauf que je ne le programme pas avec le logiciel Arduino, je le programme directement en C sans aucune bibliothèque)
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #include <LiquidCrystal.h> //on inclut la librairie
     
    // initialise l'écran avec les bonnes broches
    LiquidCrystal lcd(11,10,5,4,3,2);
     
    void setup()
    {
        lcd.begin(16, 2); // règle la taille du LCD : 16 colonnes et 2 lignes
    }
     
    void loop()
    {
        lcd.home();           //met le curseur en position (0;0) sur l'écran
        lcd.print("TEST LIGNE 1");   
        lcd.setCursor(2,1);        //place le curseur aux coordonnées (2,1)
        lcd.print("TEST LIGNE 2");  
     
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Choix d'un écran LCD
    Par Tex-Twil dans le forum Périphériques
    Réponses: 9
    Dernier message: 23/11/2006, 22h43
  2. [Ecran] [LCD] Un écran flou
    Par Pedro dans le forum Périphériques
    Réponses: 5
    Dernier message: 13/09/2006, 16h19
  3. [Ecran LCD] Portable Asus
    Par Maxoo dans le forum Composants
    Réponses: 18
    Dernier message: 24/07/2006, 12h28
  4. Ecran LCD pour ps2 ?
    Par sorry60 dans le forum Périphériques
    Réponses: 6
    Dernier message: 03/01/2006, 18h49
  5. [HARDWARE] [Ecran LCD] Recherche écran tactile 7" in dash
    Par l.sage dans le forum Périphériques
    Réponses: 4
    Dernier message: 27/09/2004, 23h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo