Délai entre deux exécutions de boucles
Le troisième bloc contient une fonction exécutée en boucle jusqu’à l’appui du bouton reset ou l’arrêt de l’alimentation de la carte. Le micro-contrôleur tourne naturellement à 16 MHz, et les boucles tournent généralement à environ 100 000 instructions par seconde (variable en fonction de la complexité des instructions) si aucun minuteur (delay) ne vient ralentir son exécution.
void loop() // ce bloc est exécuté en boucle jusqu’au débranchement de la carte ou appui sur le bouton reset
{
for (int a=0; a<=255;a++) // cette boucle permet d’incrémenter l’éclairage de la led par le biais d’un contrôle de type PWM (analogique), ceci est possible car le connecteur ou pin 11 a la particularité de pouvoir être utilisé en analogique ou numérique
{
analogWrite(ledpin,a); // cette boucle envoie la valeur de PWM à la sortie 11 qui est déclarée comme analogique, 255 correspond à une valeur de 100 % en PWM
delay(15); // ajoute une temporisation de 15 ms entre deux incréments de niveau de luminosité afin que le changement reste perceptible
}
for (int a=255; a>=0;a--) // cette boucle décrémente la valeur de PWM jusqu’à l’extinction (valeur = 0)
{
analogWrite(ledpin,a);
delay(15);
}
delay(100); // temps de pause entre deux cycles d’augmentation et réduction de la luminosité
}
Une LED est un composant polarisé qui ne laisse passer le courant que dans un sens, comme le ferait une diode. Le courant circule, et donc la LED s'allume, quand sa patte la plus longue est reliée au 5V (ou au 3.3V) et quand la plus courte est reliée au GND sur une carte Arduino :

Question 1 : Comment fonctionne une boucle FOR en langage Arduino ?⚓
Une boucle de type FOR est construite ainsi :
for (int variable=valeurDeDépart; variable<=valeurDArrêt; variable++) {corpsDeLaBoucle}
Ses 4 composants principaux sont les suivants
- int variable=valeurDeDépart : permet de préciser quelle sera la variable de boucle et sa valeur de départ, qui peut être différente de 0.
- variable<=valeurDArrêt : permet de préciser la condition d'arrêt, elle peut être égale, inférieure, supérieure, inférieure ou égale, supérieure ou égal à une valeur d'arrêt.
- variable++ : permet de préciser la valeur de l'incrément de la variable après chaque itération de la boucle, variable++est équivalent à variable = variable +1. L'incrément n'est pas systématiquement de 1, par exemple si vous désirez augmenter de 3 à chaque itération, il faut écrire variable+=3 ou variable = variable + 3.
- { } : limite le bloc qui sera exécuté à chaque itération.