Le vumètre est un instrument montrant le niveau (ou volume) d'un signal audio. Dans ce projet, on en construit une version simplifiée constituée de quelques LEDs en ligne, qui s'allument selon le volume détecté par un micro d'ambiance.
Une fois le circuit monté, on peut commencer par tester le contrôle des LEDs. Puis, on peut brancher le micro, et se donner une idée des valeurs qu'ils envoie à l'aide du moniteur série, afin de bien l'étalonner.
▶ Fiche de présentation du projet
#define BROCHE_MICRO A0
#define SENSIBILITE_SEUIL 500
#define SENSIBILITE_PAS 6
int leds[6] = {13, 12, 11, 10, 9, 8};
int niveaux[6] = {0, 0, 0, 0, 0, 0};
void setup()
{
pinMode(BROCHE_MICRO, INPUT);
niveaux[0] = SENSIBILITE_SEUIL;
for (int i = 1; i < 6; i++)
{
niveaux[i] = niveaux[i - 1] + SENSIBILITE_PAS;
}
for (int i = 0; i < 6; i++)
{
pinMode(leds[i], OUTPUT);
digitalWrite(leds[i], HIGH);
delay(100);
digitalWrite(leds[i], LOW);
}
}
void loop()
{
int valeur = analogRead(BROCHE_MICRO);
for (int i = 0; i < 6; i++)
{
if (valeur <= niveaux[i])
{
digitalWrite(leds[i], HIGH);
}
else
{
digitalWrite(leds[i], LOW);
}
}
}