Matrice de Leds qui permet de décomposer le son en 32 bandes de fréquences.
J’ai longtemps cherché à acheter ce type de système car ce type de représentation du son m’amuse et me fascine mais les performances n’étaient pas à la hauteur de ce que j’attendais. J’ai donc décidé de le construire moi-même.
J’ai pu trouver des sources de projets et m’en inspirer mais aucun tuto qui permette de le réaliser de A à Z.
Fonctionnement du système:
Le système analyse le son ambient grâce à un module microphone, puis un ESP8266 fait une FFT (Fast Fourrier Transformation) afin de décomposer le son en bandes de fréquences dans la plage qui nous intéresse ( de XX Hz à YY KHz).
Le choix de l’ESP8266 plûtot qu’un Arduino s’est fait pour la puissance de calcul et la rapidité.
Il faut que l’affichage soit des leds soit “presque” instantanné.
La plage de fréquences affichée a été choisie en fonction de 2 critères:
– Audibles pour l’humain
– Reproduisibles par mon système son (Home Cinéma)
Par exemple il n’y a aucun intérêt à afficher une bande de fréquence de 20 à 40Hz si mon caisson de basse n’est pas capable de descendre aussi bas en fréquence car sinon la bande de leds correspondante ne s’allumera jamais.
Enfin une matrice de 32*8 Leds adressables individuellement (WS2812b) est pilotée pour afficher chache bande de fréquence.
le nombre de Leds affichées en hauteur dépend de l’amplitude du son.
Un bouton poussoir à l’arrière permet de changer de mode d’affichage, de couleurs de Leds,
Un potentiomètre permet de régler la sensibilité (volume sonore plus ou moins important) et la luminosité.
Le tout est alimenté par un câble USB qui peut se brancher sur une TV ou une batterie externe.
Un prototype a été réalisé avant la construction du système “final” pour faire un test avec un Arduino UNO.
On peut voir sur la breadboard un écran Oled 1″, le module microphone est raccordé directement à l’Arduino (au dessus).
Les performances de l’Arduino UNO ne sont pas suffisantes, il y a trop de latence, l’Arduino manque de puissance, c’est pour cela que j’ai choisi un ESP32.
La matrice de Leds
Essais en mode K2000 sur la matrice de Leds juste pour s’amuser (et vérifier que toutes les Leds fonctionnent bien)
Tests avec le micro.
Découpe des plaques de plexiglass avec la scie sous table (voir construction ici)
Vu arrière de la matrice de Leds, les fils noir/ rouge servent à l’alimentation, le jaune est l’entrée “data” des leds, le blanc est le Gnd qui permet d’avoir une masse commune (pour utiliser une alimentation externe).
Perçage et fraisage des plaques de plexiglass pour ne pas que les vis ne dépassent
Vue de la vis
Scotch double face pour fixer la matrice de Leds qui sera pise en sandwich entre les 2 plaques
Premier aperçu du résultat, 2 choses ont été changées:
– Suppression des pieds en plexiglass
– Ajout d’un film teinté sur la plaque de devant pour masquer les Leds quand elles sont éteintes
Application d’un film teinté sur la plaque
Vue du résultat avec le film teinté, les Leds éteintes ne sont plus visibles
Modélisation et impression d’un boitier pour intégrer toute l’électronique
Le boîtier est composée:
– d’un connecteur Jack pour alimenter l’ensemble
– d’un bouton poussoir pour changer de mode de fonctionnement
– d’un potentiomètre pour régler la luminosité/ la sensibilité
– d’un microphone qui mesure le son extérieur
– d’un ESP32 qui contient le programme et fait le traitement sur le son pour piloter la matrice de Leds
Vue du connecteur Jack d’alimentation. On aperçoit aussi l’ouverture qui permet de brancher un câble USB sur l’ESP32.
L’embout du potentiomètre (en blanc) peut se retirer, une fois les réglage effectués, il se range dans le boitier.
On aperçoit à gauche le microphone.
