Electronique > Réalisations > Jeux de lumière > Modulateur de lumière 009

Dernière mise à jour : 27/09/2025

Article non terminé, volontairement non référencé dans les sommaires du site


Présentation

Le présent modulateur est basé sur une LED tricolore dont la couleur dépend de l'amplitude du signal sonore capté par un petit microphone.

modulateur_lumiere_009_pcb_3d_front  modulateur_lumiere_009_lights_001b  modulateur_lumiere_009b_pcb_3d_front  

Ce modulateur de lumière présente les particularités suivantes :

Avertissement

Projet protégé par copyright (Copyright France).
Les informations "Nom d'auteur", "Nom du circuit" et "Date de conception" sont transmises sur une sortie UART lors de la mise sous tension.

   

Schémas 009/009b/009c

Le circuit repose sur un PIC 16F1509, une LED RGB, un circuit d'amplification audio avec CAG (MAX9814) et quelques composants traditionnels tels que résistances, condensateurs, diodes et potentiomètres ajustables.

Schéma 009/009b - avec extension LED externes
Schéma "complet".
 
modulateur_lumiere_009
-
 
Schéma 009c - sans LED externes
Idem que le schéma précédent, avec suppression de quelques composants pour simplification.
   
modulateur_lumiere_009c
-
   
Principe de fonctionnement
Le circuit offre les modes de fonctionnement suivants :

La sélection du mode de fonctionnement s'opère par le potentiomètre RV1/Mode qui délivre une tension continue dont la valeur dépend de la position de son curseur. 

 
Mode #1 - Modulateur de lumière avec entrée microphone monophonique (InM)
Dans ce mode, seule l'entrée InM est mise à contribution et seul le signal AnL correspondant est traité par le logiciel du PIC.

Le son capté par le microphone MIC est amplifié. J'ai utilisé un circuit intégré MAX9814 qui à lui seul assure l'amplification et la régulation automatique du gain (CAG, Contrôle Automatique du Gain), ce qui permet de disposer d'un contrôle global automatique sur l'amplitude des signaux captés par le microphone. Bien sûr, cette section CAG ne doit pas réagir trop rapidement pour conserver au signal une "dynamique globale" adaptée à la visualisation de la "force du son" par des couleurs différentes. L'idéal dans le cas présent est d'utiliser un temps d'attaque assez long pour ne pas écraser les fortes crêtes et ne réagir que si le son est trop fort pendant une "longue durée".

Le signal audio porté à un niveau "ligne" par le préamplificateur de microphone est soumis à un intégrateur qui mémorise temporairement l'enveloppe de son amplitude. Le signal obtenu ressemble désormais à une tension continue dont la valeur est proportionnelle à l'amplitude globale du signal audio. Ce signal peut ainsi être acquis et analysé par le logiciel du PIC qui décidera quelle couleur afficher.

 
Mode #2 - Modulateur de lumière avec entrée ligne monophonique, 1 seule entrée (InL)

Dans ce mode, seule l'entrée InL est mise à contribution. Le signal AnL correspondant est traité par le logiciel du PIC, le signal AnR est ignoré.

Remarque : comme l'amplitude du signal sonore est mieux contrôlée par l'utilisateur, aucun circuit de régulation de niveau (CAG ou compresseur de dynamique) n'est nécessaire. Cette remarque s'applique également aux autres modes basés sur l'entrée ligne.
 
Mode #3 - Modulateur de lumière avec entrée ligne monophonique, 2 entrées (InL + InR)
Dans ce mode, les deux entrées InL et InR sont mises à contribution. Les deux signaux AnL et AnR qui y sont liés sont mélangés au niveau logiciel pour former un seul signal de commande monophonique.
 
Mode #4 - indicateur de spatialisation stéréo avec entrée ligne stéréophonique (InL et InR)
Dans ce mode, les deux entrées InL et InR sont mises à contribution. Les deux signaux AnL et AnR qui y sont liés sont comparés au niveau logiciel pour former un seul signal de commande permettant de visualiser les écarts d'amplitude entre les deux voies. A noter que cette fonction ne peut pas être comparée à un phasemètre, puisque les signaux analysés sont ceux issus du circuit d'intégration et non les signaux audio eux-mêmes. Pour cette raison, une source audio stéréo comportant une composante élevée de fréquences basses (généralement centré dans l'espace stéréo) n'engendrera pas de grandes différences.
 
Obtention des différentes couleurs et fréquence de rafraichissement

Les différentes teintes sont obtenues par mélange des trois couleurs élémentaires RVB (RGB), chacune de ces couleurs étant plus ou moins représentées (plus ou moins fortes) dans le fruit du mélange. Le taux de luminosité de chaque couleur est obtenu en utilisant le principe de modulation de largeur d'impulsion (MLI ou PWM). Par chance (?) le PIC utilisé comporte quatre sources indépendantes de générateur PWM, ce qui simplifie l'écriture du logiciel et permet une meilleur réactivité générale.

La fréquence de mise à jour de la couleur émise par la LED RVB en fonction de l'amplitude du signal sonore n'a pas besoin d'être élevée. Une valeur comprise entre 20x et 100x par seconde est très nettement suffisante. Ici, le taux de rafraichissement est d'environ 50x par seconde. Le signal acquis par le PIC présente en effet des variations lentes (rappelons qu'il s'agit d'une enveloppe d'amplitude), variations bien plus lentes que celles du signal audio d'origine capté par le microphone (ou saisi à la sortie d'une table de mixage).
 
Réglages
Au niveau interne du PIC, le circuit offre 3 réglages : mode de fonctionnement, sensibilité et seuil.
Au niveau du MAX9814, le circuit offre 2 réglages : gain et rapport AR (Auto/Release).
 
Mode de fonctionnement (RV1/Mode)
Les modes de fonctionnements décrits précédemment sont activés pour les tensions suivantes :

Pour un fonctionnement dans un mode fixé et non modifiable, le potentiomètre peut être remplacé par une liaison directe à la masse (mode #1) ou par deux résistances câblées en diviseur de tension (modes #2 à #4).

   
Sensibilité (RV2/Sens)
Ce réglage permet de "se caler" sur l'amplitude globale du signal entrant en définissant un seuil haut de valeur ajustable. Ce réglage est complémentaire du réglage d'échelle du convertisseur analogique-numérique assuré par RV3.

Gain général (RV3/Gain)
La broche RA1/Vref+ du PIC est utilisée comme entrée de tension de référence haute (Vref+) du module ADC. Cette façon de faire permet de travailler de façon plus confortable avec les signaux audio de faible amplitude, en adaptant la plage de fonctionnement (pleine échelle) du convertisseur. La résistance R1 (que j'ai oubliée sur mon premier prototype) permet "d'isoler" la source de tension délivrée par le curseur de RV3 du circuit de programmation interne (ICSP) du PIC.

Gain du MAX9814
Le MAX9814 offre une broche de commande appelée GAIN (pin 10) qu'il est possible de laisser en l'air (non connectée), de relier à VDD ou à la masse GND.
Cette broche MAX9814-GAIN (pin 10) est ici reliée à la ligne RB5 du PIC (pin 12), ce qui permet de piloter le gain du MAX9814 depuis le PIC.
Actuellement, le gain est figé à +60 dB (broche GAIN non raccordée ou ligne RB5 du PIC configurée en entrée).

Rapport A/R du MAX9814
Le MAX9814 offre une broche de commande appelée A/R (pin 9) qu'il est possible de laisser en l'air (non connectée), de relier à VDD ou à la masse GND.
Cette broche est reliée à la ligne RB6 du PIC (pin 11), ce qui permet de piloter le rapport A/R du MAX9814 depuis le PIC. Actuellement, le taux est figé à 1:4000 (broche A/R non raccordée ou ligne RB6 du PIC configurée en entrée).

Remarque : le rapport A/R dépend du type de la source sonore. Pour une source musicale, un temps d'attaque (Attack) de 160 μs et un temps de relâchement (release) de 80 ms conviennent (rapport 1:500). Un rapport plus élevé convient mieux à de la voix. 

   

Prototype

Pour le prototype, j'ai décidé d'utiliser un module prêt à l'emploi équipé du MAX9814 pour assurer les fonctions de préamplification et CAG. Pourquoi ce choix ? Simplement parce que le circuit intégré MAX9814 n'est proposé par le fabricant que dans un style de boîtier CMS fort contraignant qui m'embête un peu... Et comme ADAfruit et autres rois du clonage font les choses bien pour un coût raisonnable, je ne me suis pas fatigué.
   
modulateur_lumiere_009b_proto_rm_001a modulateur_lumiere_009b_proto_rm_001b modulateur_lumiere_009b_proto_rm_001d modulateur_lumiere_009b_proto_rm_001e  
   
Remarques concernant le prototype d'origine :

Une fois le circuit déverminé, j'ai eu la curieuse idée d'utiliser un balle de ping-pong pour la déco finale :

modulateur_lumiere_009b_proto_rm_001fa modulateur_lumiere_009b_proto_rm_001fb modulateur_lumiere_009b_proto_rm_001fd

En fait, la réalité est toute autre. En me promenant, j'ai trouvé une balle de ping-pong par terre, je l'ai ramassée et ai aussitôt pensé qu'on pouvait l'éclairer de l'intérieur avec un couleur qui dépend de la puissance sonore perçue par un microphone. Vive les promenades !

   

Circuits imprimés (PCB)

Réalisés en double face, LED RGB-CC montée sur le PCB (LED1A) ou LED RGB-CA déportée par fils (connecteur J2). Deux versions ont été dessinées pour le circuit de base : une pour PIC en boîtier traversant (DIL20) et l'autre pour PIC en boîtier CMS (pas de 1.27 mm). 

modulateur_lumiere_009_pcb_components_top  modulateur_lumiere_009b_pcb_components_top

La version avec PIC en CMS dispose pour l'entrée ligne stéréo d'un jack 6,35 mm à la place des deux RCA/cinch de la version avec PIC traversant. Paradoxalement, j'ai utilisé 8 résistances CMS pour la version avec PIC en boîtier traversant, et uniquement des résistances traversantes pour la version avec PIC en boîtier CMS. La raison est en fait très simple : question de place.

C'est après la réalisation du prototype 009b que m'est venue l'idée de simplifier le PCB avec un seul potentiomètre de réglage (RV3) et de supprimer l'extension "LED externes". Ainsi est née la version 009c.

modulateur_lumiere_009c_pcb_components_top  modulateur_lumiere_009c_pcb_3d_front 

   

Logiciel du PIC

Le logiciel sera mis à disposition libre après validation sur prototype.

Historique

27/09/2025
- Première mise à disposition.