Table des matières:
- Étape 1: Construire le schéma
- Étape 2: le code
- Étape 3: Configurer l'audio sur PC
- Étape 4: Remarques
Vidéo: Rétroéclairage RVB + Visualiseur audio : 4 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
Bienvenue dans mes Instructables sur la façon de construire un rétroéclairage LED RVB pour, par exemple. l'arrière de votre téléviseur ou de votre bureau.
Le schéma lui-même est très simple car les bandes LED WS2812 sont très faciles à interfacer avec, par exemple, un Arduino Nano.
Remarque: vous n'avez pas besoin d'utiliser le circuit supplémentaire MSGEQ7 Audio Analyzer si vous souhaitez uniquement le rétroéclairage LED sans visualisation audio.
J'ai fourni une liste détaillée des pièces d'occasion et où vous pouvez les acheter:
- Arduino Nano/Uno (Amazon/AliExpress)
- Bande LED RGB WS2812 (Amazon/AliExpress), notez que IP signifie la protection (par exemple étanche si vous en avez besoin) et le nombre représente le nombre de LED par mètre que la bande possède (important pour l'alimentation)
- Alimentation 5V (Amazon) (en fonction du nombre de LED) -> chaque LED prend ~ 20mA, la bande utilisée dans cette instructable a 45 LED (30 par mètre) donc j'ai besoin de 45 * 20mA ~ 1, 5 ampères (Arduino, MSGEQ7 en a aussi besoin), j'ai connecté une alimentation qui fournit 3A ce qui nous suffit largement maintenant
- Prise audio 3,5 mm (Amazon/AliExpress)
- Potentiomètre 10kOhm (Amazon / AliExpress)
- Bouton poussoir (Amazon/AliExpress)
- Résistance (1x 10kOhm, 1x 220Ohm, pour MSGEQ7: 2x100kOhm)
- Condensateurs (1x 1000yF électrolytique (Amazon / AliExpress), 2x 10nF, pour MSGEQ7: 2x 0.1yF, 1x33pF (Amazon / AliExpress)
- Diode simple (Amazon / AliExpress)
- Prise CC (Amazon/AliExpress)
Étape 1: Construire le schéma
Schéma principal:
Donc, interfacer la bande WS2812 avec un Arduino est assez simple en utilisant la bibliothèque Adafruit_NeoPixel.
La bande LED a 3 broches: VCC, DATA, GND. VCC est connecté à 5V, GND à la terre et la broche DATA au milieu est connectée à la broche LED_DATA D6 sur l'Arduino. Maintenant, chaque LED sur la bande a une puce WS2812 qui prend les données qu'elle reçoit de l'Arduino et les transmet à la LED suivante, donc nous n'avons besoin de fournir les données de la LED qu'une seule fois à la première LED de la bande.
La logique du bouton-poussoir pour changer les modes et du potentiomètre pour contrôler la luminosité est expliquée à l'étape suivante.
Le schéma exact peut être trouvé dans la capture d'écran du fichier fritzing qui est également disponible au téléchargement.
Notez qu'il est très important de connecter uniquement la broche Arduino 5V à l'alimentation via la diode, afin que l'Arduino ne soit pas endommagé si nous branchons le câble USB pour le programmer. Le 10nF et le 1000uF sont également pour des raisons de sécurité, afin qu'il n'y ait pas de panne de courant.
Pour le Circuit MSGEQ7:
C'est le circuit le plus courant pour connecter un MSGEQ7 à un Arduino. C'est également là que vous avez besoin de la prise audio 3,5 mm. La broche du milieu de la plupart des prises audio est GND, les broches de gauche/droite sont les canaux stéréo qui se connectent via un condensateur de 10 nF à la broche d'entrée de signal du MSGEQ7, comme indiqué sur le schéma. Vous pouvez également ajouter un potentiomètre à la broche d'entrée du signal pour contrôler la sensibilité du signal audio, mais ce n'est vraiment pas nécessaire. Le MSGEQ7 est connecté à l'Arduino avec la broche de sortie analogique connectée à A1 (MSGEQ_OUT), la broche stroboscopique à D2 (STROBE), la broche de réinitialisation à D5 (RESET).
Étape 2: le code
Lien GitHub pour terminer l'esquisse: PhilKes/RGB_Audio_Backlight
Remarques sur le code:
Dans le code, nous déclarons l'objet Strip WS2812 avec un nouvel objet Adafruit_NeoPixel, en passant le nombre de Leds (changez NUM_LEDS pour votre configuration), la broche Arduino connectée à la broche LED_DATA et le type de codage + vitesse de transmission des valeurs de couleur.
Une fois cela fait, nous définissons la luminosité par défaut dans setup() via setBrightness (0-255) et activons la bande avec begin(). Nous pouvons maintenant définir chaque pixel/LED sur une couleur RVB spécifique avec setPixel(LED, Color). Lorsque nous avons terminé de régler toutes les LED sur de nouvelles valeurs, nous mettons à jour la bande avec strip.show(). C'est fondamentalement toute la logique de code dont nous avons besoin pour programmer n'importe quelle animation que nous voulons. Maintenant, pour contrôler réellement les animations/modes, nous ajoutons un bouton-poussoir/interrupteur tactile à l'Arduino. Nous connectons donc une extrémité du bouton à VCC et l'autre à la broche Arduino D3 et avec une résistance de 10kOhm à GND. Nous attachons une interruption à cette broche dans le setup(), ce qui déclenche un appel à la méthode changeMode() à chaque fois que nous appuyons sur le bouton. Dans changeMode(), nous passons simplement au mode suivant et disons à l'animation actuelle de s'arrêter. Une fois que cela se produit, la boucle () est nouvellement exécutée et jouera la nouvelle animation/mode.
Les animations fournies incluent: fondu de couleur arc-en-ciel, rouge, vert, bleu, couleur blanche, mode analyseur de musique
De plus, j'ai ajouté un potentiomètre de 10kOhm pour contrôler la luminosité de la bande. la méthode checkBrightness() vérifie la sortie du potentiomètre connecté à la broche A2 (broche centrale du potentiomètre) et met à jour la luminosité de la bande en conséquence.
Pour le mode musicAnalyzer() via MSGEQ7:
Ce mode visualise le signal audio connecté au signal d'entrée du MSGEQ7. Le MSGEQ émet un signal analogique présentant une seule bande audio (8 bandes, des basses aux hautes fréquences). La méthode musicAnalyzer() obtient les valeurs actuelles des bandes audio en réinitialisant le MSGEQ, puis en mettant en mémoire tampon les valeurs analogiques fournies. La bande émise peut être modifiée en plaçant un flanc haut sur la broche stroboscopique. Une fois que toutes les 8 bandes ont été mises en mémoire tampon, la méthode décale toutes les valeurs de pixels LED d'une unité et calcule la nouvelle valeur pour la LED 0. La couleur est composée de: couleur rouge basse fréquence (basse), couleur verte moyenne fréquence et couleur bleue haute fréquence. Le décalage de la valeur avant le chargement de la nouvelle valeur nous donne une belle animation en douceur.
Étape 3: Configurer l'audio sur PC
Pour que votre musique/audio soit transmis au MSGEQ7 tout en continuant à lire votre musique sur vos haut-parleurs, vous devez soit utiliser la fonction RealtekHD Stereomix, soit connecter l'entrée audio MSGEQ à, par ex. sortie haut-parleur arrière de votre carte son/carte mère.
Pour activer le Stereomix dans Win10, faites un clic droit sur l'icône du haut-parleur en bas à droite et cliquez sur "Sons", ici vous pouvez activer Stereomix dans l'onglet "Enregistrement" (clic droit -> activer). Si le Stereomix n'est pas visible, faites un clic droit et choisissez "Afficher les appareils désactivés". Ouvrez maintenant les paramètres du Stereomix et dites-lui d'écouter et de copier l'audio de vos haut-parleurs principaux.
Si vous souhaitez utiliser la sortie haut-parleur arrière, ouvrez les paramètres de votre haut-parleur principal dans le menu "Sons", onglet "Améliorations" puis sélectionnez "Environnement" dans la liste et choisissez "Pièce" dans le menu déroulant ci-dessous.
Cela permet maintenant la sortie audio parallèle de vos haut-parleurs et du MSGEQ7.
Étape 4: Remarques
Comme le schéma n'est ni si compliqué ni si gros, j'ai réussi à mettre l'ensemble des circuits dans une petite boîte avec des trous pour le connecteur USB, la prise audio, la prise CC, le potentiomètre et le bouton-poussoir. Vous pouvez simplement utiliser des embases mâles/femelles et connecter les 3 câbles à la bande WS2812 via des câbles de raccordement.
Conseillé:
Visualiseur audio à bande LED RVB non adressable : 6 étapes (avec images)
Visualiseur audio à bande LED RVB non adressable : 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 un beaucoup de musique qui me motive mais l'éclairage ne met tout simplement pas t
Visualiseur audio rétro à bande LED : 4 étapes (avec photos)
Visualiseur audio rétro à bande LED : En tant que musicien et étudiant en génie électrique, j'aime tout projet qui croise ces deux domaines. J'ai vu des visualiseurs audio DIY (ici, ici, ici et ici), mais chacun avait raté au moins un des deux objectifs que je m'étais fixés : un p
Visualiseur audio à 7 bandes : 4 étapes (avec images)
Visualiseur audio à 7 bandes : il s'agit d'un projet qui prend un signal analogique continu, généralement de la musique, et l'utilise pour allumer un visualiseur à 7 bandes. Il utilise la puce MSGEQ7 pour analyser le signal musical afin d'obtenir les amplitudes de fréquence et le mapper sur les bandes LED. Les bandes Led
Haut-parleur Bluetooth avec visualiseur de musique : 10 étapes (avec photos)
Haut-parleur Bluetooth avec visualiseur de musique : dans cette instructable, je vais vous montrer comment je construis ce haut-parleur Bluetooth qui a un visualiseur de musique en haut. Cela a l'air vraiment cool et rend votre moment d'écoute de la chanson plus impressionnant. Vous pouvez décider si vous souhaitez activer le visualiseur ou non
Comment faire un visualiseur audio de fréquence pour un costume (projet Arduino): 8 étapes (avec images)
Comment faire un visualiseur audio de fréquence pour un costume (projet Arduino): Dans cet Instuctable, je vais fournir des conseils, des plans et des codes pour créer un visualiseur audio passionnant intégré dans une combinaison en mousse de fibre de verre. En cours de route, je partagerai des étapes utiles et des codes supplémentaires que certains souhaitent implémenter des bibliothèques arduino FFT dans t