Clignotement variable d'une LED
L'objectif de cet exercice est de piloter le clignotement d'une LED à l'aide d'un potentiomètre.
Des sous-exercices de difficulté graduelle vous sont proposés.
Pour cet exercice vous aurez besoin du matériel suivant :
Type | Quantité |
---|---|
platine Arduino | 1 |
Plaque à essais | 1 |
Fil de câblage | 6 |
Résistance de 330 Ω | 1 |
LED (couleur au choix) | 1 |
Potentiomètre | 1 |
Le montage à effectuer est celui de la figure ci-dessous :
L'objectif de ce premier exercice est d'allumer une LED N millisecondes puis de l'éteindre N autres millisecondes et de répéter cela tout le temps. La valeur de N sera déterminée par la position du potentiomètre.
setup()
et loop()
pour réaliser cet exercice.map()
).D'après Wikipedia « Un pulsar est un objet astronomique produisant un signal périodique allant de l'ordre de la milliseconde à quelques dizaines de secondes. Ce serait une étoile à neutrons tournant très rapidement sur elle-même (période typique de l'ordre de la seconde, voire beaucoup moins pour les pulsars milliseconde) et émettant un fort rayonnement électromagnétique dans la direction de son axe magnétique. »
Nous allons simuler cela en faisant clignoter une LED très rapidement toutes les N secondes. La valeur de N étant déterminée par la position du potentiomètre.
Nous reprenons l'image du signal carré en augmentant sensiblement la difficulté.
Il s'agit à présent de réaliser un signal en dents de scie. C'est à dire que, sur la première partie de N millisecondes, la LED ne sera plus simplement allumée, mais son intensité devra croître en passant de complètement éteinte à complètement allumée. Sur la seconde partie, toujours de N millisecondes, l'intensité de la LED devra décroître pour passer de complètement allumée à complètement éteinte.
Pour réaliser les exercices ci-dessus vous avez sans doute utilisé la fonction Arduino delay()
. Vous aurez donc remarqué que les changements de position du potentiomètre ne sont pas pris en compte directement (c'est surtoût observable pour les valeurs de N élevées).
En vous inspirant de l'exemple Arduino "BlinkWithoutDelay" (à trouver dans le menu
) réécrivez les programmes ci-dessus en utilisant un modèle non bloquant.