Bonsoir le forum ! :
:
Dans ce tutoriel dédié à l'Arduino (C/C++), je vais poffiner ce tutoriel.
Donc si vous ne l'avez pas suivi, il est fort possible que vous ne comprenez pas ce que je vais faire ici.
Ce tutoriel va être assez court, car c'est juste une petite amélioration, donc au niveau des composants c'est exactement pareil.
Mais nous allons tout de même refaire le code depuis le début, mais avant je vous rappel le montage :
https://reality-gaming.fr/proxy.php?image=http%3A%2F%2Fwiki.labaixbidouille.com%2Fimages%2F7%2F73%2F4_LED_Fritzing.png&hash=04306d2f9e040fe0e1fe271c0198b0e6
Comme dans l'autre tutoriel, nous allons utiliser seulement 3 Leds, pour ma part :
LED Rouge = PIN 13
LED Blanche = PIN 12
LED Bleue = PIN 11
Avant de nous attaquer à la partie "setup", nous aller enumérer les couleurs de chaque LEDs comme ceci :
Dans ce tutoriel dédié à l'Arduino (C/C++), je vais poffiner ce tutoriel.
Donc si vous ne l'avez pas suivi, il est fort possible que vous ne comprenez pas ce que je vais faire ici.
Ce tutoriel va être assez court, car c'est juste une petite amélioration, donc au niveau des composants c'est exactement pareil.
Mais nous allons tout de même refaire le code depuis le début, mais avant je vous rappel le montage :
https://reality-gaming.fr/proxy.php?image=http%3A%2F%2Fwiki.labaixbidouille.com%2Fimages%2F7%2F73%2F4_LED_Fritzing.png&hash=04306d2f9e040fe0e1fe271c0198b0e6
Comme dans l'autre tutoriel, nous allons utiliser seulement 3 Leds, pour ma part :
LED Rouge = PIN 13
LED Blanche = PIN 12
LED Bleue = PIN 11
Avant de nous attaquer à la partie "setup", nous aller enumérer les couleurs de chaque LEDs comme ceci :
Code:
enum { ROUGE, BLANC, BLEUE };
Maintenant, nous allons dire les pins sur les quelles sont branchées nos Leds.
Nous allons donc mettre tous ça dans la fonction "setup" :
Code:
void setup() {
pinMode(13, OUTPUT);
pinMode(12, OUTPUT);
pinMode(11, OUTPUT);
}
Nous en avons déjà terminer pour la partie "setup".
Maintenant nous allons créer notre fonction !
Avant de commencer, à quoi sert une fonction?
Une fonction sert à ne pas nous répéter (résumé très bref
).
Dans notre chenillard nous allons écrire beaucoup de fois la commande pour allumer et éteindre les LEDS, donc au lieu d'écrire "Allumer Led, attendre 0.5 secondes, éteindre LED" pleins de fois, nous allons l'écrire qu'une fois.
Et par la suite nous aurons plus qu'a appeler cette fonction.
Pour créer une fonction rien de plus simple ! :
Maintenant nous allons créer notre fonction !
Avant de commencer, à quoi sert une fonction?
Une fonction sert à ne pas nous répéter (résumé très bref
Dans notre chenillard nous allons écrire beaucoup de fois la commande pour allumer et éteindre les LEDS, donc au lieu d'écrire "Allumer Led, attendre 0.5 secondes, éteindre LED" pleins de fois, nous allons l'écrire qu'une fois.
Et par la suite nous aurons plus qu'a appeler cette fonction.
Pour créer une fonction rien de plus simple ! :
Code:
void votreFonction(const byte laquelle) {
// contenu
}
Vous noterez le "const byte laquelle" expliquez ici :
Notez la déclaration de l’argument : "const byte laquelle". Cela signifie que l’argument "laquelle" est constant à l’intérieur de la fonction, sa valeur n’y sera donc pas modifiable. "byte" est le type.
Pour ma part je vais appeler la fonction "startLed".
En premier lieu, on va éteindre toutes les LEDs (ce sera l'état par défaut des LEDs si la fonction n'est pas appelé).
En premier lieu, on va éteindre toutes les LEDs (ce sera l'état par défaut des LEDs si la fonction n'est pas appelé).
Code:
void startLed(const byte laquelle) {
// LEDs éteintes si non appelées
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
}
Voilà a quoi ressemble l'ensemble du programme pour le moment :

Note: Les "//" sont des commentaires, ils ne servent qu'à expliquer à l'utilisateur ce que fait le code pour simplifier la lecture de celui-ci. Le programme en lui même ne lis pas les commentaires.
Maintenant nous allons utiliser une instruction conditionnelle nommée "switch case".
En effet, l'argument "laquelle" (Qui signifie: "laquelle de couleur") va nous permettre d'écrire ce code :
Code:
votreFonction(COULEUR);
Pour pouvoir allumer la couleur que l'on souhaite.
Commençons donc par appeler l'argument "laquelle" dans notre switch :
Commençons donc par appeler l'argument "laquelle" dans notre switch :
Code:
switch (laquelle) {
// case
}
A l'intérieur du switch, nous allons déterminer les "cases" par les couleurs de chaque LEDs.
Donc il y aura 3 cases, une nommée "ROUGE", une autre "BLANC" et la dernière "BLEUE".
Et pour chaque cases, nous allons taper le code qu'elle devra exécuter.
Rappeler vous, au début du tutoriel je vous ai indiqué les PINS de chaque LEDs, par exemple, je sais que la LED Rouge se situe sur la PIN 13.
Je vais donc dire à la "case ROUGE" d'allumer la PIN 13 :
Donc il y aura 3 cases, une nommée "ROUGE", une autre "BLANC" et la dernière "BLEUE".
Et pour chaque cases, nous allons taper le code qu'elle devra exécuter.
Rappeler vous, au début du tutoriel je vous ai indiqué les PINS de chaque LEDs, par exemple, je sais que la LED Rouge se situe sur la PIN 13.
Je vais donc dire à la "case ROUGE" d'allumer la PIN 13 :
Code:
case ROUGE: digitalWrite(13, HIGH); break;
Idem pour les autres LEDs.
Notez que pour dire au programme qu'une "case" est fini, il faut mettre "break;" à la fin.
Voici donc le résultat :
Notez que pour dire au programme qu'une "case" est fini, il faut mettre "break;" à la fin.
Voici donc le résultat :
Code:
switch (laquelle) {
case ROUGE: digitalWrite(13, HIGH); break;
case BLANC: digitalWrite(12, HIGH); break;
case BLEUE: digitalWrite(11, HIGH); break;
}
Et voici à quoi ressemble notre code pour le moment :

Et s'en est fini de notre fonction, nous allons désormais passer à la "loop" pour créer notre chenillard !
Dans cette partie, je n'ai pas grand chose à vous expliquer, je vous laisse voir le résultat :
Dans cette partie, je n'ai pas grand chose à vous expliquer, je vous laisse voir le résultat :
Code:
void loop() {
startLed(ROUGE);
delay(500);
startLed(BLANC);
delay(500);
startLed(BLEUE);
delay(500);
}

Vous pouvez remarqué que comparé au tutoriel de base, le code est beaucoup plus propre, et court !
Vu sous cette forme on peut se dire que faire ce type de code c'est se compliquer la vie pour pas grand chose, mais sur des programmes beaucoup plus imposants, l'utilisations de fonctions est plus que recommandés pour éviter de ce répéter et pour avoir un code plus lisible !
Vu sous cette forme on peut se dire que faire ce type de code c'est se compliquer la vie pour pas grand chose, mais sur des programmes beaucoup plus imposants, l'utilisations de fonctions est plus que recommandés pour éviter de ce répéter et pour avoir un code plus lisible !
Dernière édition: