Table des matières:

Visualiseur audio à bande LED RVB non adressable : 6 étapes (avec images)
Visualiseur audio à bande LED RVB non adressable : 6 étapes (avec images)

Vidéo: Visualiseur audio à bande LED RVB non adressable : 6 étapes (avec images)

Vidéo: Visualiseur audio à bande LED RVB non adressable : 6 étapes (avec images)
Vidéo: Comment avoir des bandes LED contrôlées par ESP et WLED pour Jeedom et Home Assistant 2024, Novembre
Anonim
Image
Image

J'ai une bande LED RVB 12v autour de mon meuble TV depuis un certain temps et elle est contrôlée par un pilote LED ennuyeux qui me permet de choisir l'une des 16 couleurs préprogrammées !

J'écoute beaucoup de musique, ce qui me motive, mais l'éclairage ne met tout simplement pas l'ambiance. Pour résoudre ce problème, j'ai décidé de prendre le signal audio qui a été donné à mon haut-parleur via AUX (jack 3,5 mm), de le traiter et de contrôler la bande RVB en conséquence.

Les LED réagissent à la musique en fonction de l'amplitude des basses (basses), des aigus (moyennes) et des hautes fréquences.

La gamme de fréquences - Couleur est la suivante:

Faible – Rouge

Moyen – Vert

Haut – Bleu

Ce projet implique beaucoup de bricolage car tout le circuit a été construit à partir de zéro. Cela devrait être assez facile si vous le configurez sur une maquette, mais assez difficile à souder sur un PCB.

Fournitures

(x1) Bande LED RVB

(x1) Arduino Uno/Nano (Mega est recommandé)

(x1) TL072 ou TL082 (TL081/TL071 conviennent aussi)

(x3) Transistor NPN TIP120 (les MOSFET TIP121, TIP122 ou N-Channel comme IRF540, IRF 530 conviennent également)

(x1) potentiomètre 10kOhm linéaire

(x3) résistances 100kOhm 1/4watt

(x1) condensateur électrolytique 10uF

(x1) condensateur céramique 47nF

(x2) Connecteur audio 3,5 mm – Femelle

(x2) pile 9V

(x2) connecteur de batterie 9V

Étape 1: Comprendre les types de bandes LED RVB

Comprendre les types de bandes LED RVB
Comprendre les types de bandes LED RVB

Il existe deux types de base de bandes LED, le type « analogique » et le type « numérique ».

Les bandes de type analogique (fig 1) ont toutes les LED connectées en parallèle et agit donc comme une énorme LED tricolore; vous pouvez régler toute la bande sur la couleur de votre choix, mais vous ne pouvez pas contrôler les couleurs de chaque LED. Ils sont très faciles à utiliser et assez bon marché.

Les bandes de type numérique (fig 2) fonctionnent différemment. Ils ont une puce pour chaque LED, pour utiliser la bande, vous devez envoyer des données codées numériquement aux puces. Cependant, cela signifie que vous pouvez contrôler chaque LED individuellement ! En raison de la complexité supplémentaire de la puce, ils sont plus chers.

S'il vous est difficile d'identifier physiquement les différences entre les bandes de type analogique et numérique,

  1. Le type anolog utilise 4 broches, 1 commune positive et 3 négatives soit une pour chaque couleur de RVB.
  2. Le type numérique utilise 3 broches, le positif, les données et la terre.

J'utiliserai les bandes de type analogique, car

  1. Il y a très peu ou pas d'Instructables qui enseignent comment faire une bande de type analogique réactive à la musique. La majorité d'entre eux se concentrent sur le type Digital et il est plus facile de les faire réagir à la musique.
  2. J'avais des bandes de type analogique qui traînaient.

Étape 2: Amplification du signal audio

Amplification du signal audio
Amplification du signal audio
Amplification du signal audio
Amplification du signal audio
Amplification du signal audio
Amplification du signal audio

Le signal audio qui est envoyé via la prise audio est

un signal analogique qui oscille entre +200mV et -200mV. Maintenant, c'est un problème, c'est que nous voulons mesurer le signal audio avec l'une des entrées analogiques d'Arduino, car les entrées analogiques d'Arduino ne peuvent mesurer que des tensions comprises entre 0 et 5V. Si nous essayions de mesurer les tensions négatives dans le signal audio, l'Arduino ne lirait que 0V et nous finirions par écrêter le bas du signal.

Pour le résoudre, nous devons amplifier et décaler les signaux audio afin qu'ils se situent dans une plage de 0 à 5 V. Idéalement, le signal doit avoir une amplitude de 2,5V qui oscille autour de 2,5V pour que sa tension min soit de 0V et sa tension max soit de 5V.

Amplification

