Lire un potentiomètre II
15 jours pour comprendre les contrôleurs MIDI - Jour 3
Le code précédent affichait la valeur du potentiomètre en continu. Pour éviter de surcharger le récepteur de messages MIDI, je veux afficher la valeur du potentiomètre seulement quand elle change.
Le code
On garde en mémoire la dernière valeur envoyée (lastValue
). À chaque lecture,
on affiche la valeur actuelle (currentValue
) seulement si elle diffère de l’ancienne.
int lastValue = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
int currentValue = analogRead(A0) >> 3;
if (lastValue != currentValue) {
Serial.println(currentValue);
lastValue = currentValue;
}
delay(10);
}
Problème de fluctuation
J’observe souvent la valeur courante osciller régulièrement entre deux valeurs conjointes, par exemple 29, 30, 29, 30, 29, etc.
Je pense que c’est du en grande partie à la breaboard qui doit être vieille ou de mauvaise qualité, et les connexions sont un peu lâches. Les potards ont aussi des pattes un peu grosses pour une breaboard, ce qui n’arrange rien.
Ce problème pourrait se régler de lui-même quand les potards seront soudés. Ceci dit il est probable que les fluctuations du courant suffisent à modifier la valeur du potard sans qu’on y touche.
Références
Cet article fait partie d’une série :
Commentaires
Pas encore trouvé de solution simple et non-invasive pour avoir des commentaires sur le blog. En attendant vous pouvez laisser votre Commentaire sur mastodon@lkdjiin