Parlons Arduino > Trucs & astuces

Allumer et éteindre des LEDs

(1/3) > >>

Minimir09:
Bonjour à toutes et tous,

dans un petit bout de code de type chenillard, je trouve un peu "sec" l'allumage et l'extinction des LEDs.
Peur-on intervenir sur la puissance de l'éclairage dans le code, comme si on agissait avec un rhéostat !
Cordialement, Minimir09  ;)

--- Code: ---int timer = 100 ;
int intPin0 ;
int intPin1 ;
int intPin2 ;

void setup() {
  for (intPin0 = 4; intPin0 <= 13; intPin0++) {
    pinMode(intPin0, OUTPUT) ;
  }
}
void loop() {
  for (intPin0 = 4; intPin0 <= 13; intPin0++) {
    digitalWrite(intPin0, HIGH) ;  // allumage LED n°1
    delay(timer) ;
    digitalWrite(intPin1, LOW) ;   // extinction LED n° 2
    delay(timer) ;
    intPin1 = intPin0 + 1 ;        // sélection LED n°2
    digitalWrite(intPin1, HIGH) ;  // allumage LED n°2
    delay(timer) ;
    intPin2 = intPin0 + 2 ;        // sélection LED n°3
    digitalWrite(intPin2, HIGH) ;  // allumage LED n°3
    digitalWrite(intPin0, LOW) ;   // extinction LED n°1
  }
}

--- Fin du code ---

msport:
Bonjour,
vous lirez avec profit l'article " La PWM : Qu’est-ce que c’est ? (1) "
Il répond exactement à votre question.
https://www.locoduino.org/spip.php?article47

chris_bzg:
Bonjour Minimir09,

La solution pourrait être de choisir des broches capables de faire de la PWM, et d'utiliser analogWrite. Ainsi, vous pourrez ajuster la valeur de luminosité des LED, ce qui peut être intéressant surtout si vos LED sont de couleurs différentes. Je vous laisse trouver comment adapter votre code...

Evitez d'utiliser des noms de variables qui ressemblent à des éléments du microcontrôleur (comme votre variable timer qui peut prêter à confusion) ; dans le pire des cas, cela pourrait d'ailleurs faire planter le programme (par exemple si vous donnez un nom de variable identique à un nom de fonction : imaginez que vous ayez nommé votre variable int delay !).
La bonne pratique est d'utiliser un nom spécifique, par exemple :

--- Code: ---int delaiAllumage = 100;  // en millisecondes
--- Fin du code ---

D'ailleurs, je vous conseille la lecture de cette page qui donne des bonnes pratiques :
https://www.arduino.cc/en/Reference/StyleGuide

Minimir09:
Merci à vous tous ! surtout pour la confusion qu'il peut y avoir sur certain terme, j'en prends bonne note !

Minimir09:

--- Citation de: Minimir09 ---https://www.locoduino.org/spip.php?article47


--- Fin de citation ---

J'ai 10 LEDs , et sur la UNO, il n'y a pas assez de broches PWM.
Quelle serai la solution ? Existe-t-il une possibilité de passer les broches 4 à 13 en PWM au moyen du code ?

Navigation

[0] Index des messages

[#] Page suivante

Utiliser la version classique