Table des matières:

ANALYSEUR DE SPECTRE CRAZY L.O.L : 6 étapes (avec photos)
ANALYSEUR DE SPECTRE CRAZY L.O.L : 6 étapes (avec photos)

Vidéo: ANALYSEUR DE SPECTRE CRAZY L.O.L : 6 étapes (avec photos)

Vidéo: ANALYSEUR DE SPECTRE CRAZY L.O.L : 6 étapes (avec photos)
Vidéo: EEVblog #1109 - Spectrum Analyser Design Walk-through 2024, Juillet
Anonim
ANALYSEUR DE SPECTRE CRAZY L. O. L
ANALYSEUR DE SPECTRE CRAZY L. O. L
ANALYSEUR DE SPECTRE CRAZY L. O. L
ANALYSEUR DE SPECTRE CRAZY L. O. L

Aujourd'hui, j'aimerais partager comment créer un analyseur de spectre audio - 36 bandes en combinant 4 LoL Shields. Ce projet fou utilise une bibliothèque FFT pour analyser un signal audio stéréo, le convertir en bandes de fréquences et afficher l'amplitude de ces bandes de fréquences sur 4 x LoL Shields.

Avant de commencer, veuillez regarder la vidéo ci-dessous:

Étape 1: CHOSES DONT NOUS AVONS BESOIN

Les principaux composants électroniques sont les suivants:

  • 4 pièces x Arduino Uno R3.
  • 4 pièces x circuit imprimé LoLShield. PCBWay (service de prototype de PCB personnalisé complet) m'a pris en charge ces cartes de circuits imprimés LoLShield.
  • 504 pièces x LED, 3 mm. Chaque LoLShield a besoin de 126 LED et nous pouvons choisir 4 couleurs et types de LED différents (diffusés ou non diffusés).
  • 1pcs x batterie de banque de puissance de chargeur portable 10000/20000mAh.
  • 4 pièces x en-tête mâle 40 broches 2,54 mm.
  • 2 pièces x câble USB de type A/B. L'un est utilisé pour la programmation Arduino, l'autre pour alimenter l'Arduino à partir d'une banque d'alimentation.
  • 1 prise audio stéréo femelle x 3,5 mm.
  • 1 pièces x 3,5 mm 1 adaptateur de répartiteur audio mâle à 2 femelles ou répartiteur audio multi-casque.
  • Câble de connecteur mâle-mâle pour prise audio stéréo 1 pièces x 3,5 mm.
Image
Image
  • Câble ruban arc-en-ciel 1 m x 8P.
  • Câble d'alimentation de 1 m x deux noyaux.
  • 1 pièces x acrylique transparent, taille A4.

Étape 2: SCHÉMA

SCHÉMATIQUE
SCHÉMATIQUE

Le LoLShield est une matrice de LED charlieplexing 9x14 pour l'Arduino et cette conception n'inclut aucune résistance de limitation de courant. Les LED sont adressables individuellement, nous pouvons donc l'utiliser pour afficher des informations dans une matrice de LED 9×14.

Le LoL Shield laisse D0 (Rx), D1 (Tx) et les broches analogiques A0 à A5 libres pour d'autres applications. L'image ci-dessous montre l'utilisation des broches Arduino Uno pour ce projet:

Image
Image

Mon analyseur de spectre audio a 4 x (Arduino Uno + LoLShield). L'alimentation et la prise audio stéréo 3,5 mm sont connectées comme schéma ci-dessous:

Image
Image

Étape 3: SOUDURE PCB ET LED LOL SHIELD

1. LoL SHIELD PCB

. Vous pouvez vous référer à la conception de PCB sur: https://github.com/jprodgers/LoLshield par Jimmie P. Rodgers.

Image
Image

. PCBWay m'a soutenu ces cartes de circuits imprimés LoLShield avec une livraison rapide et un PCB de haute qualité.

Image
Image

2. SOUDAGE LED

. Chaque LoLShield a besoin de 126 leds et j'ai utilisé différents types et couleurs pour 4x LoLShields comme suit:

  • 1 x LoLShield: led diffuse, couleur rouge, 3mm.
  • 1 x LoLShield: led diffuse, couleur verte, 3mm.
  • 2 x LoLShield: led non diffuse (claire), couleur bleue, 3 mm.

. Préparation du PCB et de la LED LoLShield

Image
Image

. Souder 126 LED sur le PCB LoLShield. Nous devrions vérifier les LED par batterie après avoir soudé chaque rangée - 14 LED

TOP LOLSHIELD

Image
Image

LOLSSHIELD INFÉRIEUR

Image
Image

. Terminez un LoLShield et continuez à souder 3 LoLShield restants.

Image
Image

Étape 4: CONNEXION ET ASSEMBLAGE

. Souder l'alimentation et le signal audio à 4xLoLShield. Un signal stéréo utilise deux canaux audio: gauche et droit qui sont connectés à Arduino Uno aux broches analogiques A4 et A5.

  • A4: Canal audio gauche.
  • A5: Canal audio droit.
Image
Image

. Alignement et montage de 4 x Arduino Uno sur la plaque acrylique.

Image
Image

. Branchement de 4 x LoLShield sur 4 x Arduino Uno.

Image
Image

. Collez la banque d'alimentation du chargeur portable et la prise audio sur la plaque acrylique

Image
Image

. Terminé!

Image
Image

Étape 5: PROGRAMMATION

Vous devriez vous référer au fonctionnement de LoLShield basé sur la méthode Charlieplexing et la transformation de Fourier rapide (FFT) à l'adresse:

en.wikipedia.org/wiki/Charlieplexing

github.com/kosme/fix_fft

Pour le Charlieplexing, nous prêtons attention aux "trois états" des broches numériques Arduino: "HIGH" (5V), "LOW" (0V) et "INPUT". Le mode "INPUT" met la broche Arduino en état haute impédance. Référence à:

www.arduino.cc/en/Tutorial/DigitalPins

Dans mon projet, les bandes de fréquences audio sont affichées sur 4 x LoL Shield et elles sont décrites comme indiqué ci-dessous:

Image
Image

Chaque Arduino lit le signal audio sur le canal gauche/droit et effectue la FFT.

pour (i=0; i < 64; i++) { Audio_Input= analogRead(RIGHT_CHANNEL); // Lecture du signal audio sur le canal droit A5 - ARDUINO 1 & 2 //Audio_Input = analogRead(LEFT_CHANNEL); // Lecture du signal audio sur le canal gauche A4 - ARDUINO 3 & 4 Real_Number = Audio_Input; Numéro_imaginaire = 0; } fix_fft(Real_Number, Imaginary_Number, 6, 0); // Effectue une transformation de Fourier rapide avec N_WAVE=6 (2^6=64) pour (i=0; i< 32;i++) { Real_Number = 2*sqrt(Real_Number * Real_Number + Imaginary_Number * Imaginary_Number); }

. Arduino 1 - Affiche les bandes de fréquences d'amplitude 01 ~ 09 du canal droit (A5).

for (int x=0; x < 14; x++) { for (int y=0; y < 9; y++) { if (x < Real_Number[y]) // Affiche les bandes de fréquences 01 à 09 { LedSign::Set (13-x, 8-y, 1); // LED ON } else { LedSign::Set(13-x, 8-y, 0); // LED éteinte } } }

. Arduino 2 - Affiche les bandes de fréquences d'amplitude 10 ~ 18 du canal droit (A5).

for (int x=0; x < 14; x++) { for (int y=0; y < 9; y++) { if (x < Real_Number[9 + y]) // Affichage des bandes de fréquences 10 à 18 { LedSign::Set(13-x, 8-y, 1); // LED ON } else { LedSign::Set(13-x, 8-y, 0); // LED éteinte } } }

. Arduino 3 - Affiche les bandes de fréquences d'amplitude 01 ~ 09 du canal gauche (A4).

Le code est le même qu'Arduino 1 et le canal gauche du signal audio se connecte à Arduino à la broche analogique A4.

. Arduino 4 - Affiche les bandes de fréquences d'amplitude 10 ~ 18 du canal gauche.

Le code est le même qu'Arduino 2 et le canal gauche du signal audio se connecte à Arduino à la broche analogique A4.

Étape 6: FINIR

TERMINER
TERMINER
TERMINER
TERMINER
TERMINER
TERMINER
TERMINER
TERMINER

Cet analyseur de spectre portable peut se connecter directement à un ordinateur portable/de bureau, un téléphone portable, une tablette ou d'autres lecteurs de musique via la prise audio stéréo 3,5 mm. Ce projet a l'air fou, j'espère qu'il vous plaira !

Merci pour votre lecture !!!

Conseillé: