Les exercices de l'Atelier des Outils Pour le Numérique
Un vu-mètre
L'objectif de cet exercice est de vous familiariser avec les lectures analogiques et de conforter vorte expérience en écriture numérique. Nous introduisons également la notion de tableau pour stocker des valeurs entières.
L'exemple choisi permet de simuler un vu-mètre qui sera actionné non pas par un niveau sonore comme on peut en voir habituellement, mais par un potentiomètre classique.
Montage associé
Pour cet exercice vous devez disposer du matériel ci-dessous.
Type
Quantité
Platine Arduino
1
Plaque à essais
1
Fil de câblage
9
Résistance de 330 Ω
4
LED (couleurs variées)
4
Potentiomètre
1
Le montage à réaliser est le suivant :
Correction et commentaires
Le code associé reste simple. Après avoir initialisé notre matériel en définissant les ports de sortie, nous entrons dans la fonction loop() qui va constamment lire la valeur du potentiomètre à l'aide d'analogRead(). Rappelons que cette fonction retourne une valeur entière dans l'intervalle [0;1023]. C'est lié à l'utilisation du convertisseur analogique / numérique du microcontrôleur qui a une résolution de 10 bits (210 = 1024).
La valeur lue est stockée dans une variable (i dans notre cas) pour pouvoir être comparée à nos seuils. Il est plus judiscieux de procéder comme cela plutôt que de refaire un appel à analogRead() à chaque test. En effet, la valeur peut changer entre temps et le résultat serait faussé. De plus, la convertion analogique / numérique prend du temps et cela ralentirait notre programme.
Enfin, la suite de test est là pour savoir quelle LED allumer ou éteindre en fonction de la valeur lue sur le potentiomètre. Remarquez bien que c'est une suite de if sans else entre chacun d'eux. C'est cela qui permet d'avoir l'effet vu-mètre où toutes les LED associées à une valeur de seuil inférieure à la valeur lue sont allumées. Vous pouvez essayer de rajouter ces else pour voir le résultat obtenu.