L'amplificateur est la première étape du circuit, il augmente l'amplitude du signal d'environ + ou - 200mV à + ou - 2.5V (idéalement). L'autre fonction de l'amplificateur est de protéger la source audio (ce qui génère le signal audio en premier lieu) du reste du circuit. Le signal amplifié sortant tirera tout son courant de l'amplificateur, de sorte que toute charge qui lui sera appliquée plus tard dans le circuit ne sera pas "ressentie" par la source audio (le téléphone/iPod/ordinateur portable dans mon cas). Pour ce faire, installez l'un des amplificateurs opérationnels du package TL072 ou TL082 (fig 2) dans une configuration d'amplificateur non inverseur.

La fiche technique du TL072 ou du TL082 indique qu'il doit être alimenté avec +15 et -15V, mais comme le signal ne sera jamais amplifié au-dessus de + ou - 2,5V, il est bon de faire fonctionner l'ampli-op avec quelque chose de plus bas. J'ai utilisé deux piles de neuf volts câblées en série pour créer une alimentation + ou - 9V.

Connectez votre +V (broche 8) et –V (broche 4) à l'ampli-op. Câblez le signal de la prise mono à l'entrée non inverseuse (broche 3) et connectez la broche de masse de la prise à la référence 0V de votre alimentation en tension (pour moi c'était la jonction entre les deux piles 9V en série). Câblez une résistance de 100 kOhm entre la sortie (broche 1) et l'entrée inverseuse (broche 2) de l'ampli-op. Dans ce circuit, j'ai utilisé un potentiomètre de 10kOhm câblé comme une résistance variable pour ajuster le gain (la quantité que l'amplificateur amplifie) de mon amplificateur non inverseur. Câblez ce pot conique linéaire 10K entre l'entrée inverseuse et la référence 0V.

Décalage CC

Le circuit de décalage CC a deux composants principaux: un diviseur de tension et un condensateur. Le diviseur de tension est composé de deux résistances de 100k câblées en série de l'alimentation 5V de l'Arduino à la terre. Étant donné que les résistances ont la même résistance, la tension à la jonction entre elles est égale à 2,5 V. Cette jonction 2.5V est reliée à la sortie de l'amplificateur via un condensateur de 10uF. Lorsque la tension du côté amplificateur du condensateur augmente et diminue, la charge s'accumule momentanément et se repousse du côté du condensateur attaché à la jonction 2,5 V. Cela fait osciller de haut en bas la tension à la jonction 2,5V, centrée autour de 2,5V.

Comme le montre le schéma, connectez le fil négatif d'un condensateur de 10 uF à la sortie de l'amplificateur. Connectez l'autre côté du capuchon à la jonction entre deux résistances de 100k câblées en série entre 5V et la terre. Ajoutez également un condensateur de 47 nF de 2,5 V à la terre.

Étape 3: Décomposition du signal en une somme de sinusoïdes stationnaires - Théorie

Décomposition du signal en une somme de sinusoïdes stationnaires - Théorie
Décomposition du signal en une somme de sinusoïdes stationnaires - Théorie

Le signal audio envoyé via n'importe quelle prise jack 3,5 mm est dans le

gamme de 20 Hz à 20 kHz. Il est échantillonné à 44,1 kHz et chaque échantillon est codé sur 16 bits.

Pour déconstruire les fréquences élémentaires de base qui composent le signal audio, nous appliquons la transformée de Fourier au signal, qui décompose le signal en une somme de sinusoïdes stationnaires. En d'autres termes, l'analyse de Fourier convertit un signal de son domaine d'origine (souvent le temps ou l'espace) en une représentation dans le domaine fréquentiel et vice versa. Mais le calculer directement à partir de la définition est souvent trop lent pour être pratique.

Les figures montrent à quoi ressemble le signal dans le domaine temporel et fréquentiel.

C'est là que l'algorithme Fast Fourier Transform (FFT) est très utile !

Par définition, Une FFT calcule rapidement de telles transformations en factorisant la matrice DFT en un produit de facteurs clairsemés (principalement zéro). En conséquence, il parvient à réduire la complexité du calcul de la DFT de O(N2), qui survient si l'on applique simplement la définition de DFT, à O(N log N), où N est la taille des données. La différence de vitesse peut être énorme, en particulier pour les longs ensembles de données où N peut se chiffrer en milliers ou en millions. En présence d'erreur d'arrondi, de nombreux algorithmes FFT sont beaucoup plus précis que l'évaluation directe ou indirecte de la définition DFT.

En termes simples, cela signifie simplement que l'algorithme FFT est un moyen plus rapide de calculer la transformée de Fourier de n'importe quel signal. Ceci est généralement utilisé sur les appareils à faible puissance de calcul.

Conseillé: