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

Construire un Visualiseur Audio Matrice RGB avec Arduino – Guide Pas à Pas

Composants et fournitures

Composant Quantité Notes
Arduino UNO 1
Shield Adafruit NeoPixel pour Arduino 1 40 RGB NeoPixels (WS2812)
SparkFun Spectrum Shield 1 2 filtres MSGEQ7, 7 bandes par canal
Boîtier ProtoStax pour Arduino 1 Enclosure modulaire empilable (Uno/Mega)
Bouton poussoir SPST OFF-(ON) bleu 1
Jack stéréo 3.5mm isolé montage panneau 2
Câbles aux 3.5mm coudés 90° 2
Câble patch 3.5mm stéréo mâle-mâle 6ft 1

Outils nécessaires

À propos de ce projet

Construire un Visualiseur Audio Matrice RGB avec Arduino – Guide Pas à Pas

Dans cet article, j'explique comment construire un visualiseur audio à matrice LED RGB en utilisant un Arduino, un Shield Matrice LED RGB Adafruit, et un Shield Analyseur de Spectre Audio SparkFun, le tout intégré dans un boîtier pour obtenir un projet fini à afficher près de votre système audio pour un spectacle lumineux synchronisé avec votre musique !

Analyse de spectre audio

J'utilise le SparkFun Spectrum Shield avec deux filtres MSGEQ7 qui divisent une entrée audio stéréo en 7 bandes (par canal) et lisent l'amplitude de chacune via l'ADC de l'Arduino. Fourni avec des exemples de code Arduino.

Matrice LED RGB

J'utilise le Adafruit NeoPixel Shield : 40 RGB NeoPixels (WS2812). LED rouge, verte, bleue + puce de contrôle intégrées dans un boîtier CMS, pilotées par un seul fil. Chaînées sur le shield. Bibliothèque Adafruit_NeoMatrix pour simplifier le contrôle.

Boîtier ProtoStax

Système d'enceinte modulaire empilable pour Arduino. Supporte différentes phases de prototypage : protection + accès ouvert au début, possibilité d'ajouter parois latérales et couvercle plus tard. Empilable côte à côte ou verticalement. En acrylique transparent, robuste, avec patins en caoutchouc. Parfait pour afficher le visualiseur avec votre système audio !

Étape 1 – Monter l'Arduino sur la base du boîtier

Montez l'Arduino (Uno) sur la plaque de base. Configuration "Plateforme" : protection + accès total. Ajoutez les pieds et matériel. Voir diaporama pour étapes détaillées.

Construire un Visualiseur Audio Matrice RGB avec Arduino – Guide Pas à Pas

Animation GIF : Construire un Visualiseur Audio Matrice RGB avec Arduino – Guide Pas à Pas

Étape 2 – Préparer le SparkFun Spectrum Shield

Le Spectrum Shield n'a pas de connecteurs. Heureusement, le NeoPixel Shield fournit des connecteurs à empilement (stacking) et standards. J'utilise les standards pour le NeoPixel (au-dessus, affleurant) et les stacking pour le Spectrum Shield (en dessous).

Problème : les ports USB/Alimentation de l'Uno gênent. Solutions :

  1. Couper l'extrémité du Spectrum Shield au-dessus des ports USB/Alimentation (zone prototypage inutilisée)
  2. Raccourcir légèrement les pattes des connecteurs stacking

Résultat : ajustement parfait !

Construire un Visualiseur Audio Matrice RGB avec Arduino – Guide Pas à Pas

Construire un Visualiseur Audio Matrice RGB avec Arduino – Guide Pas à Pas

Étape 3 – Insérer le Adafruit NeoPixel Shield

Le NeoPixel Shield va au-dessus du Spectrum Shield. Soudez les connecteurs standards fournis. J'ai aussi soudé le connecteur terminal, mais ici j'alimente via l'Arduino (pas toutes les LED allumées simultanément).

Étape 4 – Code de démonstration

Dépôt GitHub : ProtoStax_Audio_Visualizer_Demo

Deux parties principales :

  1. Analyse de spectre et sauvegarde des résultats
  2. Traduction en schéma d'affichage/couleurs pour la matrice 8x5 NeoPixel

Analyse de spectre

En envoyant une séquence numérique aux broches STROBE et RESET, on initialise les puces MSGEQ7. On lit ensuite l'amplitude de chaque bande de fréquence (7 bandes). Chaque bande lue → pulsation STROBE pour la suivante. Valeurs stockées dans Frequencies_One[7] et Frequencies_Two[7] (stéréo). Lecture via ADC 10 bits (0-1023).

Les 7 bandes : 63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz, 16kHz.

Regroupement en 3 plages :

Matrice RGB

Point clé : système de coordonnées NeoMatrix. [0,0] = toujours coin supérieur gauche. Largeur (WIDTH) puis Hauteur (HEIGHT). Position de la LED physique #0 (logo Adafruit). Progression : ROWS (horizontal) ou COLUMNS (vertical).

Notre config : 7 bandes de fréquence, matrice 8x5 (ou 5x8). Affichage des 7 bandes sur la dimension 8 (1 inutilisée), amplitude sur dimension 5. Origine en bas à gauche (plus bas fréquence, plus bas amplitude) → rotation mentale : WIDTH=5, HEIGHT=8, TOP-RIGHT, COLUMNS PROGRESSIVE.

Code principal :

#define NEO_MATRIX_WIDTH 5
#define NEO_MATRIX_HEIGHT 8
#define NEOPIXEL_PIN 6

Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(
  NEO_MATRIX_WIDTH, NEO_MATRIX_HEIGHT, NEOPIXEL_PIN,
  NEO_MATRIX_TOP + NEO_MATRIX_RIGHT + NEO_MATRIX_COLUMNS + NEO_MATRIX_PROGRESSIVE,
  NEO_GRB + NEO_KHZ800
);

void setup() {
  matrix.begin();
  matrix.setTextWrap(false);
  matrix.setBrightness(40);
  matrix.fillScreen(0);
  matrix.show();
}

void loop() {
  static int scheme = 0;
  while (Serial.available() > 0) scheme = Serial.parseInt();
  Graph_Frequencies(ALL, scheme);
  delay(50);
}

Pour chaque bande (ligne), on prend le max des deux canaux (0-1023). Mapping vers 5 colonnes : division par FREQ_DIV_FACTOR = 204 (1023/204 ≈ 5). Affichage via matrix.drawPixel().

Couleurs HSV pour transitions fluides : matrix.ColorHSV(hue) retourne uint32_t, mais drawPixel attend uint16_t. Solution : matrix.setPassThruColor(couleur32bit) puis drawPixel(col, row, 0).

3 schémas de couleurs :

  1. MAGNITUDE_HUE : vert → rouge/rose selon amplitude
  2. MAGNITUDE_HUE_2 : gamme rose/bleu décalée
  3. HSV_COLOR_WHEEL : cycle complet roue des couleurs

Étape 6 – Tests

Vidéo de test disponible dans l'article original.

Étape 7 – Fermer le boîtier

Installer renforts supérieurs, parois latérales, câbles audio et couvercle. Voir diaporama et GIF animé.

Construire un Visualiseur Audio Matrice RGB avec Arduino – Guide Pas à Pas

Étape 8 – Exposez votre création !

Vous avez maintenant un visualiseur audio amusant à afficher près de votre système audio pour sublimer votre musique avec des effets lumineux faits maison !

Étape 9 – Aller plus loin

  1. Ajouter des jacks stéréo montage panneau sur paroi latérale pour câblage interne propre
  2. Plus de schémas de couleurs/motifs
  3. Sélection plages fréquentielles via entrée série
  4. Bouton poussoir pour changer schéma de couleurs (percer paroi latérale)
  5. Second bouton pour changer plage fréquentielle (BASSES/MÉDIUMS/AIGUS/TOUTES)
  6. Poncer légèrement le couvercle pour effet diffuseur de lumière plus doux

Si intérêt suffisant, je mettrai à jour le projet avec jacks audio, boutons et couvercle diffuseur opaque. Dites-le-moi en commentaire !

Code

ProtoStax Audio Visualizer Demo

Dépôt GitHub : https://github.com/protostax/ProtoStax_Audio_Visualizer_Demo

Processus de fabrication

  1. Capteur CO2 K30 : Surveillance en temps réel de la qualité de l'air intérieur
  2. Faciliter la communication sourd-aveugle avec 1Sheeld et Arduino
  3. Construire une Tirelire Intelligente : Contrôler un Accepteur de Pièces avec Arduino Nano
  4. Construire une console Pong 24×16 LED avec Arduino Nano et MAX7219
  5. Détecteur de fréquence audio Arduino — Mesurer le pic sonore avec module haute sensibilité
  6. Contrôler une LED par Bluetooth avec Arduino et MIT App Inventor
  7. Intégrer un capteur d'empreintes capacitif DFRobot (ID809) avec Arduino ou ESP8266
  8. Comment lire de l'audio avec Arduino UNO et DFPlayer Mini – Guide étape par étape
  9. Animez Votre Poisson Billy Bass avec N'importe Quelle Source Audio – Guide Pas à Pas