Table des matières:

Fontaine dansante : Arduino avec analyseur de spectre MSGEQ7 : 8 étapes
Fontaine dansante : Arduino avec analyseur de spectre MSGEQ7 : 8 étapes

Vidéo: Fontaine dansante : Arduino avec analyseur de spectre MSGEQ7 : 8 étapes

Vidéo: Fontaine dansante : Arduino avec analyseur de spectre MSGEQ7 : 8 étapes
Vidéo: Fontaine Musicale Fontaine Dansante Conception de fontaine spectaculaire 2024, Juillet
Anonim
Fontaine dansante: Arduino avec analyseur de spectre MSGEQ7
Fontaine dansante: Arduino avec analyseur de spectre MSGEQ7

La réception d'un signal audio et sa conversion en réaction visuelle ou mécanique est très intéressante. Dans ce projet, nous utiliserons un Arduino Mega à connecter à un analyseur de spectre MSGEQ7 qui prend le signal audio d'entrée et effectue un filtrage passe-bande dessus pour le diviser en 7 bandes de fréquences principales. L'Arduino analysera alors le signal analogique de chaque bande de fréquence et créera une action.

Étape 1: Objectifs du projet

Ce projet abordera 3 modes de fonctionnement:

  1. Les LED sont connectées à des broches numériques PWM pour réagir aux bandes de fréquences
  2. Les LED sont connectées à des broches numériques pour réagir aux bandes de fréquences
  3. Les pompes sont connectées à l'Arduino Mega via des pilotes de moteur et réagissent aux bandes de fréquences

Étape 2: Théorie

Théorie
Théorie
Théorie
Théorie

Si nous parlons du MSGEQ7 Spectrum Analyzer IC, nous pouvons dire qu'il possède 7 filtres passe-bande internes qui divisent le signal audio d'entrée en 7 bandes principales: 63 Hz, 160 Hz, 400 Hz, 1 kHz, 2,5 kHz, 6,25 kHz et 16 kHz.

La sortie de chaque filtre est choisie pour être la sortie du CI en utilisant un multiplexeur. Ce multiplexeur comporte des sélecteurs de lignes commandés par un compteur binaire interne. On peut donc dire que le compteur doit compter de 0 à 6 (000 à 110 en binaire) pour laisser passer une bande à la fois. Cela indique clairement que le code de l'Arduino devrait pouvoir réinitialiser le compteur une fois qu'il atteint le nombre 7.

Si nous regardons le schéma de circuit du MSGEQ7, nous pouvons voir que nous utilisons un tuner de fréquence RC pour contrôler l'horloge interne de l'oscillateur. puis nous utilisons des éléments de filtrage RC au niveau du port de signal audio d'entrée.

Étape 3: Procédures

Procédures
Procédures

Selon la page source (https://www.baldengineer.com/msgeq7-simple-spectrum-analyzer.html), nous pouvons voir que le code source traite les sorties en tant que signaux PWM répétitifs. nous pouvons modifier certaines des lignes de code en fonction de nos objectifs.

On peut remarquer que si on a un jack stéréo, on peut doubler la résistance d'entrée et le condensateur vers le deuxième canal. Nous alimentons le MSGEQ7 depuis l'Arduino VCC (5 volts) et GND. Nous allons connecter le MSGEQ7 à la carte Arduino. Je préfère utiliser l'Arduino Mega car il possède des broches PWM adaptées au projet. La sortie du MSGEQ7 IC est connectée à la broche analogique A0, le STROBE est connecté à la broche 2 de l'Arduino Mega et le RESET est connecté à la broche 3.

Étape 4: Modes de fonctionnement: 1- LED comme sorties numériques PWM

Modes de fonctionnement: 1- LED comme sorties numériques PWM
Modes de fonctionnement: 1- LED comme sorties numériques PWM

Selon le code source, nous pouvons connecter les LED de sortie aux broches 4 à 10

const int LED_pins[7] ={4, 5, 6, 7, 8, 9, 10};

Ensuite, nous pouvons remarquer que les LED dansent sur la force de chaque bande de fréquence.

Étape 5: Modes de fonctionnement: 2- LED comme sorties numériques

Image
Image
Modes de fonctionnement: 3- pompes en tant que sorties numériques
Modes de fonctionnement: 3- pompes en tant que sorties numériques

Nous pouvons connecter les LED de sortie à toutes les broches numériques.

const int LED_pins[7] ={40, 42, 44, 46, 48, 50, 52};

Ensuite, nous pouvons remarquer que les LED clignotent sur la force de chaque bande de fréquence.

Étape 6: Modes de fonctionnement: 3- Pompes en tant que sorties numériques

Modes de fonctionnement: 3- pompes en tant que sorties numériques
Modes de fonctionnement: 3- pompes en tant que sorties numériques

Dans ce dernier mode, nous allons connecter le module de pilote de moteur L298N aux sorties de l'Arduino. cela nous permet de contrôler le fonctionnement de la pompe en fonction de la sortie de l'analyseur de spectre MSGEQ7.

Comme on le sait, les pilotes de moteur nous permettent de contrôler le fonctionnement des moteurs ou des pompes connectés en fonction du signal généré par l'Arduino sans absorber le courant de l'Arduino, au lieu de cela, ils alimentent les moteurs directement à partir de la source d'alimentation connectée.

Si nous exécutons le code en tant que source brute, les pompes risquent de ne pas fonctionner correctement. C'est parce que le signal PWM est faible et ne conviendra pas au pilote de moteur pour faire fonctionner les moteurs ou les pompes et fournir un courant approprié. C'est pourquoi je recommande d'augmenter la valeur PWM en multipliant les lectures analogiques de A0 avec un facteur supérieur à 1,3. Cela aide la cartographie à être adaptée au conducteur du moteur. Je recommande 1,4 à 1,6. Nous pouvons également remapper le PWM pour qu'il soit de 50 à 255 afin d'être sûr que la valeur PWM conviendra.

Nous pouvons connecter les LED avec les sorties pour les pilotes de moteur, mais les LED ne clignoteront pas de manière bien visible comme avant car les valeurs PWM ont été augmentées. Je suggère donc de les garder connectés aux broches numériques 40 à 52.

Étape 7: Contacts

Tellement heureux d'avoir des retours de votre part. N'hésitez pas à rejoindre mes chaînes sur:

YouTube:

Instagram: @simplydigital010

Twitter: @simply01Digital

Conseillé: