Piano Lumineux

Cet article présente comment customiser un piano numérique avec un microcontrôleur arduino et une bande de LED de couleurs, pour produire des effets lumineux lorsqu’on presse les touches.

L’idée est de connecter la sortie MIDI du clavier numérique à la carte arduino pour qu’elle puisse contrôler les LED en fonction des notes jouées.

Voici les éléments que j’ai utilisé

  • Un piano numérique Casio Privia. N’importe quel clavier qui a une sortie MIDI USB pour le connecter à un ordinateur fera l’affaire (et ils en ont presque tous)

  • Un microcontrolleur ESP8266 (NodeMCU). Mais là également n’importe quel microcontrolleur compatible Arduino avec un port série fera l’affaire. J’ai choisi l’ESP8266 car par la suite je voudrais pouvoir controller les LEDs via WiFi
  • Une carte USB hôte qui permet de convertir les messages envoyés par le piano via USB, en messages MIDI en série. C’est l’élément le plus difficile à trouver je l’ai acheté ici. A noter que si votre piano a des entrées/sorties MIDI (non USB) cet élément est inutile car le protocole MIDI est en fait une liaison série avec un baud rate de 31250, donc dans ce cas vous pouvez directement connecter la sortie MIDI au port série de l’arduino.
  • Une bande de LED RGB de type NeoPixel, qui permet de contrôler la couleur de chaque LED individuellement. J’ai utilisé des WS2812B.
  • Une alimentation 5V 4A
  • Quelques composant électroniques: un condensateur  (1000 µF, 6.3V ou plus), une résistance (entre 300 et 500 Ohm), un connecteur pour l’alimentation, des fils, etc…

Voici le schéma du montage:

schéma électronique pour piano lumineux

J’ai d’abord réalisé une version sur breadboard exactement comme sur le schéma ci-dessus, puis j’ai fait une version plus définitive, cf photo ci-dessous.

circuit électronique pour piano lumineux

Coté logiciel j’ai utilisé les librairies Arduino suivantes:

Et voici mon code Arduino:

PianoLED.zip

C’est très basique pour le moment, j’ai pris comme point de départ cet exemple de la librairie Arduino MIDI que j’ai modifié pour y incorporer la librairie NeoPixel et pour faire en sorte  que la LED la plus proche de la touche jouée s’allume. Il y a aussi une boucle sur les couleurs utilisées pour qu’elles ne soient pas toujours les mêmes. Dans une version future j’essaierai d’améliorer les effets de couleurs, et j’ai aussi l’intention d’utiliser le WiFi de l’ESP8266 pour commander ces lumières depuis mon système domotique. Il serait également possible d’utiliser le protocole MIDI dans l’autre sens et de faire jouer le piano tout seul en lui envoyant des messages MIDI. Bref il reste de quoi s’amuser…

20 réflexions au sujet de « Piano Lumineux »

    • Not yet, but as there seem to be a lot of interests for these, I may build some to sell them. I will let you know.

  1. Hey, now it works.

    I really want to try this. Do you have an english guide, or a finished version, which I could buy?

    I want the lights (LED), but also the midi signal in my computer.. Is this possible? I have only 1 midi output

    • I don’t have an english guide (it’s not super difficult though, the circuit diagram and the code attached to this article should be enough if you have some experience with Arduino), but I may build some to sell, I will let you know.

      However I don’t know how you could feed the MIDI signal to both your computer and Arduino board.

  2. Hello there, I’m Jonas and I’d be interested in buying one of these, but maybe a modified version. I would appreciate hearing from you. Greetings from Switzerland

      • Hi, I first had some doubts that the LED strip (WS2812B) would not fit exactly to the keyboard (since the distances between the LED’s on the strip are different to the distances between the keys on the keyboard). But I’m basically looking exactly for something like you’ve created: I’d like to have a glow (when I press a key) around the area of the key, and that should be possible for all keys. It would be nice if one LED doesn’t process more than one key and at the same time every key (black and white keys) has it’s own LED close to them. Would that be possible?
        Also for the colours it would be nice if I could set one same colour for all keys but I also would like to change the colour from time to time (which should be no problem with this LED RGB strip, I guess?).

        I’m not very experienced with Arduino but I guess I could learn how to deal with all this. Well anyway. If you consider to sell these, make sure to let me know. But no worries if you don’t intend to. Thanks for your time, best wishes

  3. Hello from Australia!
    I’m genuinely interested in purchasing one of these. I have a question about the MIDI connection, you say if the keyboard has an imput & output, then you don’t need a usb cable. What kind of cable is used to connect the output? (I’m not super good at music technology so any advice would be super appreciated) please send me an email if you ever build some to sell! I will be first in line for one 🙂

  4. Bonjour, je développe actuellement un orgue lumineux et votre solution m’intéresse beaucoup.

    Pouvez-vous me contacter.

    Bonne journée

Répondre à Jonathan Annuler la réponse.

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *