Table des matières:

Veste de spectacle lumineuse qui réagit à la musique : 7 étapes (avec photos)
Veste de spectacle lumineuse qui réagit à la musique : 7 étapes (avec photos)

Vidéo: Veste de spectacle lumineuse qui réagit à la musique : 7 étapes (avec photos)

Vidéo: Veste de spectacle lumineuse qui réagit à la musique : 7 étapes (avec photos)
Vidéo: Elle Était Coincée Donc Ce Policier L'aide 2024, Juillet
Anonim
Veste de spectacle légère qui réagit à la musique
Veste de spectacle légère qui réagit à la musique

Ce tutoriel a été produit dans le cadre de mon projet de dernière année pour mon diplôme en technologie musicale et électronique appliquée à l'Université de York. Il s'adresse aux musiciens intéressés par l'électronique. Le produit fini sera une matrice LED au dos d'une veste qui peut produire un spectacle de lumière en fonction de la musique. Cela se fera en analysant les entrées audio à l'aide de Pure Data et Arduino. La veste aura deux réglages qui peuvent être contrôlés par un interrupteur. Un réglage contrôlera les LED en fonction de l'amplitude de la musique et l'autre fera clignoter les LED une à la fois et changer de couleur en fonction de la hauteur.

Comment cela fonctionnera

Ce dispositif sera composé de deux circuits distincts. L'une s'articulera autour d'un Arduino Mega connecté directement à un ordinateur. L'autre circuit sera basé sur un LilyPad Arduino et sera entièrement contenu dans la veste et alimenté via une batterie 9V. Ces deux circuits communiqueront entre eux sans fil à l'aide de modules XBee. Les signaux audio seront reçus par le microphone intégré de l'ordinateur et analysés dans Pure Data pour obtenir des données d'amplitude et de fréquence. Ces informations seront transférées à l'Arduino Mega à l'aide d'un circuit d'entrée MIDI et seront ensuite transmises au LilyPad à l'aide des XBees. Le LilyPad déterminera alors comment les LED de la veste réagiront.

Ce dont vous aurez besoin

Pour le Méga Circuit

  • Arduino Mega 2560
  • XBee Explorer réglementé
  • Antenne Trace XBee 1mW - Série 1
  • Bouclier de prototypage pour le Mega
  • USB de type A à B
  • Câble USB vers MIDI
  • Prise MIDI
  • 1 x 220Ω Résistance
  • 1 x 270Ω Résistance
  • 1x1N4148 Diode
  • 1x6N138 Optocoupleur

Pour le circuit LilyPad

  • Carte principale LilyPad Arduino 328
  • Platine de Déploiement LilyPad XBee
  • Antenne Trace XBee 1mW - Série 1
  • Carte de dérivation de base LilyPad FTDI
  • 72 x LED LilyPad (une gamme de toutes les couleurs disponibles, y compris le blanc, le bleu, le rouge, le jaune, le vert, le rose et le violet)
  • Interrupteur à glissière LilyPad
  • Câble USB 2.0 A-Mâle vers Mini-B
  • Batterie 9V
  • Pince de batterie 9V

Autre

  • Veste
  • Ordinateur avec Pure Data et l'IDE Arduino installé
  • Fil d'équipement
  • Équipement de soudage
  • Pinces coupantes
  • Pince à dénuder
  • Aiguille avec un grand chas
  • Fil
  • Fil conducteur
  • Ciseaux
  • Mètre à ruban
  • Colle à tissu ou vernis à ongles transparent
  • Eyeliner à la craie ou blanc
  • Tissu pour une doublure ou un vieux t-shirt
  • Velcro
  • Percer (éventuellement)
  • LED standard (pour les tests)
  • Planche à pain (pour les tests)
  • Une autre résistance de 220Ω (pour tester)
  • Multimètre (pour les tests)

Le coût de ce projet dépendra beaucoup de la quantité d'équipement ci-dessus que vous possédez déjà. Cependant, il est susceptible d'être quelque part entre 150 et 200 £.

Une note rapide - les cartes LilyPad sont conçues pour être cousues directement sur les textiles et donc souder une pince de batterie 9V à une peut causer des problèmes. La connexion peut être délicate et facilement rompue. Vous pouvez obtenir des cartes LilyPad spécialement conçues pour les piles AAA ou LiPo que vous pouvez décider d'utiliser plutôt. Cependant, j'ai quand même choisi d'emprunter la voie 9V car leur autonomie est supérieure à celle des AAA et mon université a des restrictions sur l'utilisation des batteries LiPo.

