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:
Aucun commentaire:
Enregistrer un commentaire