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 :

Wordclock français avec arduino nano


Sujet :

Arduino

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    bricoleur retraité
    Inscrit en
    Janvier 2024
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Suisse

    Informations professionnelles :
    Activité : bricoleur retraité

    Informations forums :
    Inscription : Janvier 2024
    Messages : 28
    Par défaut Wordclock français avec arduino nano
    Bonjour,
    Tout d’abort je vous souhaite une bonne année 2024 avec plein de nouveaux projets.
    j’aimerai réaliser une Wordclock en français, j’ai trouvé un tutoriel sur internet et j’ai un problème avec le programme Arduino (je suis novice en programmation).
    Sur le programme il faut la bibliothèque WProgram.h que je ne trouve pas et j’ai lu qu’il faut la remplacer par Arduino.h, mais quand je lance la vérification du programme j’ai l’erreur ‘’RTC was not declared in this scope’’.
    J’utilise un carte Arduino nano.
    Je vous remercie par avance de votre aide
    ci-dessous le programme

    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
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    #include <Arduino.h>  // les 3 librairies pour le rtc
    #include <Wire.h>
    #include <RTClib.h>
     
    int rtc[7];
    int Bouton1=3;
    int Bouton2=4;
    int Detecteur=7;
     
     
    void Set_Square_Wave(int rate){  // set the square wave output on pin 7 of the DS1307 chip
      rate = rate + 144;                         // add 0x90 (dec 144) to rate
      Wire.beginTransmission(0x68);              // write the control register
      Wire.write(0x07);                           // register address 07H)
      Wire.write(rate);                           // 90H=1Hz, 91H=4kHz, 92H=8kHz, 93H=32kHz
      Wire.endTransmission();
    }
     
     int latchPin=8;     // 3 lignes pour le shift out
     int clockPin=12;
     int dataPin=11;
     
     
     int Compteur1=0;
     int Compteur2=0;
     int Compteur3=0;
     int Coef=0;
     int alea=0;
     int k=1;
     int Var1=0;
     int Var2=0;
     int Ancvar1=0;
     int Ancvar2=0;
     int Temp1=1000; // tempo pour mise en veille
     int Temp2=400;  // tempo pour rafraichir
     int Inc=0;
     int Allumer=0;
     int Presence=1;
     
     
    void setup()
    {
     
      pinMode(Bouton1,INPUT);// déclaration des entrées
      pinMode(Bouton2,INPUT);
      pinMode(Detecteur,INPUT);
     
      digitalWrite(Bouton1, HIGH);  // entrées par défaut à 1, évite une résistance de pull-UP.
      digitalWrite(Bouton2, HIGH);
     
     // Décommenter la partie suivante et mettez vos valeurs pour initialiser l'horloge
     
      //RTC.stop();
      //RTC.set(DS1307_SEC,0);    // Secondes
      //RTC.set(DS1307_MIN,10);   // Minutes
      //RTC.set(DS1307_HR,4);    // Heures
      //RTC.set(DS1307_DOW,3);    // Jour de la semaine
      //RTC.set(DS1307_DATE,7);  // Jour du mois
      //RTC.set(DS1307_MTH,11);   // Mois
      //RTC.set(DS1307_YR,12);    // Année
      //RTC.start();
     
     
     
      // Mettre une resistance de pull up entre pin 7 et Vbat
      // 0=1hz, 1=4KHz, 2=8KHz, 3=32KHz
      Set_Square_Wave(0); // 1Hz
     
     
     pinMode(latchPin,OUTPUT);
     pinMode(clockPin,OUTPUT);
     pinMode(dataPin,OUTPUT);
     
     
    }
     
    void loop()
    {
     delay(50);
      RTC.get(rtc,true);
     
      Presence=digitalRead(Detecteur);
      if (Presence==1) Temp1=2000;
     
     
     
      Var1=1-digitalRead(Bouton1);
      Var2=1-digitalRead(Bouton2);
     
      if (Var1==0) Ancvar1=0;
      if (Var2==0) Ancvar2=0;
     
       if (Var1!=Ancvar1) // Front Montant du bouton 1
       {
         Inc=rtc[1]+5;
         if (Inc>59) Inc=0;
     
     
         RTC.stop();    
         RTC.set(DS1307_MIN,Inc);
         RTC.start();
     
         Temp1=1000;
         affichage();
         Ancvar1=1;
     
     
     
       }
     
      if (Var2!=Ancvar2) // Front Montant du bouton 2
       {
     
         Inc=rtc[2]+1;
          if (Inc>23) Inc=0;
     
         RTC.stop();
         RTC.set(DS1307_HR,Inc);
         RTC.start();
     
         Temp1=1000;
         affichage();
          Ancvar2=1;
       }
     
     
        Temp1-- ;
        if (Temp1<0) Temp1=0;
     
        if (Temp1>0) {
          if (Allumer==0) {   // lancer l'animation à l'allumage
            alea=random(100);
             if (alea>50){
               deco1();}
             else {
               deco2();}
          }
          Allumer=1;
          Temp2++;
          if (Temp2>400) {
             Temp2=0;
             affichage();
     
          }
        }
        else {
         if (Allumer==1){
           eteindre();
           Allumer=0;
         }
        }
     
     
     
    }
     
    void shiftOut(byte dataOut) {
     
     boolean pinState;
     digitalWrite (dataPin, LOW);
     digitalWrite (clockPin, LOW);
     
     for (int i=0; i<=7; i++) {
      digitalWrite(clockPin, LOW);
      if (dataOut & (1<<i)) {
       pinState=HIGH;
      }
      else {
       pinState=LOW;
      }
     
     digitalWrite(dataPin,pinState);
     digitalWrite (clockPin, HIGH);
     digitalWrite (dataPin, LOW);
     }
     
     digitalWrite (clockPin, LOW);
     
    }
     
    void  deco1() {
     
      for (int i=1; i <= 10; i++){
         k=1;
           for (int j=0; j <= 7; j++){
     
     
              digitalWrite(latchPin, LOW);
              alea=random(0,2);
              shiftOut(k*alea);
              alea=random(0,2);
              shiftOut(k*alea);
              alea=random(0,2);
              shiftOut(k*alea);
              digitalWrite(latchPin, HIGH);
              delay(20);
              k=k*2;
     
            }
         }
     
     
    }
     
     
    void deco2() {
     
        for (int i=0; i <= 25; i++){
     
         digitalWrite(latchPin, LOW);
        alea=random(250)+1;
        shiftOut(alea);
        alea=random(250)+1;
        shiftOut(alea);
        alea=random(250)+1;
        shiftOut(alea);
     
        digitalWrite(latchPin, HIGH);
        alea=random(200)+50;
        delay(alea);
     
        }
     
    }
     
    void affichage() {
     
        RTC.get(rtc,true);
     
     
         Temp2=400;
     
     
     
       // calcul de l'heure
     
       Compteur1=32;  // "Il est"
       Compteur2=0;
       Compteur3=160;  // "Heure" et "s"
     
       Coef=0;
       if (rtc[1]>34) {
         Coef=1;  // coef pour les heures
         Compteur3=Compteur3+2; // "Moins"
       }
     
     
         if (rtc[2]==1-Coef || rtc[2]==13-Coef) {
           Compteur2=Compteur2+8; // "Une"
           Compteur3=Compteur3-128; // Suppression du "S"
         }
     
         if (rtc[2]==2-Coef || rtc[2]==14-Coef) Compteur1=Compteur1+4; // "Deux"
         if (rtc[2]==3-Coef || rtc[2]==15-Coef) Compteur2=Compteur2+1; // "Trois"
         if (rtc[2]==4-Coef || rtc[2]==16-Coef) Compteur1=Compteur1+16; // "Quatre"
         if (rtc[2]==5-Coef || rtc[2]==17-Coef) Compteur2=Compteur2+32; // "Cinq"
         if (rtc[2]==6-Coef || rtc[2]==18-Coef) Compteur2=Compteur2+16; // "Six"
         if (rtc[2]==7-Coef || rtc[2]==19-Coef) Compteur1=Compteur1+8; // "Sept"
         if (rtc[2]==8-Coef || rtc[2]==20-Coef) Compteur2=Compteur2+2; // "Huit"
         if (rtc[2]==9-Coef || rtc[2]==21-Coef) Compteur1=Compteur1+64; // "Neuf"
         if (rtc[2]==10-Coef || rtc[2]==22-Coef) Compteur3=Compteur3+4; // "Dix"
         if (rtc[2]==11-Coef || rtc[2]==23-Coef) Compteur1=Compteur1+128; // "Onze"
         if (rtc[2]==12-Coef) {
           Compteur1=Compteur1+1; // "Midi"
           Compteur3=Compteur3-160; // Suppression de "heure" et de "S"
         }
         if ((rtc[2]==0 && Coef==0)||(rtc[2]==23 && Coef==1)) Compteur3=Compteur3-152; // "Minuit" et Suppression de "heure" et de "s" (8-160)=-152
     
        if ((rtc[1]>4 && rtc[1]<10)||(rtc[1]>54)||(rtc[1]>24 && rtc[1]<30)||(rtc[1]>34 && rtc[1]<40)) Compteur3=Compteur3+16;  // "Cinq" (minutes)
        if ((rtc[1]>9 && rtc[1]<15)||(rtc[1]>49 && rtc[1]<55)) Compteur2=Compteur2+4; // "Dix" (minutes)
        if ((rtc[1]>19 && rtc[1]<30)||(rtc[1]>34 && rtc[1]<45)) Compteur3=Compteur3+1;  // "Vingt"
        if ((rtc[1]>14 && rtc[1]<20)||(rtc[1]>44 && rtc[1]<50)) Compteur2=Compteur2+64;  // "Quart"
        if ((rtc[1]>14 && rtc[1]<20)||(rtc[1]>29 && rtc[1]<35))  Compteur1=Compteur1+2; // "Et"
        if (rtc[1]>44 && rtc[1]<50)  Compteur3=Compteur3+64; // "Le"
        if (rtc[1]>29 && rtc[1]<35) Compteur2=Compteur2+128; // "Demi"
     
     
       // affichage de l'heure
        digitalWrite(latchPin, LOW);
        shiftOut(Compteur3);
        shiftOut(Compteur2);
        shiftOut(Compteur1);
        digitalWrite(latchPin, HIGH);
     
    }
     
     
    void eteindre(){
       digitalWrite(latchPin, LOW);
        shiftOut(0);
        shiftOut(0);
        shiftOut(0);
        digitalWrite(latchPin, HIGH);
    }

  2. #2
    Expert confirmé

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

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    Citation Envoyé par Cloclo2400 Voir le message
    Sur le programme il faut la bibliothèque WProgram.h que je ne trouve pas et j’ai lu qu’il faut la remplacer par Arduino.h, mais quand je lance la vérification du programme j’ai l’erreur ‘’RTC was not declared in this scope’’.
    vous avez dû trouver un très vieux code, ça date de la version avant 1.0 de l'IDE Arduino...

    vous avez juste besoin de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #include <RTClib.h>
    en début de votre code. Bien sûr il faudra avoir installé la bibliothèque associée dans l'IDE. Il s'agit de celle ci

    https://www.arduino.cc/reference/en/libraries/rtclib/

    ----
    PS: utilisez les balises de code pour poster du code sinon c'est illisible

  3. #3
    Membre averti
    Homme Profil pro
    bricoleur retraité
    Inscrit en
    Janvier 2024
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Suisse

    Informations professionnelles :
    Activité : bricoleur retraité

    Informations forums :
    Inscription : Janvier 2024
    Messages : 28
    Par défaut
    Merci pour votre réponse rapide, j'ai bien mis #include <RTClib.h> en première position mais j'ai toujours la même erreur

    Voila le code avec balise (j'espere que j'ai fait juste )
    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
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
     
    #include <RTClib.h>
    #include <Arduino.h>  // les 3 librairies pour le rtc
    #include <Wire.h>
     
     
     
    int rtc[7];
    int Bouton1=3;
    int Bouton2=4;
    int Detecteur=7;
     
     
    void Set_Square_Wave(int rate){  // set the square wave output on pin 7 of the DS1307 chip
      rate = rate + 144;                         // add 0x90 (dec 144) to rate
      Wire.beginTransmission(0x68);              // write the control register
      Wire.write(0x07);                           // register address 07H)
      Wire.write(rate);                           // 90H=1Hz, 91H=4kHz, 92H=8kHz, 93H=32kHz
      Wire.endTransmission();
    }
     
     int latchPin=8;     // 3 lignes pour le shift out
     int clockPin=12;
     int dataPin=11;
     
     
     int Compteur1=0;
     int Compteur2=0;
     int Compteur3=0;
     int Coef=0;
     int alea=0;
     int k=1;
     int Var1=0;
     int Var2=0;
     int Ancvar1=0;
     int Ancvar2=0;
     int Temp1=1000; // tempo pour mise en veille
     int Temp2=400;  // tempo pour rafraichir
     int Inc=0;
     int Allumer=0;
     int Presence=1;
     
     
    void setup()
    {
     
      pinMode(Bouton1,INPUT);// déclaration des entrées
      pinMode(Bouton2,INPUT);
      pinMode(Detecteur,INPUT);
     
      digitalWrite(Bouton1, HIGH);  // entrées par défaut à 1, évite une résistance de pull-UP.
      digitalWrite(Bouton2, HIGH);
     
     // Décommenter la partie suivante et mettez vos valeurs pour initialiser l'horloge
     
      //RTC.stop();
      //RTC.set(DS1307_SEC,0);    // Secondes
      //RTC.set(DS1307_MIN,10);   // Minutes
      //RTC.set(DS1307_HR,4);    // Heures
      //RTC.set(DS1307_DOW,3);    // Jour de la semaine
      //RTC.set(DS1307_DATE,7);  // Jour du mois
      //RTC.set(DS1307_MTH,11);   // Mois
      //RTC.set(DS1307_YR,12);    // Année
      //RTC.start();
     
     
     
      // Mettre une resistance de pull up entre pin 7 et Vbat
      // 0=1hz, 1=4KHz, 2=8KHz, 3=32KHz
      Set_Square_Wave(0); // 1Hz
     
     
     pinMode(latchPin,OUTPUT);
     pinMode(clockPin,OUTPUT);
     pinMode(dataPin,OUTPUT);
     
     
    }
     
    void loop()
    {
     delay(50);
      RTC.get(rtc,true);
     
      Presence=digitalRead(Detecteur);
      if (Presence==1) Temp1=2000;
     
     
     
      Var1=1-digitalRead(Bouton1);
      Var2=1-digitalRead(Bouton2);
     
      if (Var1==0) Ancvar1=0;
      if (Var2==0) Ancvar2=0;
     
       if (Var1!=Ancvar1) // Front Montant du bouton 1
       {
         Inc=rtc[1]+5;
         if (Inc>59) Inc=0;
     
     
         RTC.stop();    
         RTC.set(DS1307_MIN,Inc);
         RTC.start();
     
         Temp1=1000;
         affichage();
         Ancvar1=1;
     
     
     
       }
     
      if (Var2!=Ancvar2) // Front Montant du bouton 2
       {
     
         Inc=rtc[2]+1;
          if (Inc>23) Inc=0;
     
         RTC.stop();
         RTC.set(DS1307_HR,Inc);
         RTC.start();
     
         Temp1=1000;
         affichage();
          Ancvar2=1;
       }
     
     
        Temp1-- ;
        if (Temp1<0) Temp1=0;
     
        if (Temp1>0) {
          if (Allumer==0) {   // lancer l'animation à l'allumage
            alea=random(100);
             if (alea>50){
               deco1();}
             else {
               deco2();}
          }
          Allumer=1;
          Temp2++;
          if (Temp2>400) {
             Temp2=0;
             affichage();
     
          }
        }
        else {
         if (Allumer==1){
           eteindre();
           Allumer=0;
         }
        }
     
     
     
    }
     
    void shiftOut(byte dataOut) {
     
     boolean pinState;
     digitalWrite (dataPin, LOW);
     digitalWrite (clockPin, LOW);
     
     for (int i=0; i<=7; i++) {
      digitalWrite(clockPin, LOW);
      if (dataOut & (1<<i)) {
       pinState=HIGH;
      }
      else {
       pinState=LOW;
      }
     
     digitalWrite(dataPin,pinState);
     digitalWrite (clockPin, HIGH);
     digitalWrite (dataPin, LOW);
     }
     
     digitalWrite (clockPin, LOW);
     
    }
     
    void  deco1() {
     
      for (int i=1; i <= 10; i++){
         k=1;
           for (int j=0; j <= 7; j++){
     
     
              digitalWrite(latchPin, LOW);
              alea=random(0,2);
              shiftOut(k*alea);
              alea=random(0,2);
              shiftOut(k*alea);
              alea=random(0,2);
              shiftOut(k*alea);
              digitalWrite(latchPin, HIGH);
              delay(20);
              k=k*2;
     
            }
         }
     
     
    }
     
     
    void deco2() {
     
        for (int i=0; i <= 25; i++){
     
         digitalWrite(latchPin, LOW);
        alea=random(250)+1;
        shiftOut(alea);
        alea=random(250)+1;
        shiftOut(alea);
        alea=random(250)+1;
        shiftOut(alea);
     
        digitalWrite(latchPin, HIGH);
        alea=random(200)+50;
        delay(alea);
     
        }
     
    }
     
    void affichage() {
     
        RTC.get(rtc,true);
     
     
         Temp2=400;
     
     
     
       // calcul de l'heure
     
       Compteur1=32;  // "Il est"
       Compteur2=0;
       Compteur3=160;  // "Heure" et "s"
     
       Coef=0;
       if (rtc[1]>34) {
         Coef=1;  // coef pour les heures
         Compteur3=Compteur3+2; // "Moins"
       }
     
     
         if (rtc[2]==1-Coef || rtc[2]==13-Coef) {
           Compteur2=Compteur2+8; // "Une"
           Compteur3=Compteur3-128; // Suppression du "S"
         }
     
         if (rtc[2]==2-Coef || rtc[2]==14-Coef) Compteur1=Compteur1+4; // "Deux"
         if (rtc[2]==3-Coef || rtc[2]==15-Coef) Compteur2=Compteur2+1; // "Trois"
         if (rtc[2]==4-Coef || rtc[2]==16-Coef) Compteur1=Compteur1+16; // "Quatre"
         if (rtc[2]==5-Coef || rtc[2]==17-Coef) Compteur2=Compteur2+32; // "Cinq"
         if (rtc[2]==6-Coef || rtc[2]==18-Coef) Compteur2=Compteur2+16; // "Six"
         if (rtc[2]==7-Coef || rtc[2]==19-Coef) Compteur1=Compteur1+8; // "Sept"
         if (rtc[2]==8-Coef || rtc[2]==20-Coef) Compteur2=Compteur2+2; // "Huit"
         if (rtc[2]==9-Coef || rtc[2]==21-Coef) Compteur1=Compteur1+64; // "Neuf"
         if (rtc[2]==10-Coef || rtc[2]==22-Coef) Compteur3=Compteur3+4; // "Dix"
         if (rtc[2]==11-Coef || rtc[2]==23-Coef) Compteur1=Compteur1+128; // "Onze"
         if (rtc[2]==12-Coef) {
           Compteur1=Compteur1+1; // "Midi"
           Compteur3=Compteur3-160; // Suppression de "heure" et de "S"
         }
         if ((rtc[2]==0 && Coef==0)||(rtc[2]==23 && Coef==1)) Compteur3=Compteur3-152; // "Minuit" et Suppression de "heure" et de "s" (8-160)=-152
     
        if ((rtc[1]>4 && rtc[1]<10)||(rtc[1]>54)||(rtc[1]>24 && rtc[1]<30)||(rtc[1]>34 && rtc[1]<40)) Compteur3=Compteur3+16;  // "Cinq" (minutes)
        if ((rtc[1]>9 && rtc[1]<15)||(rtc[1]>49 && rtc[1]<55)) Compteur2=Compteur2+4; // "Dix" (minutes)
        if ((rtc[1]>19 && rtc[1]<30)||(rtc[1]>34 && rtc[1]<45)) Compteur3=Compteur3+1;  // "Vingt"
        if ((rtc[1]>14 && rtc[1]<20)||(rtc[1]>44 && rtc[1]<50)) Compteur2=Compteur2+64;  // "Quart"
        if ((rtc[1]>14 && rtc[1]<20)||(rtc[1]>29 && rtc[1]<35))  Compteur1=Compteur1+2; // "Et"
        if (rtc[1]>44 && rtc[1]<50)  Compteur3=Compteur3+64; // "Le"
        if (rtc[1]>29 && rtc[1]<35) Compteur2=Compteur2+128; // "Demi"
     
     
       // affichage de l'heure
        digitalWrite(latchPin, LOW);
        shiftOut(Compteur3);
        shiftOut(Compteur2);
        shiftOut(Compteur1);
        digitalWrite(latchPin, HIGH);
     
    }
     
     
    void eteindre(){
       digitalWrite(latchPin, LOW);
        shiftOut(0);
        shiftOut(0);
        shiftOut(0);
        digitalWrite(latchPin, HIGH);
    }

  4. #4
    Expert confirmé

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

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    non je disais juste de mettre

    sans autre include

    mais en fait il semble que ce ne soit pas la bibliothèque Adafruit dont vous avez besoin mais une autre qui définirait un objet global RTC...
    je ne sais pas laquelle correspond il faudrait des précisions sur là où vous avez trouvé ce vieux code...

  5. #5
    Membre averti
    Homme Profil pro
    bricoleur retraité
    Inscrit en
    Janvier 2024
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Suisse

    Informations professionnelles :
    Activité : bricoleur retraité

    Informations forums :
    Inscription : Janvier 2024
    Messages : 28
    Par défaut Wordclock
    J'ai trouve un autre programme mais j'ai un problème cars la date change toutes les secondes (dû a la ligne delay(1000) en fin de programme) comment modifier le programme pour que la date soit raccord avec l'horloge DS3231
    Le programme est :
    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
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    #include <Adafruit_NeoPixel.h>
    #include "RTClib.h"
     
    #define RGBLEDPIN 6
    #define N_LEDS 120
     
    int hours_switch = 7;
    int minutes_switch = 6;
    int hours_offset = 0;
    int minutes_offset = 0;
    int the_hours = 0;
    int the_minutes = 0;
    bool pm = false;
     
    // initialisation module RTC
    RTC_DS3231 rtc;
     
    // initialisation NeoPixel
    Adafruit_NeoPixel strip = Adafruit_NeoPixel(N_LEDS, RGBLEDPIN, NEO_GRB + NEO_KHZ800);
     
    // luminosité
    int the_brightness = 50;
     
    // couleurs
    uint32_t color_white = strip.Color(255, 255, 255);
     
    // tableau des mots
    int words[31][15] = {
     
      {0, 1, 3, 4, 5}, // #0 / IL EST
     
      {7, 8, 9}, // #1 / UNE
      {11, 12, 13, 14}, // #2 / DEUX
      {25, 26, 27, 28, 29}, // #3 / TROIS
      {19, 20, 21, 22, 23, 24}, // #4 / QUATRE
      {15, 16, 17, 18}, // #5 / CINQ
      {30, 31, 32}, // #6 / SIX
      {35, 36, 37, 38}, // #7 / SEPT
      {41, 42, 43, 44}, // #8 / HUIT
      {56, 57, 58, 59}, // #9 / NEUF
      {51, 52, 53}, // #10 / DIX
      {45, 46, 47, 48}, // #11 / ONZE
     
      {61, 62, 63, 64, 65}, // #12 / HEURE
      {61, 62, 63, 64, 65, 66}, // #13 / HEURES
     
      {86, 87, 88, 89}, // #14 / MIDI
      {68, 69, 70, 71, 72, 73}, // #15 / MINUIT
     
      {100, 101, 102, 103}, // #16 / CINQ (2)
      {90, 91, 92}, // #17 / DIX (2)
      {83, 84, 110, 111, 112, 113, 114}, // #18 / ET QUART
      {94, 95, 96, 97, 98}, // #19 / VINGT
      {94, 95, 96, 97, 98, 99, 100, 101, 102, 103}, // #20 / VINGT CINQ
      {83, 84, 115, 116, 117, 118, 119}, // #21 / ET DEMIE
      {78, 79, 80, 81, 82, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103}, // #22 / MOINS VINGT-CINQ
      {78, 79, 80, 81, 82, 94, 95, 96, 97, 98}, // #23 / MOINS VINGT
      {75, 76, 78, 79, 80, 81, 82, 110, 111, 112, 113, 114}, // #24 / MOINS LE QUART
      {78, 79, 80, 81, 82, 90, 91, 92}, // #25 / MOINS DIX
      {78, 79, 80, 81, 82, 100, 101, 102, 103}, // #26 / MOINS CINQ
     
      {108}, // #27 / 1 POINT
      {107, 108}, // #28 / 2 POINTS
      {106, 107, 108}, // #29 / 3 POINTS
      {105, 106, 107, 108} // #30 / 4 POINTS
     
    };
     
    void setup() {
     
      Serial.begin(9600);
     
      if (!rtc.begin()) {
        Serial.println("Couldn't find RTC");
        Serial.flush();
        abort();
      }
     
      if (rtc.lostPower()) {
        Serial.println("RTC lost power, let's set the time!");
        rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
      }
     
      pinMode(hours_switch, INPUT);
      pinMode(minutes_switch, INPUT);
     
      strip.begin();
      strip.show();
     
      strip.setBrightness(the_brightness);
     
    }
     
    void loop() {
     
      if (digitalRead(hours_switch) == LOW) {
        hours_offset++;
      }
     
      if (digitalRead(minutes_switch) == LOW) {
        minutes_offset++;
      }
     
      strip.clear();
     
      int what_time_is_it[5] = {};
      what_time_is_it[0] = 0; // IL EST
     
      DateTime now = rtc.now();
     
      the_hours = now.hour();
      the_minutes = now.minute();
     
      the_hours += hours_offset;
      the_minutes += minutes_offset;
     
      while (the_minutes > 59) {
        the_minutes -= 60;
        the_hours++;
      }
     
      while (the_hours > 23) {
        the_hours -= 24;
      }
     
      if (the_minutes >= 5 && the_minutes < 10) {
        what_time_is_it[3] = 16; // CINQ (2)
      }
      else if (the_minutes >= 10 && the_minutes < 15) {
        what_time_is_it[3] = 17; // DIX (2)
      }
      else if (the_minutes >= 15 && the_minutes < 20) {
        what_time_is_it[3] = 18; // ET QUART
      }
      else if (the_minutes >= 20 && the_minutes < 25) {
        what_time_is_it[3] = 19; // VINGT
      }
      else if (the_minutes >= 25 && the_minutes < 30) {
        what_time_is_it[3] = 20; // VINGT-CINQ
      }
      else if (the_minutes >= 30 && the_minutes < 35) {
        what_time_is_it[3] = 21; // ET DEMIE
      }
      else if (the_minutes >= 35 && the_minutes < 40) {
        what_time_is_it[3] = 22; // MOINS VINGT-CINQ
      }
      else if (the_minutes >= 40 && the_minutes < 45) {
        what_time_is_it[3] = 23; // MOINS VINGT
      }
      else if (the_minutes >= 45 && the_minutes < 50) {
        what_time_is_it[3] = 24; // MOINS LE QUART
      }
      else if (the_minutes >= 50 && the_minutes < 55) {
        what_time_is_it[3] = 25; // MOINS DIX
      }
      else if (the_minutes >= 55) {
        what_time_is_it[3] = 26; // MOINS CINQ
      }
     
      if (the_minutes >= 35) {
        the_hours++;
      }
     
      if (the_hours > 12) {
        the_hours -= 12;
        pm = true;
      }
      else {
        pm = false;
      }
     
      int the_minutes_last_digit = the_minutes % 10;
     
      switch (the_minutes_last_digit) {
     
        case 1:
        case 6:
          what_time_is_it[4] = 27; // 1 POINT
          break;
     
        case 2:
        case 7:
          what_time_is_it[4] = 28; // 2 POINTS
          break;
     
        case 3:
        case 8:
          what_time_is_it[4] = 29; // 3 POINTS
          break;
     
        case 4:
        case 9:
          what_time_is_it[4] = 30; // 4 POINTS
          break;
     
      }
     
      if (the_hours == 12 && !pm) {
        what_time_is_it[1] = 14; // MIDI
      }
      else if (the_hours == 0 || (the_hours == 12 && pm)) {
        what_time_is_it[1] = 15; // MINUIT
      }
      else {
        what_time_is_it[1] = the_hours;
      }
     
      if (the_hours == 1) {
        what_time_is_it[2] = 12; // HEURE
      }
      else if (the_hours > 1 && the_hours < 12) {
        what_time_is_it[2] = 13; // HEURES
      }
     
      int m = sizeof(words[0]) / sizeof(words[0][0]);
      int n = sizeof(what_time_is_it) / sizeof(what_time_is_it[0]);
     
      for(int j = 0; j < n; j++) {
        for(int i = 0; i < m; i++) {
          strip.setPixelColor(words[what_time_is_it[j]][i], color_white);
        }
      }
     
      strip.show();
     
      delay(1000);
     
    }

  6. #6
    Expert confirmé

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

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    Citation Envoyé par Cloclo2400 Voir le message
    car la date change toutes les secondes (dû a la ligne delay(1000) en fin de programme)
    ce n'est pas le délai qui fait changer l'heure, c'est juste le temps qui passe..

    je ne comprends pas ce que vous voulez dire. le code va lire l'heure sur la RTC (assurez vous qu'elle soit correcte - ici la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));
    met l'heure de l'horloge à l'heure où vous avez compilé le code... c'est bien lors d'un upload car c'est à peu près la bonne heure mais si vous rebootez votre arduino 10 jours plus tard et que l'horloge a perdu sa date (parce que sa pile ne fonctionne pas par exemple) alors vous allez remettre la date ancienne...

  7. #7
    Membre averti
    Homme Profil pro
    bricoleur retraité
    Inscrit en
    Janvier 2024
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Suisse

    Informations professionnelles :
    Activité : bricoleur retraité

    Informations forums :
    Inscription : Janvier 2024
    Messages : 28
    Par défaut
    Merci pour votre réponse, lors du chargement du programme chaque mots ( un, deux ,trois, ....) defile toutes les secondes et non par rapport a l'heure quelle devrait afficher comme si il ne prenait pas en conte l'horloge .
    ''IL EST'' reste bien allumer et ensuite defilement toutes les secondes des mots UNE , DEUX, TROIS,,QUATRE, ..... , elle fait le tour et elle recommence UNE, DEUX, ...

  8. #8
    Expert confirmé

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

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    Rajoutez des print de debug pour voir ce qu’il se passe

  9. #9
    Membre averti
    Homme Profil pro
    bricoleur retraité
    Inscrit en
    Janvier 2024
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Suisse

    Informations professionnelles :
    Activité : bricoleur retraité

    Informations forums :
    Inscription : Janvier 2024
    Messages : 28
    Par défaut
    Merci de votre réponse, debutant pourriez vous m'indiquer comment ajouter ces lignes.

  10. #10
    Expert confirmé

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

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    j'ai jeté un oeil au code et il faut virer cela de la loop:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      if (digitalRead(hours_switch) == LOW) {
        hours_offset++;
      }
     
      if (digitalRead(minutes_switch) == LOW) {
        minutes_offset++;
      }
    c'est ce qui augmente les minutes et secondes à chaque tour de loop.

    à quoi sont supposés servir ces 2 boutons dans le projet que vous avez trouvé ? peut-être pour simuler le temps qui passe plus rapidement ?
    comment avez vous câblés ces deux boutons ? ils sont juste déclarés en INPUT donc il faut une résistance de pull-up externe.

  11. #11
    Membre averti
    Homme Profil pro
    bricoleur retraité
    Inscrit en
    Janvier 2024
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Suisse

    Informations professionnelles :
    Activité : bricoleur retraité

    Informations forums :
    Inscription : Janvier 2024
    Messages : 28
    Par défaut
    Merci pour l'info je vais tester cet après-midi, pour les deux boutons je pense qu'il servent pour régler l'heure et pour rendre la modification de l'heure sans le passage par l'ordinateur

  12. #12
    Expert confirmé

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

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    OK - tel que c'est codé ils ne font pas cela...

    mettez la RTC à l'heure une fois et essayez le code sans ces lignes dans la loop.

  13. #13
    Membre averti
    Homme Profil pro
    bricoleur retraité
    Inscrit en
    Janvier 2024
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Suisse

    Informations professionnelles :
    Activité : bricoleur retraité

    Informations forums :
    Inscription : Janvier 2024
    Messages : 28
    Par défaut
    Super ça fonctionne , maintenant comment ajouter la correction de l'heure et minutes avec les boutons.
    Encore merci beaucoup pour les infos

  14. #14
    Expert confirmé

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

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    Citation Envoyé par Cloclo2400 Voir le message
    comment ajouter la correction de l'heure et minutes avec les boutons.
    la RTC gère plus que l'heure et les minutes... (année, mois, jour, heure, minute, seconde).

    si vous voulez pouvoir changer toutes les infos, deux boutons c'est un peu limité même si on peut imaginer des clicks et double-clicks

  15. #15
    Membre averti
    Homme Profil pro
    bricoleur retraité
    Inscrit en
    Janvier 2024
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Suisse

    Informations professionnelles :
    Activité : bricoleur retraité

    Informations forums :
    Inscription : Janvier 2024
    Messages : 28
    Par défaut
    Oui mais si j'aimerais changer que l'heure et les minutes (par exemple au changement d'horaire) est ce envisageable avec deux boutons.
    L'objectif est d'avoir une horloge autonome ou on peut régler l'heure si il y a trop de derive dans le temps

  16. #16
    Membre averti
    Homme Profil pro
    bricoleur retraité
    Inscrit en
    Janvier 2024
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Suisse

    Informations professionnelles :
    Activité : bricoleur retraité

    Informations forums :
    Inscription : Janvier 2024
    Messages : 28
    Par défaut
    Après reflection je pense qu'il est préférable d'avoir
    Heure -
    Heure +
    Minute -
    Minute +

  17. #17
    Expert confirmé

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

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    et comment réglez vous le jour, mois ou année ? la RTC en a besoin aussi

    sinon pour le passage à l'heure d'été il faut juste un switch qui dit "Heure d'été ou Heure d'hiver"

    votre code pourrait même prendre cela en compte et gérer le changement d'heure tout seul (il y a des codes qui font cela) (cf par exemple https://forum.arduino.cc/t/partage-l...e-hiver/376814)

  18. #18
    Membre Expert Avatar de edgarjacobs
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2011
    Messages
    785
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2011
    Messages : 785
    Par défaut
    Hello,

    Juste pour info: je suis sur projet qui nécessite une RTC, et j'ai opté pour un encodeur rotatif (un tutoriel) pour le réglage année / mois / jour / heure / minute (/ seconde --> à voir).

    Appuyer sur le bouton permet d'entrer en mode modification, dans ce mode, tourner le bouton à gauche / à droite décrémente / incrémente la valeur, et l'appui sur le bouton valide la valeur et sort du mode modification.
    Si je ne suis pas en mode modification, tourner le bouton permet de passer de valeur en valeur.
    Avantage de l'encodeur rotatif: un seul "bouton" pour tout faire. Inconvénient: programme plus "complexe" et plus lourd.

    Je ne poste pas de code, le prototype est en cours d'élaboration (en C sous windows avec sdl pour commencer). Mais j'ai déjà testé la bête sur arduino, ça fonctionne ++.

    (Edit: orthographe)

  19. #19
    Membre averti
    Homme Profil pro
    bricoleur retraité
    Inscrit en
    Janvier 2024
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Suisse

    Informations professionnelles :
    Activité : bricoleur retraité

    Informations forums :
    Inscription : Janvier 2024
    Messages : 28
    Par défaut
    Sur l'horloge il n'est pas indiqué la date, seulement l'heure et minutes donc pas besoin de modifier ces paramètres
    Exemple de réalisation


    Merci et bonne soirée
    Images attachées Images attachées  

  20. #20
    Expert confirmé

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

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 908
    Par défaut
    OK - donc vous vous fichez de la date exacte, vous voulez juste avoir un bouton qui augmente l'heure et un pour les minutes

    Deux boutons peuvent alors suffire, il faudra juste faire le tour du cadran pour reculer d'une heure à l'automne

    Le code que vous aviez peut faire le job

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      if (digitalRead(hours_switch) == LOW) {
        hours_offset++;
      }
     
      if (digitalRead(minutes_switch) == LOW) {
        minutes_offset++;
      }
    mais il faut changer dans le setup
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      pinMode(hours_switch, INPUT);
      pinMode(minutes_switch, INPUT);
    en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      pinMode(hours_switch, INPUT_PULLUP);
      pinMode(minutes_switch, INPUT_PULLUP);
    et le bouton doit être câblé entre la pin et GND. (pinArduino <----> pinBouton-[BOUTON]-pinOpposée <----> GND)

    ou alors il faut avoir mis des résistances de pullup comme il a dû le faire dans son montage

    gardez le delay de 1 seconde à la fin de la loop. ça permet de gérer les rebonds.

    si vous tenez le bouton appuyé cela augmentera ainsi l'heure ou les minutes de 1 toutes le secondes

    le code n'est pas "génial" car il ne modifie l'heure qui est dans la RTC, juste un calcul d'offset...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/08/2022, 19h05
  2. Réponses: 2
    Dernier message: 04/05/2021, 09h58
  3. Thermocouple avec Arduino Nano v3.0
    Par redui dans le forum Arduino
    Réponses: 13
    Dernier message: 13/12/2016, 12h23
  4. Bug communication serie avec arduino (busy)
    Par Invité dans le forum MATLAB
    Réponses: 2
    Dernier message: 09/07/2012, 09h39
  5. Besoin D'aide Avec TSX NANO
    Par Pedrox dans le forum Automation
    Réponses: 1
    Dernier message: 17/06/2010, 21h40

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