Table des matières:

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): 8 étapes (avec images)

Vidéo: Comment faire un visualiseur audio de fréquence pour un costume (projet Arduino): 8 étapes (avec images)

Vidéo: Comment faire un visualiseur audio de fréquence pour un costume (projet Arduino): 8 étapes (avec images)
Vidéo: Manipulation Audio et Effets Visuels avec Processing 2024, Novembre
Anonim
Image
Image
Matériaux et prix
Matériaux et prix

Dans cet Instuctable, je fournirai des conseils, des plans et des codes pour créer un visualiseur audio passionnant intégré à 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 leurs projets.

Étape 1: Matériaux et prix

Avant de fabriquer la combinaison en mousse, j'ai d'abord fait un tableau pour apprendre à faire fonctionner la bibliothèque FFT. Les matériaux nécessaires sont:

  1. 2x 30 bandes néopixels WS2812B…………………………………………………………………….$3.22 la bande
  2. Arduino uno (chinois utilisé)……………………………………………………………………Déjà possédé
  3. Brancher les fils……………………………………………………………………………………. Déjà possédé
  4. Alimentation externe…………………………………………………………………………. Déjà possédée
  5. Surface de montage (carton usagé)…………………………………………………………Déjà possédé
  6. Module amplificateur audio LM386……………………………………………………………………..8,98 $ pour 5 unités
  7. 3,5 mm audio stéréo mâle vers AV connecteur femelle à 3 vis……….6,50 $ pour 5 unités
  8. Jack stéréo 3,5 mm femelle à femelle…………………………………………………………..5,99 $ pour 6 unités
  9. Planche à pain……………………………………………………………………………………………………Déjà possédée

Pour adopter éventuellement la configuration d'une combinaison avec un microphone, les éléments suivants sont nécessaires:

  1. Bande de 19 néopixels…………………………………………………………………………Découpée de 5m de 300 LED pour 26,67$
  2. Bande de 5 néopixels………………………………………………………………………….. Coupe du même rouleau
  3. Arduino nano (utilisé en chinois)………………………………………………………. 3,00 $ (5 pour 15 $)
  4. Brancher les fils………………………………………………………………………………. Déjà possédé
  5. Batterie Li-Ion Rechargeable Talentcell 6000mAh…………………………….$29.99
  6. Connecteur femelle audio stéréo 3,5 mm vers AV 3 bornes à vis…..6,50 $ pour 5 unités
  7. Jack stéréo 3,5 mm femelle à femelle…………………………………………..5,99 $ pour 6 unités
  8. Interrupteurs……………………………………………………………………………………. Extrait de la voiture cassée
  9. Un costume………………………………………………………………………………………….50$ pour les articles assortis

Étape 2: Assemblage et câblage

Assemblage et câblage
Assemblage et câblage
Assemblage et câblage
Assemblage et câblage
Assemblage et câblage
Assemblage et câblage

Commencez avec deux bandes de 30 bandes LED WS2812 et coupez-les en 5 longueurs de bandes LED le long des lignes de coupe. Collez ces bandes sur une surface plane. Dans mon exemple, j'ai utilisé du carton. Câblez ensuite les composants ensemble comme indiqué. Assurez-vous que suffisamment de temps est pris pour assurer de bons points de soudure. Pour vous assurer qu'ils fonctionnent tous correctement, utilisez les exemples de la bibliothèque Neopixel d'Adafruit (l'exemple "Straintest" fonctionne très bien).

Étape 3: Code Arduino

Code Arduino
Code Arduino

Seules deux bibliothèques sont nécessaires pour ce projet.

Pour la FFT, j'ai utilisé ArduinoFFT d'Open Music Lab https://wiki.openmusiclabs.com/wiki/ArduinoFFT. Assurez-vous de suivre précisément leurs instructions d'installation sinon cela ne fonctionnera pas. Après l'avoir installé correctement, je recevais toujours des messages d'erreur concernant une "bibliothèque invalide", mais tout fonctionnait toujours pour moi. Commentez si vous identifiez ce que j'ai raté. Pour les néopixels, j'ai utilisé la bibliothèque NeoPixel d'Adafruit (comme mentionné précédemment). Je recommande d'utiliser le gestionnaire de bibliothèque dans le logiciel arduino pour l'installer.

Le fichier SuitFFT est le code exécuté sur la combinaison avec toutes les entrées supplémentaires de mon contrôleur. LightShowFFT est destiné au réseau de 60 LED d'entrée auxiliaire.

Ces deux codes peuvent être exécutés plus rapidement en réduisant N. N dans mes exemples est de 256 et j'ai trouvé qu'il était plus que approprié pour mes projets. J'ai découvert expérimentalement que le spectre audio complet fonctionnait bien au-delà de 9 kHz, comme on le voit testé à l'étape suivante !

Étape 4: ce que fait la FFT

Image
Image
Ce que fait la FFT
Ce que fait la FFT

Une FFT ou Fast Fourier Transform prend un signal et le transforme dans le domaine fréquentiel. Ce que chacune des lumières montre est un bac de fréquence. Comme la FFT est un calcul mathématiquement complexe, on peut accélérer l'exécution du code en limitant le nombre d'échantillons. Cependant, la résolution en fréquence en souffrira. Faute de mots, la FFT dans l'Arduino est un équilibre entre: taux d'échantillonnage, nombre d'échantillons, temps de boucle, etc. J'encourage les autres à jouer avec les paramètres pour trouver ce qui fonctionne le mieux pour leur propre projet.

Il est maintenant temps de faire le costume.

Étape 5: Conseils sur les costumes

Conseils sur les costumes
Conseils sur les costumes
Conseils sur les costumes
Conseils sur les costumes
Conseils sur les costumes
Conseils sur les costumes

Mon costume a été fabriqué à partir de mousse où de nombreux autres Instructables publiés ont mieux couvert le sujet. La différence avec le mien était que j'ai pris des mesures supplémentaires pour le bondo, la fibre de verre et la peinture. Les conseils pour cela sont les suivants.

  • Faites un excellent travail de préparation (enregistrement, masquage, etc.) car cela fait une énorme différence de temps plus tard
  • Mélangez toujours le bondo et la fibre de verre en petites quantités
  • Utilisez Bondo pour combler les vides
  • Utilisez de la résine de fibre de verre pour sceller et renforcer
  • Utilisez un chiffon en fibre de verre pour mieux rigidifier les points faibles
  • PRENEZ votre temps et soyez patient avec votre travail
  • Pour le ponçage

    • 40-100 grains au matériau d'enlèvement
    • Grain 100-400 pour la préparation de l'apprêt
    • 400-1000 grain pour poncer l'apprêt
    • Grain 1000-3000 pour le ponçage de la peinture

Pour monter les bandes néopixel, j'ai utilisé de la colle chaude pour fixer les bandes en place. Quelques défis consistent maintenant à le rendre alimenté par batterie, à détecter le microphone, à fonctionner avec un contrôleur, etc.

Étape 6: Créer ou choisir un contrôleur, le câbler et coder

Fabriquer ou choisir un contrôleur, le câbler et coder
Fabriquer ou choisir un contrôleur, le câbler et coder
Fabriquer ou choisir un contrôleur, le câbler et coder
Fabriquer ou choisir un contrôleur, le câbler et coder
Fabriquer ou choisir un contrôleur, le câbler et coder
Fabriquer ou choisir un contrôleur, le câbler et coder
Fabriquer ou choisir un contrôleur, le câbler et coder
Fabriquer ou choisir un contrôleur, le câbler et coder

N'importe quel interrupteur ou interrupteurs peut être utilisé. Pour mon projet, j'ai trouvé que les commandes de fenêtre d'une Honda Prelude 96 fonctionnaient très bien. Après avoir retiré les interrupteurs de leur logement, j'ai utilisé un multimètre réglé en mode continuité pour trouver quel fil faisait quoi, une fois les interrupteurs enfoncés (notez que parfois les interrupteurs cassent la continuité). J'ai décidé de verrouiller la fenêtre à bascule, de verrouiller les commandes contre les coups accidentels, de monter et descendre la fenêtre pour les commandes de luminosité et le dernier interrupteur pour les "modes d'éclairage".

Pour que les commutateurs fonctionnent correctement, des résistances de rappel sont nécessaires. Normalement, les résistances de 50 à 100 kΩ fonctionneront, mais quelques commutateurs ont dû utiliser une résistance beaucoup plus faible (certains autour de 300) pour modifier suffisamment la tension pour que l'Arduino interrompe correctement l'entrée numérique (environ moins de 0,3 * Vcc pour faible et supérieur que 0,6 * Vcc pour haut). Toute personne faisant cela doit passer par un commutateur, de préférence avec une planche à pain d'abord pour s'assurer que le contrôleur fonctionne correctement.

Après avoir compris l'interrupteur, j'ai soudé les composants ensemble en utilisant le schéma indiqué. Utilisez une carte de circuit imprimé pour mieux fixer les composants. Reportez-vous à l'image pour un aperçu détaillé. Le réseau de 19 LED descend le long de la colonne vertébrale de ma combinaison et l'autre à l'avant comme indicateur de ce qui se passe.

Pour fixer le contrôleur à la combinaison, j'ai utilisé de la colle chaude pour le placer. Ensuite, j'ai fabriqué des cales en mousse plus petites et je les ai également collées à chaud pour soutenir le contrôleur.

Étape 7: Touches finales

Touches finales
Touches finales
Touches finales
Touches finales
Touches finales
Touches finales

Pour finir, découpez des fentes dans la mousse pour faire passer le fil. Fixez les fils avec de la colle chaude. Pour des touches supplémentaires, j'ai également acheté quelques articles supplémentaires pour « sceller l'affaire ». J'ai pensé… si vous allez sortir en ayant l'air ridicule dans un costume léger, faites un pas de plus !

Étape 8: C'est tout ! (Plus des conseils de dépannage)

C'est ça! (Plus des conseils de dépannage)
C'est ça! (Plus des conseils de dépannage)

Merci de visiter mon instuctable et amusez-vous, bricoleurs!

Conseils de dépannage tirés de l'expérience du projet:

  • Si les lumières agissent bizarrement (lumière vacillante, ne fonctionnent pas toutes correctement, couleurs inhabituelles)

    • Mauvaise alimentation électrique des lumières

      • Alimentations multiples
      • N'enchaînez pas les néopixels ensemble
      • Exécutez des lignes électriques supplémentaires vers des bandes
    • Problème de code

      • Vérifiez que le nombre de lumières est correct
      • Vérifiez si le code affiche correctement les lumières et les bacs de fréquence
    • Mauvaise alimentation à Arduino

      Augmenter l'alimentation

    • Tension d'Arduino à néopixels désactivée

      Utilisez la même alimentation pour alimenter les deux

  • Lumières allumées mais pas de FFT

    • Vérifiez le fil de l'amplificateur et de l'alimentation, des masses et de l'entrée de l'amplificateur
    • Augmenter/diminuer le gain de l'amplificateur
    • Mauvaise puissance des lumières

Conseillé: