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 20×4 arduino


Sujet :

Arduino

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Ecran 20×4 arduino
    Bonjour à tous, j'ai un soucis au niveau de la programmation de mon ecran lcd avec mon arduino uno. J'ai essayé plusieurs programme mais l'écran m'affiche des caractère aléatoire.*
    Pour le matériel j'ai un arduino uno, un écran lcd de 20×4(ref:elcd-204BLB) et un "adaptateur" branché sur l'arrière de l'écran pour pouvoir la connecté en 3 broche.*
    Les broche que j'utilise est le 5v, le gnd et le tx.*
    Donc si vous pouvez me proposer un petit programme qui fonctionne que je pourrai modifié sa serait génial.*
    Merci d'avance

  2. #2
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonjour Emirhan
    Citation Envoyé par Emirhan Voir le message
    J'ai essayé plusieurs programme mais l'écran m'affiche des caractère aléatoire.*
    As-tu mis la bonne vitesse, c'est 19200 à la livraison ou 4800 si le pont JP1 est coupé.

    Si ça ne fonctionne toujours pas, mets un de tes programme sur le forum.

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bonjour jpbbricole
    Merci pour ta réponse.
    J'ai modifié la valeur que tu ma dis mais j'ai toujours le même résultat.
    Je suis nouveau sur le forum et je n'ai pas trouver de programme.
    Tu peut m'envoyer les liens stp ou me passer passer un petit programme qui fonctionne où je pourrai modifié les caractère a afficher.
    Merci d'avance

  4. #4
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonjour Emirhan

    Voilà, je t'ai fait un petit bout de code, j'ai dû aller aux tréfonds de ma mémoire et de mes tiroirs pour retrouver ce genre d'affichage!!! C'était du temps où je programmais des PICs, maintenant je n'utilises plus que des LCD en i2C. C'est vraiment plus pratique, surtout dans l'environnement Arduino.

    Le code ci-dessous n'est certainement pas une référence mais donne une idée de comment afficher quelque chose. Comme il est en "parallèle" avec le moniteur, il s'y affiche des trucs bizzzzares! Il faudrait lui dédier un port série pour lui seul.
    Il n'y a pas trop de commentaires mais l'essentiel est dans le PDF.
    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
    // https://www.lextronic.fr/lextronic_doc/ELCD.pdf
    // Page 7 et suivantes
     
    byte loopCounter = 0;
     
    void setup(void) 
    {
    	Serial.begin(19200);
    	delay(500);
     
    	lcd204blbCls();
     
    	lcd204blbText("Hello");
    	lcd204blbColRow(7, 1);
    	lcd204blbText("Emirhan");
    }
     
    void loop() 
    {
    	lcd204blbColRow(2, 1);
    	lcd204blbText(String(loopCounter) + "  ");
     
    	delay(500);
    	loopCounter ++;
    }
     
    void lcd204blbText(String lcdText)
    {
    	Serial.write(0xA2);
     
    	for (int i = 0; i < lcdText.length(); i++)
    	{
    		Serial.write(lcdText.charAt(i));
    	}
     
    	Serial.write(0x00);
    	delay(200);
    }
     
    void lcd204blbCls()
    {
    	Serial.write(0xA3);
    	Serial.write(0x01);
    	delay(200);
    }
     
    void lcd204blbColRow(byte lcdCol, byte lcdRow)
    {
    	Serial.write(0xA1);
    	Serial.write(lcdCol);
    	Serial.write(lcdRow);
    	delay(200);
    }
    Souvent, après le téléchargement, l'écran se plante, un reset ou un power on/off suffit à lui remettre les idées en place

    A ta disposition pour tout compléments.

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bonjour jpbbricole,
    Super le programme, il fonctionne très bien et j'ai compris le fonctionnement des lignes et l'insertion de texte.
    J'ai quelque question pour l'affichage:
    Je n'ai pas trouvé le décompte des secondes dans le programme pour pouvoir le modifié (juste changer le nombre de seconde, pour changer la ligne c est bon).
    Comment je pourrai mettre des animations comme un texte qui défile de droite à gauche et inversement puis de haut en bas et inversement.

    Sinon merci beaucoup pour ton aide tu ma déjà beaucoup dépanné.

  6. #6
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonjour Emirhan
    Citation Envoyé par Emirhan Voir le message
    Je n'ai pas trouvé le décompte des secondes dans le programme
    En fait c'était là

    delay(500);
    loopCounter ++;

    mais, c'était juste pour la démo, mais c'est pas très "propre" comme temporisation. Il faut savoir que la fonction delay(500) est bloquante, c'est à dire que le programme ne fait plus rien d'autre pendant ce temps.
    J'ai réécri la void loop() ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    void loop() 
    {
     
    	if (millis() % 1000 == 0)
    	{
    		loopCounter ++;
     
    		lcd204blbColRow(2, 1);
    		lcd204blbText(String(loopCounter) + "  ");
    	}
    }
    Avec cette façon de procéder, on ne bloque plus rien, on surveille l'horloge interne de l'Arduino (millis()) et chaque fois que sa valeur est divisible par 1000 (en l'occurence, = 1 sec.) on incrémente et affiche le compteur loopCounter.
    L'opérateur % est la fonction modulo

    A+
    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bonjour jpbbricole,
    Encore merci pour le programme, j'aimerai savoir comment je pourrais faire un "menu" avec 3 bouton. 1er bouton validé, 2eme bouton annulé et un dernier bouton pour validé le tout. Et a chaque fois que j'appuie sa passe à la page suivante tout en enregistrant mes choix.
    Merci d'avance
    Bonne journée à toi.

  8. #8
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonsoir Emirhan
    Citation Envoyé par Emirhan Voir le message
    j'aimerai savoir comment je pourrais faire un "menu" avec 3 bouton......
    Vaste sujet, je ne connais pas ton niveau en "Arduino", mais, comme tu va utiliser des boutons, autant s'habituer à l'usage d'une bibliothèque pour ce faire, ça évite de devoir traiter tout les problèmes engendrés par ces petites bêtes dont les plus embêtant sont les rebonds.
    Exerces-toi avec la bibliothèque Button.h (J'utilises celle-ci, mais il y en a d'autres) comme celle-ci.

    Après, on peut passer à une phase suivante.

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2019
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci pour ton aide Jpbricole.
    Je vais essayé les bibliothèque.
    Bonne journée à toi

Discussions similaires

  1. Ecran lcd 16x2 et I2C sur Arduino
    Par Stéphanie13000 dans le forum Arduino
    Réponses: 17
    Dernier message: 07/01/2019, 14h45
  2. Jeux Snake Arduino Esplora (Arduino + Ecran TFT)
    Par Josh.Bateman dans le forum Arduino
    Réponses: 1
    Dernier message: 13/12/2018, 08h58
  3. Comment utiliser : Arduino + Caméra + Ecran Tactile ?
    Par David117 dans le forum Arduino
    Réponses: 1
    Dernier message: 12/08/2017, 22h42
  4. Aide Ecran Nextion communication avec Arduino Mega2560
    Par Aegnor1975 dans le forum Arduino
    Réponses: 5
    Dernier message: 13/04/2017, 17h14
  5. [TP]lire une ligne de l'ecran et la stocker dans une chaine
    Par Bleuarff dans le forum Turbo Pascal
    Réponses: 26
    Dernier message: 02/07/2002, 10h08

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