Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Rétroéclairage RVB + Visualiseur audio MSGEQ7

Composants et fournitures

Arduino Nano R3
× 1
Ruban LED adressable Digilent WS2812
× 1
MSGEQ7
Égaliseur graphique à sept bandes pour l'analyse du spectre audio
× 1
Alimentation à découpage Digilent 5V 2.5A
× 1

Outils et machines nécessaires

Fer à souder (générique)

Applications et services en ligne

Arduino IDE

À propos de ce projet

Il s'agit d'une importation de mes Instructables d'origine ( cliquez ici )

Bienvenue dans mon tutoriel sur la façon de construire un rétroéclairage LED RVB par ex. l'arrière de votre téléviseur ou de votre bureau.

Le schéma lui-même est très simple puisque les bandes LED WS2812 sont très faciles à interfacer avec, par exemple, un Arduino Nano .

Remarque : que vous n'avez pas à utiliser le circuit d'analyseur audio supplémentaire MSGEQ7 si vous souhaitez uniquement le rétroéclairage LED sans visualisation audio.

J'ai fourni une liste détaillée des pièces utilisées et où les acheter :

  • Arduino Nano/Uno (Amazon/AliExpress)
  • Ruban LED RVB WS2812 (Amazon/AliExpress), notez que IP représente la protection (par exemple, étanche si vous en avez besoin) et le nombre représente le nombre de LED par mètre de la bande (important pour l'alimentation)
  • Alimentation 5V (Amazon) (dépend du nombre de bandes de LED) -> chaque LED prend ~ 20mA, la bande utilisée dans ce tutoriel a 45 LED (30 par mètre) donc j'ai besoin de 45 * 20mA ~ 1, 5 ampères (Arduino, MSGEQ7 en ont besoin aussi), j'ai connecté une alimentation qui fournit 3A ce qui est largement suffisant pour nous 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 )
  • Simple Diode (Amazon / AliExpress)
  • Prise CC (Amazon/AliExpress)

Fournitures :

É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 DATA Pin au milieu est connecté à la broche LED_DATA D6 de l'Arduino. Maintenant, chaque LED de la bande a une puce WS2812 qui prend les données qu'elle reçoit de l'Arduino et les transmet à la LED suivante, nous n'avons donc besoin d'alimenter les données de la LED qu'une seule fois sur la première LED de la bande. /P>

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.

Remarque qu'il est très important pour seulement connecter 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 à 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 Pin de sortie analogique connecté à A1 (MSGEQ_OUT), Stroboscope Épingler à D2 (STROBE), Réinitialiser Épingler à D5 (RÉINITIALISER).

contrôleur_rgb.fzz

Étape 2 :Le code

GitHub Lien vers l'esquisse complète :RGBStripe_Control_WS2812

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 (modifiez 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 allumez le Strip avec begin() . Nous pouvons maintenant définir individuellement chaque Pixel/LED à 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 / Commutateur tactile vers l'Arduino. Nous connectons donc une extrémité du bouton à VCC et l'autre à Arduino Pin D3 et avec une résistance de 10kOhm à GND. Nous associons une interruption à cette épingle dans le setup() , qui déclenche un appel à changeMode() méthode à chaque fois que nous appuyons sur le bouton. En changeMode() nous passons simplement au mode suivant et dites à l'animation actuelle de s'arrêter. Une fois que cela se produit, la boucle () est nouvellement exécutée et jouera le nouveau mode/animation.

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 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). Le musicAnalyzer() méthode 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 le son de vos enceintes principales.

Si vous souhaitez utiliser la sortie du 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 désormais la sortie audio parallèle de vos haut-parleurs et du MSGEQ7.

Étape 4 : Notes

Étant donné que 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 cavaliers.

Code

Téléchargement de croquis Arduino
https://github.com/PhilKes/RGBStripe_Control_WS2812

Schémas

Schéma de la platine de rupture pour connecter Arduino à la bande WS2812 avec contrôle de la luminosité via un potentiomètre fvwp3zyjs5c4z851_12HuWgZiDT.fzzLe schéma MSGEQ7 autonome est utilisé uniquement pour le mode Visualiseur audio
Connectez le signal d'entrée à la prise audio 3,5 mm du canal gauche/droit et aux autres broches de contrôle comme indiqué dans l'autre schéma

Processus de fabrication

  1. Capteur à lumière pulsée
  2. Visualiseur de musique Arduino DIY LUMAZOID
  3. Détecteur de fréquence audio
  4. Arduino avec Bluetooth pour contrôler une LED !
  5. Lire l'audio dans Arduino
  6. Arduino quadrupède
  7. Mixeur de couleurs Arduino RVB
  8. Traitement DIY Arduino RADIONICS MMachine
  9. DMX RGB LED extérieur