[Programmation] simulation Proteus Arduino TM1637 7segments
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

simulation Proteus Arduino TM1637 7segments



  1. #1
    Blaise032

    Question simulation Proteus Arduino TM1637 7segments


    ------

    Bonjour,
    J'ai un projet que je désire simuler avec Proteus :
    Code:
    #include <TM1637.h>
    
    #define CLK_PIN 5
    #define DIO_PIN 6
    
    TM1637 display(CLK_PIN, DIO_PIN);
    
    void setup() {
      display.init();
      Serial.begin(9600);
    }
    
    const int imax = 30;
    
    void loop() {
      // Compteur de 0 à imax secondes
      for (int i = 0; i <= imax; i++) {
        display.display(0, i / 10);        // Affiche la dizaine
        display.display(1, i % 10);        // Affiche l'unité
    //    // décompte
    //    display.display(2, imax - i / 10); // Affiche la dizaine
    //    display.display(3, imax - i % 10); // Affiche l'unité
        Serial.print(i);
        Serial.print(" ");
        delay(1000);                       // Attend une seconde
      } Serial.println();
    }
    Le 1er digit affiche un 8 avec le segment du milieu scintillant, le 2ème un 8 fixe.
    Où fais-je l'erreur ?

    Merci d'avance

    Pièce jointe 479113

    -----

  2. #2
    Antoane
    Responsable technique

    Re : simulation Proteus Arduino TM1637 7segments

    Bonjour,

    Ta PJ n'est pas passée, peux-tu la reposter ?

    VG.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  3. #3
    Blaise032

    Re : simulation Proteus Arduino TM1637 7segments

    Ta PJ n'est pas passée, peux-tu la reposter ?
    ok, la voici :

    Nom : 2023.05.10 07.400001.png
Affichages : 208
Taille : 50,4 Ko

  4. #4
    umfred

    Re : simulation Proteus Arduino TM1637 7segments

    l'erreur? ta boucle d'affichage (le for) trop rapide pour que tu vois le changement.
    retire cette boucle for et utilise correctement la fonction utilitaire loop en testant au début la valeur de i pour la remettre à 0 en cas de dépassement, et l'incrémentant à la fin (i doit être déclaré avant setup() et être initialisé à 0 (par exemple) dans setup()

  5. A voir en vidéo sur Futura
  6. #5
    Blaise032

    Re : simulation Proteus Arduino TM1637 7segments

    C'est une alternative - que j'ai essayé -, mais j'ai déjà un delay(1000) dans cette boucle for.

  7. #6
    umfred

    Re : simulation Proteus Arduino TM1637 7segments

    Effectivement, j'avais mal vu la fermeture de la boucle for
    Dans mon esprit, le code que j'indiquais donnerait:
    Code:
    #include <TM1637.h>
    
    #define CLK_PIN 5
    #define DIO_PIN 6
    
    TM1637 display(CLK_PIN, DIO_PIN);
    int cpt =0;
    
    void setup() {
      display.init();
      display.set();
      Serial.begin(9600);
      cpt=0;
    }
    
    const int imax = 30;
    
    void loop() {
      // Compteur de 0 à imax secondes
      if (cpt>imax) cpt=0;
      display.display(0, cpt / 10);        // Affiche la dizaine
      display.display(1, cpt % 10);        // Affiche l'unité
    //    // décompte
    //  display.display(2, imax - i / 10); // Affiche la dizaine
    //  display.display(3, imax - i % 10); // Affiche l'unité
      Serial.print(cpt);
      Serial.println();
      delay(1000);                       // Attend une seconde
      cpt++;
    }
    Je vois aussi dans les exemples donnés des appels à la fonction set() pour définir la luminosité (je l'ai rajouté dans le code ci-dessus)

    Après, je tombe sur des librairies autres appelées TM1637Display avec d'autres fonctions pour afficher des nombres:
    https://arduino-france.site/display-tm1637/ ou https://github.com/avishorp/TM1637

  8. #7
    Blaise032

    Re : simulation Proteus Arduino TM1637 7segments

    Merci

    Mais il n'y a rien à faire, ce sont ces foutus 2 digits qui ne passent pas.
    Si j'y met des 4 digits, c'est quasiment comme une lettre à la poste...

    J'aimerais résoudre ce problème, ne sachant s'il vient de Proteus ou pas.
    Je crois avoir dans un tiroir des 2 digits, mais ce n'est pas la même chose pour les TM1637

    Une idée ?
    Merci d'avance !

Discussions similaires

  1. [Exercices] Blocage sur simulation Proteus 8
    Par invite4d0437bb dans le forum Électronique
    Réponses: 5
    Dernier message: 20/11/2018, 00h33
  2. Simulation Proteus d'un Arduino Uno ?
    Par invitec768e588 dans le forum Électronique
    Réponses: 17
    Dernier message: 14/04/2014, 21h39
  3. Simulation sur proteus 7.10
    Par invite6605a832 dans le forum Électronique
    Réponses: 5
    Dernier message: 13/03/2013, 09h42
  4. Simulation sur Proteus
    Par invitef6d81a75 dans le forum Électronique
    Réponses: 7
    Dernier message: 17/05/2009, 02h13
  5. simulation proteus isis
    Par invite279d610d dans le forum Électronique
    Réponses: 5
    Dernier message: 14/02/2007, 12h53
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...