Étape 1: Création du circuit d'entrée MIDI

Création du circuit d'entrée MIDI
Création du circuit d'entrée MIDI
Création du circuit d'entrée MIDI
Création du circuit d'entrée MIDI
Création du circuit d'entrée MIDI
Création du circuit d'entrée MIDI

Tout d'abord, considérons le circuit d'entrée MIDI. Cela devra être construit sur la carte de prototypage qui s'insérera dans l'Arduino Mega. Cela sera utilisé pour envoyer des messages MIDI du patch Pure Data au Mega via sa broche « COMMUNICATION RX0 ». Voir ci-dessus pour un schéma de circuit et une photo. En fonction de votre carte de prototypage, votre disposition peut être légèrement différente mais j'ai choisi de placer la prise MIDI dans le coin inférieur gauche. Une perceuse peut être nécessaire ici pour agrandir les trous sur le blindage afin de s'adapter à la prise. Les fils rouges sur la photo sont connectés au 5V, les marrons sont connectés à la masse, le fil noir est connecté à la broche 3 du 6N138, le fil bleu est connecté à la broche 2 du 6N138 et les fils jaunes sont connectés au RX0 épingler. De l'espace est laissé sur le côté droit de la carte de prototypage pour laisser de la place pour le XBee plus tard. Des pauses devront probablement être faites dans les pistes du plateau. Pour cet exemple, ils devaient être réalisés entre les broches du 6N138.

Test du circuit d'entrée MIDI

Pour tester le circuit, téléchargez le code ci-dessous sur l'Arduino Mega à l'aide du câble USB de type A vers B. Assurez-vous que le blindage n'est pas inséré lorsque vous faites cela, car le code ne peut pas être téléchargé si quelque chose est connecté aux broches RX ou TX. En outre, le code comprend la bibliothèque MIDI.h que vous devrez peut-être télécharger, disponible sur le lien ci-dessous.

MIDI.h

Ensuite, insérez le blindage dans le méga et connectez-le à un autre port USB de votre ordinateur via le câble MIDI vers USB. L'extrémité MIDI que vous devrez utiliser sera étiquetée 'out'. Créez un circuit simple sur une planche à pain connectant la broche 2 à une résistance de 220Ω, puis connectez-la à l'anode d'une LED standard. Connectez la cathode des LED à la terre.

Ensuite, créez un simple patch Pure Data avec un message [60 100] et un message [0 0] tous deux connectés à un objet noteout via son entrée gauche. Assurez-vous que ce patch est connecté au circuit d'entrée MIDI en ouvrant les paramètres MIDI et en changeant le périphérique de sortie. S'il n'est pas disponible, assurez-vous d'avoir connecté le circuit MIDI à votre ordinateur avant d'ouvrir Pure Data. Maintenant, si votre circuit est correct, la LED doit s'allumer lorsque le message [60 100] est enfoncé et elle doit s'éteindre lorsque le message [0 0] est enfoncé.

Étape 2: Conception de la matrice LED

Conception de la matrice LED
Conception de la matrice LED
Conception de la matrice LED
Conception de la matrice LED
Conception de la matrice LED
Conception de la matrice LED

Ensuite, la matrice LED pour le dos de la veste doit être prise en compte. Celui-ci sera directement connecté à la carte principale LilyPad. Normalement, pour contrôler les LED à l'aide d'un microcontrôleur, elles seraient chacune affectées à leurs propres broches individuelles. Cependant, avec un seul Arduino LilyPad, cela serait très limitatif. Au total, le LilyPad possède 12 broches numériques et 6 analogiques, donc potentiellement 18 broches de sortie. Cependant, comme l'une de ces broches sera utilisée plus tard pour contrôler un interrupteur à glissière, il n'en restera que 17.

Une technique peut être utilisée dans cette situation appelée multiplexage pour maximiser le potentiel des broches de contrôle du LilyPad. Cela profite de deux faits:

  • Les LED sont des diodes et ne permettent au courant de circuler que dans un seul sens.
  • Les yeux et le cerveau humains traitent les images beaucoup plus lentement que la lumière ne peut voyager, donc si les LED clignotent assez vite, nous ne le remarquerons pas. Il s'agit d'un concept connu sous le nom de « Persistance de la vision ».

En utilisant cette technique, le nombre de LED qui peuvent être contrôlés est (n/2) x (n-(n/2)) où n est le nombre de broches de contrôle disponibles. Par conséquent, avec 17 broches disponibles, il devrait être possible de contrôler 72 LED dans une matrice 9x8.

