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 :

Faire défiler un texte sur LCD 16x1


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2018
    Messages : 1
    Par défaut Faire défiler un texte sur LCD 16x1
    Bonjour à tous,
    (Je ne sais pas si j'ai publié dans la bonne rubrique)

    Etant débutant avec Arduino, je me suis lancé dans l'apprentissage d'utilisation d'écran LCD.

    En suivant des tutos j'ai appris à simplement afficher un texte, le faire clignoter.. (pour 16x1 puisque je n'ai que ça pour le moment).

    Cependant, j'essaie depuis quelques jours de faire défiler mon texte de gauche à droite et de droite à gauche mais je ne tombe que sur des tutos pour 16x2, j'ai donc simplement copié collé le code qui est sur le site d'Arduino pour essayer de changer deux trois choses pour que le texte défile correctement mais sans succès, le texte est coupé en deux et défile en décalé.

    Donc j'aimerai une explication pour pouvoir faire défiler correctement sur mon 16x1.

    Ci joint le code que j'utilise mais qui forcément n'est pas le bon pour faire défiler sur un 16x1 :

    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
    #include <LiquidCrystal.h> // on importe la bibliothèque
    LiquidCrystal lcd(12,11,5,4,3,2); // on crée l'objet écran
     
    void setup() {
     // set up the LCD's number of columns and rows:
     // A 1x16 Line display is addressed as 2x8
     lcd.begin(8, 2);
     // Print a message to the LCD.
     lcd.print("Bonjour a");
     // Move the cursor to the beginning of the second address block
     // (note: line 1 is the second row, since counting begins with 0):
     lcd.setCursor(0, 1);
     lcd.print("tous !");
    }
     
    void loop() {
     
    // scroll 13 positions (string length) to the left
     // to move it offscreen left:
     for (int positionCounter = 0; positionCounter < 13; positionCounter++) {
       // scroll one position left:
       lcd.scrollDisplayLeft();
       // wait a bit:
       delay(150);
     }
     
     // scroll 29 positions (string length + display length) to the right
     // to move it offscreen right:
     for (int positionCounter = 0; positionCounter < 29; positionCounter++) {
       // scroll one position right:
       lcd.scrollDisplayRight();
       // wait a bit:
       delay(150);
     }
     
     // scroll 16 positions (display length + string length) to the left
     // to move it back to center:
     for (int positionCounter = 0; positionCounter < 16; positionCounter++) {
       // scroll one position left:
       lcd.scrollDisplayLeft();
       // wait a bit:
       delay(150);
     }
     
     // delay at the end of the full loop:
     delay(1000);
     
    }

    En espérant avoir été clair dans mon post,

    Merci.

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 197
    Billets dans le blog
    47
    Par défaut
    Bonjour,

    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
    #include <LiquidCrystal.h> // on importe la bibliothèque
    LiquidCrystal lcd(12,11,5,4,3,2); // on crée l'objet écran
     
    void setup() {
     // set up the LCD's number of columns and rows:
     // A 1x16 Line display is addressed as 2x8
     lcd.begin(8, 2);
     // Print a message to the LCD.
     lcd.print("Bonjour a");
     // Move the cursor to the beginning of the second address block
     // (note: line 1 is the second row, since counting begins with 0):
     lcd.setCursor(0, 1);
     lcd.print("tous !");
    }
    }
    Quand on voit la bidouille en deux étapes qu'il faut faire pour un simple "Bonjour a tous !" sur la même ligne, on se dit que la bibliothèque LiquidCrystal n'est tout simplement pas compatible avec le contrôleur de ton LCD. Une histoire d'adressage particulier sur les 8 premiers caractères et les 8 derniers si j'ai bien compris...

    Si tu tiens à conserver cet afficheur (mais on peut penser qu'il existe aussi des LCD 16x1 compatibles avec LiquiCrystal), il va te falloir de l'huile de coude et réécrire les fonctions de scroll à ta sauce, éventuellement en s'inspirant du code des fonctions existantes de LiquidCrystal. C'est du boulot...

Discussions similaires

  1. Faire défiler un texte dans un label
    Par FluidBlow dans le forum C++Builder
    Réponses: 2
    Dernier message: 03/10/2006, 20h32
  2. Faire défiler un texte au passage de la souris
    Par krolineeee dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/06/2006, 12h00
  3. [FLASH 8] Faire défiler du texte avec un scrollbar
    Par crush09 dans le forum Flash
    Réponses: 3
    Dernier message: 04/04/2006, 12h25
  4. Faire défiler un texte dans une cellule de tableau
    Par Furius dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 01/12/2005, 17h06
  5. Faire défiler un texte sur une fenêtre
    Par Crisanar dans le forum Windows
    Réponses: 15
    Dernier message: 24/11/2004, 23h05

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