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 :

Besoin d'aide (Traceur Série)


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
    Mars 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2021
    Messages : 1
    Par défaut Besoin d'aide (Traceur Série)
    Bonjour,
    En TP d'électronique nous avons dû monter un circuit associant Multiplexeur/Compteur 4bits/buzzer/bouton.
    Et lors d'une question il est demandé d'observer les valeurs sur le traceur série. Mais j'ai un problème qui est que la fenêtre du traceur s'ouvre mais reste vide, aucune courbe n'est tracée. J'ai essayé de changer le baud rate mais rien n'y fait...

    Pourriez-vous m'aider?

    Je vous mets mon code ci-dessous:

    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
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    const int button = 7; 
    int compteur = 0;
    const int S0 = 4;
    const int S1 = 3;
    const int S2 = 2;
    int state0; //Il s'agit de la variable qui lira l'état de S0
    int state1; //Il s'agit de la variable qui lira l'état de S1
    int state2; //Il s'agit de la variable qui lira l'état de S2
     
     
    void setup() {
      // put your setup code here, to run once:
      pinMode(button, INPUT);
      pinMode(S0 , OUTPUT);
      pinMode(S1 , OUTPUT);
      pinMode(S2 , OUTPUT);
     
     
     
    }
     
    void loop() {
      // put your main code here, to run repeatedly:
     
      int buttonstate = digitalRead(button);
      delay(100); //On éxecute un delay de 100 ms pour éviter les rebonds
      state0 = digitalRead(S0);
      state1 = digitalRead(S1);
      state2 = digitalRead(S2);
     
     
       if (buttonstate == HIGH)
       {
     
        if (compteur == 6)
        {
          compteur = 0;
        }
        else
        {
          compteur = compteur + 1; //On utilise un compteur pour sélectionner les entrées 
          //On incrémente le compteur de 1 afin d'incrémenter la combinaison envoyée au select du multiplexeur
        }
     
     
        }
     
        if (compteur == 1)
        {
         digitalWrite(S0,LOW);
         digitalWrite(S1,LOW);
         digitalWrite(S2,LOW); 
        }
        if (compteur == 2)
        {
          digitalWrite(S0,LOW);
          digitalWrite(S1,LOW);
          digitalWrite(S2,HIGH);
        }
     
       if (compteur == 3)
       {
          digitalWrite(S0,LOW);
          digitalWrite(S1,HIGH);
          digitalWrite(S2,LOW);
       }
     
       if (compteur == 4)
       {
          digitalWrite(S0,LOW);
          digitalWrite(S1,HIGH);
          digitalWrite(S2,HIGH);
       }
       if (compteur == 5)
       {
           digitalWrite(S0,HIGH);
           digitalWrite(S1,LOW);
           digitalWrite(S2,LOW);
       }
     
     
        if ((state0 == LOW)&&(state1 == LOW)&&(state2 == LOW))
        {
          analogWrite(12,980);
        }
        if ((state0 == LOW)&&(state1 == LOW)&&(state2 == HIGH))
        {
          analogWrite(12,490);
          delay(2000);
          analogWrite(12,0);
        }
     
       if ((state0 == LOW)&&(state1 == HIGH)&&(state2 == LOW))
       {
        analogWrite(12,245);
       }
     
       if ((state0 == LOW)&&(state1 == HIGH)&&(state2 == HIGH))
       {
        analogWrite(12,122);
       }
       if ((state0 == HIGH)&&(state1 == LOW)&&(state2 == HIGH))
       {
        analogWrite(12,61);
       }
     
       Serial.print(digitalRead(12));
     
    }

  2. #2
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 935
    Par défaut
    il vous manque le avec xxx correspondant à la vitesse en bauds de votre moniteur/traceur série

    un autre souci c'est que le seul affichage est effectué par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Serial.print(digitalRead(12));
    et que le traceur série a besoin d'un retour à la ligne pour interpréter ce qu'il doit tracer. donc faites un Serial.println() (et ce serait bien de donner un petit nom à cette pin 12)

    un autre problème éventuellement est sur votre usage de analogWrite(). Lisez la doc pour voir quelle valeur peut prendre le second paramètre (sur quel Arduino êtes vous?)

    je ne sais pas ce que vous comptez voir sur cette pin 12, mais comme vous utilisez des delay()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
          analogWrite(12,490);
          delay(2000);
          analogWrite(12,0);
    vous ne verrez pas (même si vous corrigez la seconde valeur) ce qu'il se passe ici


Discussions similaires

  1. besoin d'aide pour le composant DBComboBox
    Par jane2002 dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/02/2004, 20h01
  2. Besoin d'aide avec postgresql sous windows NT
    Par Chihuahua dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 18/07/2003, 09h29
  3. [CR] besoin d'aide sur les formules
    Par GuillaumeDSA dans le forum Formules
    Réponses: 4
    Dernier message: 10/07/2003, 13h19
  4. [TP]besoin d'aide pour commandes inconnues
    Par Upal dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 03/10/2002, 11h48
  5. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 18h05

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