dimanche 21 septembre 2025

Mini-Piano Arduino

Dans cet article, je présente la réalisation d'un mini-clavier musical réalisé au moyen d'un Arduino Uno, d'un shield TFT (écran tactile) et d'un haut-parleur.


Un clavier de piano s'affiche sur l'écran. Lorsqu'on appuie sur une touche, elle se met en rouge et la note appropriée est émise par le haut-parleur (nous utiliserons la fonction tone).

 

 

Réaliser le projet a été clairement plus amusant qu'utiliser le produit fini: cet instrument de musique n'est pas très ergonomique! En plus d'être limité à une seule note à la fois, il faut être très précis pour ne pas toucher à côté des bonnes notes.

L'écran tactile

J'ai encore une fois utilisé le shield TFT 2.8 pouces (240 X 320 pixels) pour Arduino, conçu par la compagnie Adafruit, dont je vous avais parlé dans cet article il y a quelques semaines. Cet écran utilise le circuit intégré ILI9341 pour l'affichage et TSC2007 pour la détection tactile. Il est possible d'adapter ce projet à un autre écran tactile, mais vous devrez possiblement faire quelques modifications dans le sketch.

Connexion du haut-parleur

Puisqu'un haut-parleur a une très faible résistance (typiquement 2 Ω à 8 Ω), il est hors de question de le connecter directement à une sortie de l'Arduino. J'ai utilisé le circuit illustré ci-dessous, qui implique l'utilisation d'un transistor NPN.


Si vous préférez, vous pouvez remplacer le haut-parleur par un buzzer piézoélectrique, dont la résistance est beaucoup plus élevée. L'avantage, c'est que le buzzer peut être branché directement à la sortie de l'Arduino sans qu'il soit nécessaire d'ajouter un transistor.

 

Bibliothèques utilisées

Le sketh ci-dessous nécessite l'installation de trois bibliothèques conçues par Adafruit: Adafruit ILI9341, Adafruit GFX Library et Adafruit TSC2007

 

Le sketch

Après les obligatoires initialisations, le sketch s'occupe essentiellement:

  • de dessiner un clavier d'un octave à l'écran (lignes 60 à 64)
  • de détecter si on a touché une des touches du clavier (lignes 74 à 120)

Si une des touches du clavier a été touchée, il faut:

  • la redessiner en rouge (lignes 124 à 141)
  • écrire le nom de la note à l'écran (lignes 162 à 174)
  • émettre la note avec le haut-parleur  (lignes 176 à 180)

Si une des touches a été relâchée, il faut

  • la redessiner dans son état initial (lignes 143 à 159)
  • effacer le nom de la note précédemment jouée (ligne 165)
  • interrompre la note émise par le haut-parleur (ligne 179)

 

Voici le sketch complet:

---

---

Yves Pelletier

 

À lire également: