Une touche est appuyée en lecture analogique?
Pour les exemples qui suivent, la lecture des boutons se fait par une instruction analogRead();, puis par analyse du nombre lu. Si on garde la valeur lue dans une variable, sans pousser l'analyse (sans correction, sans calcul...) on sait si une touche est appuyée ou non car "Aucun bouton appuyé" se traduit en général par une valeur 0 ou 1023 suivant les montages. Le gros intérêt ici est que la lecture étant mémorisée, le test et le décodage vont donner le même résultat.
Un programme qui teste d'abord si une touche est appuyée ou non peut ressembler à:
... void loop() { ... valeur = analogRead(BOUTONS); // Lecture des boutons if (valeur != 2023) // Si une touche est appuyée { < correction éventuelle > < Calcul du (ou des) bouton appuyé > < traitement > } ... }