Table des matières:
Vidéo: Visualiseur audio rétro à bande LED : 4 étapes (avec photos)
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
En tant que musicien et étudiant en génie électrique, j'aime tout projet qui croise ces deux domaines. J'ai vu des visualiseurs audio DIY (ici, ici, ici et ici), mais chacun avait raté au moins l'un des deux objectifs que je me suis fixés: une qualité de fabrication professionnelle et un écran relativement grand (un wimpy 8*8 La matrice LED ne suffirait pas ici !). Avec une touche vintage et assis à 40 "x 20", ce visualiseur audio atteint ces deux objectifs.
Désolé d'avance pour les photos verticales. Beaucoup d'entre eux ont été pris pour les médias sociaux.
Étape 1: Liste des pièces
J'avais déjà plusieurs de ces pièces qui traînaient. Les liens sont purement pour référence. Veuillez ne pas acheter de composants inutilement coûteux.
Électronique
- WS2811 60LEDS/m @ 5m, IP30 (non étanche), adressable - Ceux-ci étaient moins chers que WS2812 à l'époque. Vous avez une certaine marge de manœuvre ici, mais assurez-vous que les dimensions sont correctes et que vous pouvez réellement parler aux LED. Notez également que les WS2811 sont en 12V tandis que les WS2812 sont en 5V.
- 9 connecteurs JST 3 broches + prises
- Alimentation DC 12V 20A (240W) - J'avais initialement prévu de faire 2 bandes LED et je voulais un ensemble de haut-parleurs à couper le souffle. Chaque bande lumineuse est de 90W dans le pire des cas (je n'ai pas mesuré pour confirmer), ce qui m'a laissé ~60W pour les haut-parleurs + amplificateur. L'option 15A n'était de toute façon que 4 $ de moins.
- Cordon d'alimentation (3 broches)
- Arduino Uno - J'avais un R3 qui traînait donc je l'ai utilisé. Vous pourrez peut-être trouver une option moins chère auprès de l'une des imitations ou d'un autre fournisseur.
- TRRS Breakout - Pour entrée auxiliaire
- Régulateur L7805 5V - Tout régulateur 5V qui accepte une entrée 12V fonctionnera.
- Condensateurs 330 nF, 100 nF - selon la fiche technique L7805
- 2 x 10kR, 2 x 1kR, 2 x 100 nF condensateurs - pour la polarisation d'entrée audio
- Récepteur stéréo - tout récepteur stéréo vintage fonctionnera tant qu'il dispose d'une entrée auxiliaire (3,5 mm ou RCA). J'ai acheté un Panasonic RA6600 sur Craigslist pour 15 $. Je recommande de vérifier Goodwill, Craigslist et d'autres friperies pour des informations similaires.*
- Haut-parleurs - Pas les haut-parleurs BT. Juste un ensemble d'enceintes. Faites attention à quelle impédance est compatible avec votre récepteur. J'ai trouvé un ensemble de 3 haut-parleurs de 20 W (=forts) chez Goodwill pour 6 $, et qui est venu avec un haut-parleur "centre" et deux haut-parleurs "avant".
- Adaptateur audio Logitech BT - cet appareil peut diffuser de l'audio vers les haut-parleurs stéréo et vers votre circuit
- Câble RCA mâle vers RCA mâle
- Cordon auxiliaire
Matériel
- 2x6 (8pi) - Non traité sous pression. Devrait être d'environ 6 $ ou moins chez HD ou Lowe's
- Acrylique à 40% de transmission de la lumière - J'ai commandé 18 "x 24" x 1/8", et il mesurait techniquement 17,75" x 23,5". Gardez-le dans l'emballage lorsque vous passez à la découpe au laser.
- Teinture pour bois - Vous n'avez besoin que d'une petite boîte. J'ai utilisé de l'acajou rouge Minwax et le résultat est très agréable. Je recommande vraiment un ton sombre. J'ai d'abord essayé le provincial et ça n'avait pas l'air aussi bien.
- Laque - Tout d'abord, regardez cette vidéo de Steve Ramsey et décidez par vous-même ce qui fonctionne le mieux. J'ai eu une bombe aérosol de semi-brillant (aucun brillant n'était disponible) et honnêtement, cela n'a pas fait grand-chose. Mais je n'ai aussi fait qu'une seule couche par manque de temps.
- Vis à bois 40 x 1/2" - J'avais une tête ronde à ma disposition, mais je recommande d'utiliser un dessus plat si vous le pouvez. Je ne pense pas que cela interférerait avec la qualité de construction, mais n'hésitez pas à demander d'abord à toute personne plus familière avec le travail du bois.
- Bois de rebut, colle de gorille, colle chaude, soudure, fil et bandes de commande (style velcro, 20 moyennes ou 10 grandes)
* Je prévois de construire une barre de son pour réaliser ce projet entièrement "à partir de zéro", qui remplacera 9-13 ci-dessus. J'espère mettre à jour cette instructable avec cela d'ici la fin de l'été.
Étape 2: Prototypage
Cette section n'est pas quelque chose que vous devez remplir, mais je veux montrer à quoi ressemblait le projet au fur et à mesure de son avancement.
Ici, j'ai collé des LED dans le motif de serpent et j'expérimentais la diffusion de la lumière via un sac poubelle superposé sur lui-même (je le recommande fortement comme alternative à l'acrylique si vous essayez de réduire les coûts. Bien que vous deviez attachez-le d'une manière différente).
Une configuration 10x10 a fonctionné pour moi, mais vous préférerez peut-être 8x12 ou 7x14. N'hésitez pas à expérimenter. Avant d'avoir ma chaîne stéréo, j'ai trouvé un amplificateur et je l'ai branché sur ma planche à pain, et avant cela, j'ai lu l'audio de mon ordinateur portable sur le circuit pour l'analyse audio et j'ai appuyé simultanément sur "play" sur mon téléphone pour l'entendre.
Je suis un grand croyant dans la mesure deux fois, coupé une fois. Alors quoi que vous fassiez, suivez ce guide et vous serez prêt.
Étape 3: Circuits + Code
Le code est disponible sur GitHub.
Planche à pain, soudez à une planche perforée ou concevez votre propre PCB. Tout ce qui fonctionne le mieux pour vous ici, faites-le. Ma démo ici fonctionne sur une maquette, mais lorsque je construirai la barre de son, je transférerai tout sur un PCB. Pour alimenter l'adaptateur, coupez l'extrémité femelle et retirez l'isolant noir. Dénudez suffisamment de câbles pour les visser aux bornes de l'adaptateur. Soyez toujours prudent lorsque vous travaillez avec AC! A part ça, juste quelques choses à noter ici.
- Chemins au sol Une autre chose est de s'assurer que vos chemins au sol sont bons. Vous avez besoin de la terre de l'adaptateur à Arduino à l'entrée auxiliaire, qui se connectera également à la terre sur le récepteur Logitech BT et à partir de là à la terre sur la chaîne stéréo. Si l'un d'entre eux est une connexion cassée ou mauvaise, vous obtiendrez une entrée audio très bruyante et donc un affichage très bruyant.
- Biasing d'entrée audioL'audio joué sur un cordon auxiliaire, depuis votre téléphone ou votre ordinateur portable ou ailleurs, sera lu à -2,2 à +2,2 V. Arduino n'est capable de lire que de 0 à +5V, vous devez donc polariser l'entrée audio. Cela peut être accompli efficacement avec des amplis op, mais si la consommation d'énergie n'est pas un problème (peut-être avez-vous acheté une alimentation de 240 W ?), cela peut également être accompli avec des résistances et des condensateurs. Les valeurs que j'ai choisies étaient différentes car je n'avais pas de condensateurs 10uF sous la main. Vous pouvez jouer avec le simulateur pour voir si ce que vous choisissez fonctionnera.
- Transformations de Fourier Tout projet qui utilise des transformations de Fourier aura une section d'arrière-plan les discutant. Si vous avez déjà de l'expérience, tant mieux ! Sinon, tout ce que vous devez comprendre, c'est qu'ils prennent un instantané d'un signal et renvoient des informations sur les fréquences présentes dans ce signal à ce moment-là. Donc, si vous preniez la transformée de Fourier de sin(440(2*pi*t)), cela vous dirait qu'une fréquence de 440Hz est présente dans votre signal. Si vous preniez la transformée de Fourier de 7*sin(440(2*pi*t)) + 5*sin(2000(2*pi*t)), cela vous dirait qu'un signal 440Hz et 2000Hz est présent, et les degrés relatifs auxquels ils sont présents. Il peut le faire pour n'importe quel signal avec n'importe quel nombre de fonctions composantes. Étant donné que tout l'audio n'est jamais qu'une somme de sinusoïdes, nous pouvons prendre la transformée de Fourier d'un tas d'instantanés et voir ce qui se passe réellement. Vous verrez dans le code que nous appliquons également une fenêtre à notre signal avant de prendre le Fourier transformer. Vous trouverez plus d'informations à ce sujet ici, mais une brève explication est que le signal que nous finissons par donner à la transformation est un peu nul, et Windows répare cela pour nous. Votre code ne se brisera pas si vous ne les utilisez pas, mais l'affichage n'aura pas l'air aussi propre. Il peut y avoir de meilleurs algorithmes disponibles (YAAPT, par exemple), mais en suivant les principes de KISS, j'ai choisi était déjà disponible, qui est plusieurs bibliothèques Arduino bien écrites pour la transformée de Fourier rapide, ou FFT.
- L'Arduino peut-il vraiment tout traiter en temps réel ? Pour que tout apparaisse en temps réel, l'Arduino doit saisir 128 échantillons, traiter cette FFT, manipuler les valeurs pour l'affichage et mettre à jour l'affichage très rapidement. Si vous vouliez une précision de 1/16e de note à 150 bpm (proche du tempo supérieur de la plupart des chansons pop), vous auriez besoin de tout traiter en 100 ms. De plus, l'œil humain peut voir à 30 images par seconde, ce qui correspond à des longueurs d'image de 30 ms. Ce billet de blog ne m'a pas donné la plus grande confiance, mais j'ai décidé de voir par moi-même si Arduino tiendrait le coup. Après mon propre benchmark, j'étais très fier de ma R3. La phase de calcul était de loin le facteur limitant, mais j'ai pu traiter une FFT de 128 longueurs d'UINT16 en seulement 70 ms. C'était dans les tolérances audio, mais plus du double de la contrainte visuelle. Lors de recherches plus poussées, j'ai trouvé Arduino FHT, qui tire parti de la symétrie FFT et ne calcule que les valeurs réelles. En d'autres termes, c'est environ 2 fois plus rapide. Et bien sûr, cela a amené la vitesse de la boucle entière à ~ 30 ms. Une autre note ici sur la résolution d'affichage. Une longueur N FFT échantillonnée à Fs Hz renvoie N cases, où la kième case correspond à k * Fs/N Hz. L'Arduino ADC, qui lit l'entrée audio et prend des échantillons, fonctionne normalement à ~ 9,6 kHz. Cependant, la FFT ne peut renvoyer que des informations sur les fréquences jusqu'à 1/2 * Fs. Les humains peuvent entendre jusqu'à 20 kHz, nous voudrions donc idéalement échantillonner à > 40 kHz. L'ADC peut être piraté pour fonctionner un peu plus vite, mais loin de là. Le meilleur résultat que j'ai vu sans perdre en stabilité était un ADC de 14 kHz. De plus, la plus grande FFT que j'ai pu traiter pour toujours obtenir un effet en temps réel était N=128. Cela signifie que chaque bin représente ~ 109 Hz, ce qui est bien à des fréquences plus élevées mais mauvais sur le bas de gamme. Un bon visualiseur essaie de réserver une octave pour chaque mesure, ce qui correspond à des séparations à [16,35, 32,70, 65,41, 130,81, 261,63, 523,25, 1046,50, 2093,00, 4186,01] Hz. 109 Hz signifie que les 2,5 premières octaves sont toutes dans un seul bac. J'ai quand même pu obtenir un bon effet visuel, en partie en prenant la moyenne de chaque seau, où un seau est un groupe de bacs entre deux de ces limites. J'espère que ce n'est pas déroutant et que le code lui-même devrait clarifier ce qui se passe réellement, mais n'hésitez pas à demander ci-dessous si cela n'a pas de sens.
Étape 4: Assemblage
Comme je l'ai dit plus tôt, je voulais quelque chose avec une qualité de construction professionnelle. À l'origine, j'ai commencé à coller des lattes de bois ensemble, mais un ami (et ingénieur en mécanique qualifié) a suggéré une approche différente. Notez qu'un 2x6 est vraiment 1.5" x 5". Et s'il vous plaît soyez prudent lorsque vous travaillez avec l'une des machines ci-dessous.
- Prenez votre 2x6x8 et poncez si besoin. Coupez-le en sections de 2 "x 6" x 22". Cela vous donne deux lattes à "brûler" si vous vous trompez.
- Prenez chaque section de 22" et passez-la dans une scie à table dans le sens de la longueur pour faire des lattes de 1,5" x ~ 1,6" x 22". Le dernier tiers peut être difficile à couper sur une scie à table, vous pouvez donc passer à une scie à ruban. Assurez-vous simplement que tout est aussi droit que possible. De plus, 1,6" est un guide et peut aller jusqu'à 1,75". C'est ce qu'étaient mes pièces, mais tant qu'elles sont toutes égales les unes aux autres, cela n'a pas trop d'importance. Le facteur limitant est l'acrylique à 18".
- Au bout des pièces, marquez une forme en U de 1/8" de chaque côté et d'un peu plus de 3/4" de profondeur. REMARQUE: Si vous utilisez un autre acrylique, la profondeur changera. A < 3/4", mon acrylique ne diffuse pas du tout la lumière. A un peu plus, il diffuse complètement. Vous voulez éviter toute " éblouissement ". J'ai trouvé ce post Hackaday comme une bonne référence, mais obtenir la diffusion parfaite est très difficile!
- Avec une toupie de table, découpez ce U central tout le long de la latte. Le 22" est plus long que ce dont vous avez besoin, alors ne vous inquiétez pas de l'écaillage des extrémités si vous le faites. Les routeurs peuvent être délicats, mais obtenez un peu plus large que la moitié de la largeur du U et faites attention à couper plus de 1/ 8" de matériel à la fois. Répétez: n'essayez pas de tout faire en 2 passes. Vous endommagerez le bois et vous vous blesserez probablement. Travaillez avec la rotation du routeur sur les coupes 1-4, et travaillez contre elle sur 5-8. Cela garantit que vous avez le meilleur contrôle sur le couple de la toupie.
- Coupez la bande LED en sections de 30 LED (seul chaque ensemble de 3 LED est adressable). Vous aurez probablement besoin de dessouder quelques-unes des connexions. Posez ces bandes le long des rails. Un côté doit affleurer et l'autre doit avoir un peu de place pour le réceptacle JST, qui affleure. Je n'ai malheureusement pas eu de photo de cela, mais voir le schéma ci-joint. Marquez la longueur ici, mais ne coupez rien pour le moment.
- Mesurez la largeur de chaque latte. Avec cela et la longueur de l'étape 7, découpez au laser l'acrylique dans les 10 rectangles nécessaires. Il vaut mieux être légèrement long que légèrement court. S'il est brûlé, essuyez-le avec de l'isopropyle.
- Confirmez que chaque latte acrylique se trouve à la même longueur que celle que vous avez marquée à l'étape 5, puis coupez la latte à cette longueur.
- Vous avez maintenant besoin de deux morceaux de pont pour attacher l'acrylique. Cela permet un entretien facile des bandes lumineuses en cas de problème. Ces pièces doivent mesurer à peu près [votre largeur] - 2 * 1/8" de long avec des faces carrées de 1/2", mais elles doivent être un peu serrées. Avec ces pièces fermement en place et au ras de la face avant des lattes, percez des trous au centre de chaque pont à partir de l'extérieur des lattes. Faites de votre mieux pour que chaque exercice soit uniforme. Ne gardez pas les ponts vissés, mais assurez-vous qu'ils peuvent l'être. Attention à ne pas trop enfoncer la vis et à fendre le bois.
- À ce stade, tachez les lattes et appliquez n'importe quelle finition.
- Vissez maintenant les ponts. Assurez-vous qu'ils sont assis au ras! Sinon, vous devrez ajouter une sorte de cale. Appliquez de la colle gorille (de préférence) ou de la colle chaude (qui peut servir de cale) sur les ponts et fixez l'acrylique. N'appliquez aucun adhésif le long de la latte elle-même.
- Soudez les réceptacles JST sur un côté de toutes les bandes LED sauf une. Mettez-les tous sur la même extrémité comme indiqué par les flèches marquées. Soudez les fils des fiches JST aux autres extrémités. Vous devrez peut-être dénuder plus de fils sur chaque connecteur. Assurez-vous que les connexions seront correctes une fois branchées ! L'adhésif à l'arrière des LED est terrible, alors ne lui faites pas confiance. Posez les LED sur la piste centrale et collez-les avec de la colle gorille, en faisant attention au sens indiqué sur les bandes. N'oubliez pas que vous serpentez le tout.
- Sur la première lamelle, soudez des fils suffisamment longs pour obtenir l'alimentation + la masse de l'adaptateur et le signal de l'Arduino.
- Revissez les lattes et les ponts. Attachez les bandes de commande à l'arrière (style velcro, 2 moyennes en haut et en bas ou 1 grande au centre). Effectuez toutes les connexions nécessaires et accrochez-vous au mur à environ 3 "de distance. Profitez des fruits de votre travail.
Conseillé:
Rétroéclairage RVB + Visualiseur audio : 4 étapes (avec photos)
Rétro-éclairage RVB + Visualiseur audio : Bienvenue dans mes Instructables sur la façon de construire un rétro-éclairage LED RVB pour, par exemple. l'arrière de votre téléviseur ou de votre bureau. Le schéma lui-même est très simple car les bandes LED WS2812 sont très faciles à interfacer avec, par exemple, un Arduino Nano. Remarque : vous n'avez pas à nous
Visualiseur audio à bande LED RVB non adressable : 6 étapes (avec images)
Visualiseur audio à bande LED RVB non adressable : j'ai une bande LED RVB 12v autour de mon meuble TV depuis un certain temps et elle est contrôlée par un pilote LED ennuyeux qui me permet de choisir l'une des 16 couleurs préprogrammées ! J'écoute un beaucoup de musique qui me motive mais l'éclairage ne met tout simplement pas t
Bande LED DIY : Comment couper, connecter, souder et alimenter une bande LED : 3 étapes (avec photos)
Bande LED DIY : Comment couper, connecter, souder et alimenter une bande LED : Guide du débutant pour réaliser vos propres projets d'éclairage à l'aide d'une bande LED.Flexibles, fiables et faciles à utiliser, les bandes LED sont le meilleur choix pour une variété d'applications.Je couvrirai les bases de l'installation d'une simple bande LED d'intérieur 60 LED/m, mais l'in
Contrôle WIFI BANDE LED RVB ESP8266 - NODEMCU en tant que télécommande IR pour bande LED contrôlée via Wifi - Contrôle de Smartphone RVB LED STRIP : 4 étapes
Contrôle WIFI BANDE LED RVB ESP8266 | NODEMCU en tant que télécommande IR pour bande LED contrôlée via Wifi | Contrôle par smartphone RVB LED STRIP : Salut les gars, dans ce tutoriel, nous allons apprendre à utiliser nodemcu ou esp8266 comme télécommande IR pour contrôler une bande LED RVB et Nodemcu sera contrôlé par smartphone via wifi. Donc, en gros, vous pouvez contrôler la BANDE LED RVB avec votre smartphone
Haut-parleur Bluetooth avec visualiseur de musique : 10 étapes (avec photos)
Haut-parleur Bluetooth avec visualiseur de musique : dans cette instructable, je vais vous montrer comment je construis ce haut-parleur Bluetooth qui a un visualiseur de musique en haut. Cela a l'air vraiment cool et rend votre moment d'écoute de la chanson plus impressionnant. Vous pouvez décider si vous souhaitez activer le visualiseur ou non