Un schéma pour la disposition des LED dans une matrice 9x8 peut être vu ci-dessus, y compris des suggestions pour les broches auxquelles chaque rangée et colonne doivent être connectées. Il est important de noter que les lignes et les colonnes ne doivent pas se toucher. De plus, aucune résistance n'est requise car chaque LED a la sienne intégrée avec une résistance de 100Ω.

Avant de commencer à coudre, vous devez planifier la disposition du circuit sur la veste. Un bon point de départ ici est de marquer sur la veste où les LED vont aller avec de petits points, en utilisant un ruban à mesurer pour s'assurer qu'elles sont régulièrement espacées. Pour une veste en cuir noir, l'eye-liner blanc fonctionne très bien et peut être facilement essuyé en cas d'erreur. Cependant, d'autres médiums comme la craie peuvent également fonctionner selon la matière et la couleur de votre veste. L'arrangement des couleurs de LED que j'ai utilisé peut être vu ci-dessus qui fonctionnera avec le code fourni plus tard. Vous pouvez utiliser une mise en page différente bien que cela doive être modifié dans le code.

La prochaine chose à laquelle il faut penser est de savoir où iront le LilyPad, le LilyPad XBee et l'alimentation. Pour la veste que j'ai utilisée, l'endroit le plus judicieux et le plus discret m'a semblé être au dos de la veste, en bas et sur la doublure intérieure. En effet, il est peu probable qu'il soit frappé par les bras du porteur ici et il peut facilement accéder à la matrice LED. De plus, comme la veste que j'ai utilisée était ample en bas, elle était toujours confortable.

Étape 3: couture de la matrice LED

Coudre la matrice LED
Coudre la matrice LED
Coudre la matrice LED
Coudre la matrice LED
Coudre la matrice LED
Coudre la matrice LED

À ce stade, vous pouvez commencer à coudre. Le fil conducteur peut être difficile à utiliser, voici donc quelques conseils utiles:

  • Coller un composant en place avec de la colle à tissu le rendra beaucoup plus facile à coudre.
  • Différents types de points auront des propriétés esthétiques et fonctionnelles différentes, il vaut donc la peine de les examiner avant de commencer. Cependant, un point courant de base devrait convenir à ce projet.
  • Les nœuds ont tendance à se desserrer assez facilement avec du fil conducteur car il est plus « élastique » que la normale. Une solution consiste à utiliser une petite quantité de vernis à ongles transparent ou de colle à tissu pour les sceller. Laissez-leur le temps de sécher avant de leur couper la queue.
  • Lors de la création de connexions à des composants de circuit ou de l'assemblage de deux lignes de fil conducteur, il est judicieux de les coudre plusieurs fois pour s'assurer qu'une bonne connexion mécanique et électrique a été établie.
  • Assurez-vous que votre aiguille est pointue et a un grand chas. Passer à travers la veste peut être difficile et le fil conducteur est plus épais que la normale.
  • Faites attention aux poils lâches sur le fil. Ceux-ci peuvent créer des courts-circuits dans le circuit s'ils touchent d'autres lignes de couture. Si cela devient un problème majeur, toutes les lignes peuvent être scellées avec du vernis à ongles transparent ou de la colle à tissu une fois les tests effectués et que tout fonctionne correctement.

Un bon endroit pour commencer à coudre est avec les rangées. Pour les rendre aussi droites que possible, vous pouvez tracer de faibles lignes à coudre à l'aide d'une règle. Une fois que vous les avez cousus, passez aux colonnes. Il faudra faire très attention à chaque fois qu'un rang est atteint car il est essentiel que les deux ne se croisent pas. Ceci peut être réalisé en créant le point pour la colonne à l'intérieur de la veste pour cette jonction, comme on le voit sur la photo ci-dessus. Lorsque vous avez rempli toutes les lignes et colonnes, un multimètre peut être utilisé pour vérifier qu'il n'y a pas de short.

Une fois que vous êtes satisfait, commencez à coudre les LED de la colonne à l'extrême droite de la veste. Assurez-vous que chaque anode est attachée à sa propre rangée et que chaque cathode est attachée à la colonne de gauche. Ensuite, mettez le LilyPad Arduino en place à l'aide de colle à tissu quelque part à peu près en dessous de cette colonne, en vous assurant que les broches de la carte de dérivation FTDI sont tournées vers le bas. Cousez la broche 11 du LilyPad à la rangée 1, la broche 12 à la rangée 2 et ainsi de suite jusqu'à ce que la broche A5 soit cousue à la rangée 9. Ensuite, cousez la broche 10 à la colonne la plus à droite. Pour tester cette première colonne, vous pouvez utiliser le code ci-dessous. Téléchargez le code et alimentez le LilyPad en le connectant à votre ordinateur à l'aide de la carte de dérivation FTDI et du câble USB 2.0 A-Male vers Mini-B.

