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));
 
}