Bonjour à tous,
Je me suis lancé dans un projet de montage leds représentant notre logo associatif (Chorale Cantabile) et après de longues recherches sur Internet la carte Arduino Nano s'imposa à moi afin des gérer diverses variantes de fonctionnement. Malgré les différents tutos visionnés, étant novice, je bloque encore sur la fusion de deux programmes. Ceux-ci,chenillard et enseigne, comportent la fonction "Delay" qui je sais me bloquent le programme. Pour les fusionner j'ai bien pris en compte un "void setup1", "void setup2", ainsi que "void loop1" et "void loop2" avec la fonction "millis"mais les messages d'erreurs que je ne comprends pas encore m'empéchent de continuer. Je ne vais pas pour autant abandonner ma formation d'Arduino, mais à cet instant serait'il possible que quelqu'un me vienne en aide. Merci d'avance. P.S. Après les soudures terminées je posterais la photo du projet.

Voiçi donc les deux codes:

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
//Fonction chenillard pour le projet Cantabile
//Représentant les notes
// Initialisation des lignes 4 à 7 en sortie
void setup () {
  pinMode (4, OUTPUT) ;
  pinMode (5, OUTPUT) ;
  pinMode (6, OUTPUT) ;
  pinMode (7, OUTPUT) ;
}
 
// Fonction loop
void loop () {
  // Extinction de toutes les DEL au départ du programme
  for (byte i = 4 ; i <= 7 ; i++) {
    digitalWrite (i, LOW) ; // éteint la DEL reliée à la broche i
  }
 
  // Boucle pour faire flasher les DEL
  for (byte i = 4 ; i <= 7 ; i++) {
    digitalWrite (i, HIGH) ; // allume la DEL sur broche i
    delay (500) ; // durée du flash 500 millisecondes
    digitalWrite (i, LOW) ; // éteint la DEL
  }
 
  // délai de 500 millisecondes
  delay (500) ;
 
  // Recommence la séquence
}

Le deuxième:

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
//fonction enseigne pour le projet Cantabile
//représentant le nom
//Initialisation des lignes 9 et 10, PWM, en sorties
 
int pin1 = 9; //PWM pin
int pin2 = 10; //PWM pin
 
void setup() {
 pinMode(pin1, OUTPUT);
 pinMode(pin2, OUTPUT);
}
 
byte number = 0;
bool goingUp = true; //This sets the direction
 
void loop() {
 
  if(goingUp) //this will be true the first time we run and true until we set it false
  {
      analogWrite(pin1, number);
      analogWrite(pin2, 230 - number); //write the opposite
      number++; //increase number
      if(number == 230)
      {
          goingUp = false; //switch direction, we reached the top 
      }  
  }
  else //we are going down here
  {
       analogWrite(pin1, number);
       analogWrite(pin2, 230 - number);
 
       number = number - 5; //decrease number by a factor of 5
       //normally -1 means 1 second for 255 loops()
       //but we want 0.2 seconds, so that's a 1/5th of a second
       //so go 5 times faster than on the fadeUp
 
       if(number <= 5)
       {  
           goingUp = true; //switch direction again, going up
           number = 5; //just in case it went in the negative, reset to 0
       }
  }
 
  delayMicroseconds(8000); //IMPORTANT. for 3.9 milliseconds, we do nothing
  //This means roughly, every 255 cycles that equals 1 second
}