Si le bon port n'est pas disponible lorsque vous branchez le LilyPad, vous devrez peut-être installer un pilote FTDI disponible à partir du lien ci-dessous.

Installation du pilote FTDI

Une fois cette première colonne de LED allumée, il est temps de coudre le reste sur la veste. C'est un processus assez long et il est donc probablement préférable de l'espacer sur quelques jours. Assurez-vous de tester chaque colonne au fur et à mesure. Vous pouvez le faire en adaptant le code ci-dessus afin que la broche de la colonne que vous souhaitez tester soit déclarée en tant que sortie dans la configuration, puis définie sur LOW dans la boucle. Assurez-vous que les autres broches de la colonne sont réglées sur HAUT car cela garantira qu'elles sont éteintes.

Étape 4: Ajout d'un commutateur

Ajout d'un commutateur
Ajout d'un commutateur

Ensuite, vous pouvez ajouter un interrupteur qui sera utilisé pour modifier les paramètres de la veste. Il doit être cousu à l'intérieur de la veste sous la carte LilyPad Arduino. À l'aide d'un fil conducteur, l'extrémité étiquetée « off » doit être connectée à la terre et l'extrémité étiquetée « on » doit être connectée à la broche 2.

Vous pouvez tester le commutateur en utilisant le code ci-dessous. C'est très simple et allume la LED en bas à droite si l'interrupteur est ouvert et l'éteint si l'interrupteur est fermé.

Étape 5: Rendre l'appareil sans fil

Rendre l'appareil sans fil
Rendre l'appareil sans fil
Rendre l'appareil sans fil
Rendre l'appareil sans fil
Rendre l'appareil sans fil
Rendre l'appareil sans fil

Préparation du LilyPad XBee et XBee Explorer

Préparez le LilyPad XBee pour la configuration en soudant un connecteur mâle à angle droit à 6 broches. Cela lui permettra plus tard d'être connecté à un ordinateur via la carte de dérivation LilyPad FTDI Basic et le câble USB Mini. De plus, soudez le clip de la batterie 9V au LilyPad XBee avec le fil rouge allant à la broche "+" et le fil noir allant à la broche "-".

Connectez la carte Explorer au blindage de prototypage de l'Arduino Mega. 5V et Ground sur la carte Explorer devront être connectés à 5V et Ground sur le Mega, la broche de sortie sur l'Explorer devra être connectée à RX1 sur le Mega et l'entrée sur l'Explorer devra être connectée à TX1 sur le Mega.

Configuration des XBees

Ensuite, les XBees doivent être configurés. Tout d'abord, vous devrez installer gratuitement le logiciel CoolTerm qui est disponible à partir du lien ci-dessous.

Logiciel CoolTerm

Assurez-vous de faire la distinction entre les deux XBees d'une manière ou d'une autre, car il est important de ne pas les confondre.

Tout d'abord, configurez le XBee pour l'ordinateur. Insérez-le dans la carte de dérivation LilyPad XBee et connectez-le à l'ordinateur à l'aide de la carte de dérivation de base FTDI et du câble USB Mini. Ouvrez CoolTerm et dans les Options, sélectionnez le bon port série. Si vous ne le voyez pas, essayez d'appuyer sur 'Re-Scan Serial Ports'. Ensuite, assurez-vous que le débit en bauds est défini sur 9600, activez l'écho local et définissez l'émulation de clé sur CR. CoolTerm peut maintenant être connecté au XBee.

Tapez « +++ » dans la fenêtre principale pour mettre le XBee en mode commande. N'appuyez pas sur retour. Cela lui permettra d'être configuré à l'aide des commandes AT. Si cela a réussi, après une très courte pause, il devrait y avoir un message de réponse « OK ». S'il y a un délai de plus de 30 secondes avant la ligne suivante, le mode commande sortira et cela devra être répété. De nombreuses commandes AT doivent être saisies pour définir l'ID PAN, MY ID, l'ID de destination et pour enregistrer les modifications. Return doit être frappé après chacune de ces commandes et celles-ci peuvent être vues dans le tableau ci-dessus. Une fois celle-ci terminée pour l'ordinateur XBee, il faut le déconnecter et le même processus doit être effectué pour la veste XBee.

Vous pouvez vérifier les nouveaux paramètres XBee en tapant chaque commande AT sans la valeur à la fin. Par exemple, si vous tapez « ATID » et appuyez sur retour, « 1234 » devrait être renvoyé en écho.

Tester les XBees

À ce stade, cousez le LilyPad XBee sur la veste à côté du LilyPad Arduino. Les connexions suivantes doivent être réalisées avec du fil conducteur:

  • 3.3V sur le LilyPad XBee à '+' sur le LilyPad
  • Mise à la terre sur le LilyPad XBee à la terre sur le LilyPad
  • RX sur le LilyPad XBee vers TX sur le LilyPad
  • TX sur le LilyPad XBee vers RX sur le LilyPad

Maintenant, l'appareil peut être testé pour s'assurer que les XBees fonctionnaient correctement. Le code ci-dessous appelé 'Wireless_Test_Mega' doit être téléchargé sur l'Arduino Mega et son objectif principal est de recevoir des messages MIDI du simple patch Pure Data créé précédemment et de transmettre différentes valeurs via le XBee. Si une note MIDI avec une hauteur de 60 est reçue, le message « a » sera transmis. Alternativement, si un message noteoff est reçu, « b » sera transmis.

En plus de cela, le code ci-dessous appelé 'Wireless_Test_LilyPad' doit être téléchargé sur le LilyPad. Celui-ci reçoit les messages du Mega via les XBees et contrôle la LED en bas à droite en conséquence. Si le message « a » est reçu, signifiant qu'une note MIDI avec une hauteur de 60 a été reçue par le Mega, la LED s'allumera. Par contre, si « a » n'est pas reçu, la LED s'éteindra.

Une fois le code téléchargé sur les deux cartes, assurez-vous que le blindage a été réinséré dans le Mega et qu'il est connecté à l'ordinateur via les deux câbles. Insérez l'ordinateur XBee dans la carte Explorer. Ensuite, assurez-vous que la carte Breakout FTDI est déconnectée de la gaine et insérez la gaine XBee dans le LilyPad XBee. Branchez la pile 9V et essayez d'appuyer sur les différents messages dans Pure Data. La LED en bas à droite de la veste doit s'allumer et s'éteindre.

Étape 6: Touches finales

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

Le Patch Code et Pure Data

Lorsque vous êtes satisfait que la veste fonctionne sans fil, téléchargez le croquis « MegaCode » ci-dessous sur l'Arduino Mega et le croquis « LilyPadCode » sur le LilyPad. Ouvrez le patch Pure Data en vous assurant que le DSP est activé et que l'entrée audio est réglée sur le microphone intégré de votre ordinateur. Essayez de jouer de la musique et de déplacer le commutateur. Vous devrez peut-être ajuster légèrement les seuils dans Pure Data en fonction de la quantité ou du peu de réaction des LED à l'audio.

Ajouter une nouvelle doublure

Enfin, pour rendre la veste plus esthétique et plus confortable à porter, une autre doublure peut être ajoutée à l'intérieur de la veste pour recouvrir la couture et les composants. Cela doit être fait en utilisant du velcro pour permettre un accès facile au circuit au cas où des modifications devraient être apportées.

Tout d'abord, cousez les bandes "boucles" (la partie la plus douce) à l'intérieur de la veste, le long du haut et des deux côtés. C'est une bonne idée de laisser le fond libre car cela permettra à l'air d'atteindre les composants. Ensuite, coupez un morceau de tissu de la même taille et cousez-y les bandes « crochets » du velcro, le long du haut et des deux côtés. De plus, du même côté que le velcro et à l'endroit le plus pratique, cousez une poche dans laquelle la batterie pourra s'asseoir. Voir les images ci-dessus pour des exemples.

Étape 7: Vous avez terminé

Votre Light Show Jacket sans fil devrait maintenant être complète et réagir avec succès à l'audio ! Un réglage devrait créer un effet comme une barre d'amplitude et l'autre devrait avoir des LED individuelles scintillant au rythme de la musique avec leurs couleurs en fonction de la hauteur. Voir ci-dessus pour des exemples vidéo. Au cas où vous vous poseriez la question, la couleur et la hauteur sont liées via l'ordre rosicrucien qui est basé sur l'intonation juste. J'espère que ce projet vous a plu !

Conseillé: