» Instruments de musique »Synthétiseur spatial Kravox sur Arduino

Synthétiseur spatial Kravox sur Arduino



Le maître a inventé Kravox lors d'un projet de recherche à l'Université de Lund (Suède), dont l'objectif était de donner aux contrôleurs d'instruments de musique numériques la sensation des instruments mécaniques traditionnels. Maintenant, le maître veut rendre Kravox accessible à tous en tant que plateforme musicale d'expérimentation. C'est pour cela qu'il a créé ce briefing détaillé, qui permettra au plus grand nombre possible d'utiliser ce nouvel instrument de musique intéressant.

Jouer à Kravox est assez simple. Imaginez que vous jouez avec un objet normal, comme un balai, et la façon dont vous le touchez et le déplacez dans l'espace contrôle la façon dont le son est généré. Vous pouvez regarder et entendre comment jouer à Kravox, ainsi que le processus de fabrication de l'instrument, à la fin de l'article dans les vidéos.

Outils et matériaux:
- planche à pain 50 * 24 trous -1 pcs;
Connecteurs mâles à 40 broches -5 pièces;
- Fiche à 40 broches - 5 pièces;
- Potentiomètres 10 kOhm et poignées pour eux - 5 pièces;
- LED standard bleu 5 mm - 3 pièces;
- Résistances 150 Ohms - 3 pièces;
- Condensateur 10 uF - 2 pièces;
- Condensateur 100 nF - 2 pièces;
-Module radio NRF24L01 - 2 pièces;
-Arduino nano -2 pièces;
-Résistances 220 Ohm -3 pcs;
- Cartes de capteurs capteurs MPR121 - 2 pièces;
- Gyroscope numérique GY-521 MPU 6050 - 1 pc;
- câbles USB-A à USB-C;
-4 mètres (minimum) de ruban de cuivre de 1 cm de large;
-Powerbank;
-7 mètres (minimum) de fils de différentes couleurs;
-0,2 mètre, tube thermorétractable ø = 3 mm;
-Accessoires de soudure;
-Multimètre;
-Règle;
-Knife;
-Nozhovka;
- Pinces;
-Carton;
-Pistolet à colle;
-Tape;
-Glue;
-Gomme de bureau;
-Clips;




Première étape: théorie
Kravox est un instrument de musique numérique multiplateforme open source qui se compose de trois composants - un contrôleur / contrôleurs, un récepteur et un logiciel.

Vous pouvez connecter jusqu'à trois contrôleurs sans fil. Chaque contrôleur traite les données d'orientation et d'accélération du gyroscope numérique MPU-6050 et les données tactiles de deux cartes de capteur MPR121 connectées à l'Arduino Nano. Le contrôleur envoie des données au récepteur à l'aide de l'émetteur radio nRF24L01. S'il est nécessaire d'utiliser plusieurs contrôleurs, les deuxième et troisième contrôleurs doivent se voir attribuer des adresses individuelles.

Le récepteur transmet les données reçues du ou des contrôleurs à l'ordinateur connecté ainsi que les données collectées à partir de plusieurs potentiomètres.Le code de récepteur fourni vous permet d'établir une communication avec trois contrôleurs, mais il fonctionnera également avec seulement un ou deux sans paramètres.

Les données du récepteur sont traitées dans un programme écrit en sortie qui émet du son.
La beauté de Kravox est que sa forme, comment elle sonne et comment la jouer, peut être ajustée. Cela a donné à l'assistant l'occasion de développer une version facile à copier de Kravox pour cette leçon.


Deuxième étape: créer une carte contrôleur
Ensuite, l'assistant explique comment faire électronique contrôleur étape par étape à partir des détails ci-dessus.
Si vous ne savez pas où souder le câble, vous pouvez toujours revenir au schéma électrique et vérifier si les composants sont correctement connectés.


La première étape consiste à couper la plaque d'expérimentation et les connecteurs et à les assembler avec un petit et un grand condensateur, ce qui contribue à augmenter la fiabilité de l'émetteur radio.

Coupez la planche avec un couteau utilitaire
Coupez les connecteurs avec une scie à métaux (le maître les a mis sur le livre pour les aligner de la table)
Installez les connecteurs sur la planche à pain et la soudure. Vous pouvez déjà connecter chaque paire de contacts de deux
connecteurs longs qui sont adjacents les uns aux autres. Pour le reste, il suffit de les fixer simplement avec une petite soudure - de préférence des contacts qui, conformément au schéma électrique, ne seront pas connectés ultérieurement. Lors du soudage des condensateurs, faites attention à la polarité du condensateur électrolytique de 10 microfarads (le plus grand des deux). Un côté aura une bande et, en règle générale, une jambe plus courte. Ce côté doit être relié à la terre. Le plus petit condensateur de 100 nanofarad n'est pas polarisé et peut être soudé de n'importe quelle manière.





De plus, les résistances LED sont soudées. Faites attention à la polarité de la LED: un côté a généralement une jambe plus courte. Ce côté doit être connecté à la terre à l'étape suivante. Un fil bleu est soudé à l'autre jambe. L'autre extrémité du fil est soudée au connecteur où la broche Arduino D3 sera connectée.


Ensuite, tous les câbles d'alimentation rouge et bleu sont montés. Rouge pour 3,3 Volts et bleu pour masse (GND).


Trois cartes capteurs communiquent via le protocole I2C (circuit intégré). Cela signifie qu'ils peuvent tous être connectés aux mêmes deux broches Arduino, nous soudons donc les fils jaune et vert aux capteurs et aux broches Arduino A4 et A5. Vous devez également monter un câble blanc pour connecter les contacts d'interruption du gyroscope.


L'émetteur radio communique via le protocole SPI (série
interface périphérique), qui nécessite plus de connexions que I2C, l'assistant ajoute des fils noirs, gris, marron, violets et orange.


Il est maintenant temps de préparer les composants. En plus de souder sur des connecteurs à broches, sinon
soudé, vous devez porter une attention particulière à la carte du capteur! Pour les modèles bon marché en provenance de Chine, la broche d'adresse est mise à la terre de manière rigide sans résistance intermédiaire, vous devez donc couper physiquement cette connexion au bas de la carte avec un couteau. Coupez entre deux blocs près de l'endroit où ADD est écrit. L'assistant recommande de sonner avec un multimètre pour vous assurer que les contacts ne sont pas connectés.


Lorsque toutes les pièces ont des connecteurs soudés et que les cartes de capteurs sont préparées, vous pouvez connecter l'Arduino Nano, un gyroscope, deux cartes de capteurs et un module radio à la carte contrôleur.


Troisième étape: télécharger le code
Après une double vérification, si tout est correctement connecté, l'étape suivante consiste à télécharger l'Arduino nano fourni, mais avant de pouvoir le faire, vous devrez installer les bibliothèques du gyroscope, des cartes de capteur et de l'émetteur radio. Si vous êtes nouveau dans les bibliothèques Arduino, découvrez comment les installer.
Le gyroscope MPU6050 nécessite les bibliothèques I2Cdev.h et MPU6050_6Axis_MotionApps20.h, qui peuvent être téléchargées.
Pour les cartes tactiles MPR121, la bibliothèque Bare Conductive MPR121.h est requise, qui peut être trouvée. Il existe au moins deux versions de la bibliothèque. Assurez-vous d'installer la version développée par Bare Conductive, pas la version développée par Adafruit.
La carte émetteur radio NRF24L01 nécessite les bibliothèques nRF24L01.h et RF24.h TMRh20, qui peuvent être téléchargées. Remarque: il existe également au moins deux versions de ces bibliothèques portant le même nom. Assurez-vous d'installer le TMRh20 développé, pas le maniacbug.
Une fois les bibliothèques installées, vous pouvez télécharger le code Kravox-Controller.

Afin de vérifier si le contrôleur fonctionne, vous pouvez l'activer pour émettre des données à partir de capteurs tactiles et d'un gyroscope via un moniteur série. Pour ce faire, vous devez modifier la dernière section du code destinataire avant le téléchargement: en supprimant la marque de commentaire au début (/ *) et à la fin (* /) de celui-ci (voir. Photo)

Après avoir téléchargé le code avec cette option, vous devez ouvrir le moniteur série et définir la vitesse de transmission (débit de données) pour lui à 115200. Vous pouvez maintenant voir les données des capteurs, qui changent lorsque la carte contrôleur est déplacée et les contacts sont touchés, des cartes MPR121 marquées de 0 à 11.

Si rien ne fonctionne ou que seuls des zéros sont obtenus, vous devez vérifier soigneusement le câblage et le comparer avec le schéma ci-dessus. Si vous recevez le mauvais signal du moniteur série, vous devez vérifier si les taux de transfert de données sont correctement définis.


Quatrième étape: alimentation de la carte

Pour l'alimentation, vous devez connecter la carte contrôleur à la banque.
Si la banque ne s'éteint pas automatiquement après un certain temps, la carte contrôleur est terminée et vous pouvez accéder à la carte récepteur. Sinon, suivez l'étape suivante.

Cinquième étape: résoudre le problème d'alimentation
En principe, la carte contrôleur est prête, mais certaines banques s'éteignent automatiquement après quelques secondes lorsqu'elles sont connectées à la carte contrôleur, car elle consomme peu d'énergie. Comme solution, vous pouvez simplement ajouter trois résistances de 220 Ohm en parallèle entre les broches 5V et GND de l'Arduino.


Après avoir reconnecté les composants, (définitivement) la carte contrôleur terminée ressemble à ceci.


Étape six: créer une carte réceptrice
Dans cette étape, l'assistant vous montrera comment fabriquer la carte réceptrice. Le processus est très similaire à la fabrication d'une carte contrôleur.


Vous devez d'abord couper la planche à pain et les connecteurs. Installez ensuite les condensateurs. Vous pouvez comparer cette étape avec la première étape de création d'une carte contrôleur pour plus d'informations.


Ensuite, vous devez ajouter tous les fils rouges et bleus. Rouge pour 3,3 Volts et bleu pour masse (GND).


Câblage pour communication SPI.


La carte du récepteur est prête, mais avant de télécharger le code du récepteur Kravox sur l'Arduino Nano, vous devez d'abord créer une interface pour le récepteur.


L'assistant montre ensuite comment créer une interface avec 4 potentiomètres et une LED pour le récepteur. L'interface est connectée, comme sur la première figure, et sera connectée à la carte réceptrice, comme le montre la deuxième figure.


La procédure est la suivante, vous devez d'abord prendre un faisceau de 8 câbles et souder 5 d'entre eux aux contacts centraux des potentiomètres. Il est conseillé d'utiliser les mêmes couleurs que sur le schéma afin de ne pas se confondre.

Ensuite, vous devez couper la planche à pain 2 rangées de 17 trous et un connecteur mâle à 17 broches. Fixez les câbles et le connecteur à la carte. Faites attention au schéma ci-dessus pour vous assurer de connecter les câbles aux bons endroits.


Vous devez maintenant souder les fils bleus (masse) à l'un des contacts de tous les potentiomètres. Souder une LED bleue avec une résistance de limitation de courant de 150 Ohms.

Soudez les fils verts.

L'interface terminée devrait ressembler à ceci (photo 1) et peut être connectée à la carte réceptrice comme ceci (photo 2).

Septième étape: coder
Maintenant disponible pour téléchargement sur le récepteur Arduino Nano.
Pour vérifier, vous devez effectuer à nouveau un petit ajustement du code avant de télécharger. Par défaut, le récepteur affiche ses données dans un format qui peut être interprété comme des données pures, mais n'affiche pas d'informations utiles sur un moniteur série. Cependant, vous pouvez modifier ce comportement dans votre code en modifiant (en ajoutant // avant) la ligne #define WRITE_AS_BYTES et (en supprimant // avant) la ligne // #define PRINT_VIA_SERIAL_MONITOR.


Étape huit: Cas
Plus loin de la bande de cuivre, le maître fabrique un capteur.


Pour faire le cas, le maître utilise des cases vides.

Le maître dessine du carton. Coupe 24 bandes de cuivre et se fixe sur un carton.



En outre, le maître coupe le carton 2 * 24 trous de large et le connecteur mâle à 24 broches à la taille et soude 24 fils. Les fils au milieu doivent mesurer au moins 10 cm de long et à mesure que vous vous éloignez du centre, la longueur des fils augmente. Par exemple, si vous utilisez une bande de cuivre de 1 cm de large et la distance entre les électrodes de 3 mm, la longueur du fil doit augmenter de 1,3 cm, comme indiqué ci-dessous: 10 / 11,3 / 12,6 / 13,9 / 15,2 ...

Vous pouvez maintenant souder les deuxièmes extrémités des fils aux bandes de cuivre et sceller les bandes avec du ruban adhésif.



Colle le capteur dans le corps, puis y colle un autre corps (pour vérification).


Couvre l'arrière de la carte contrôleur avec du carton.

Installe les LED et la banque d'alimentation. Vous devez organiser la banque d'alimentation pour pouvoir connecter et déconnecter le câble USB, car c'est ainsi que le contrôleur s'allume et s'éteint. Connectez également l'interface tactile à la carte contrôleur et mettez-la dans la boîte.

Effectue une découpe pour le câble USB-A-USB-C à la jonction des deux boîtiers, le maintient et le connecte à l'Arduino Nano.

Maintenant, le contrôleur est prêt.

Le maître corrige le cas à l'aide de gomme de bureau. Si par la suite des problèmes surviennent avec des capteurs qui détectent le toucher lorsqu'ils ne sont pas présents, vous devez mettre un matériau isolant, tel qu'un film ou similaire, entre le boîtier tactile, la carte de circuit imprimé et les fils. Connectez l'alimentation sans toucher aux capteurs.


Étape neuf: création d'un boîtier récepteur
Vous devez maintenant faire un logement pour le récepteur. L'assistant découpe plusieurs trous ronds pour les potentiomètres et les LED.


Il colle la carte réceptrice, LED, potentiomètres à vis. Définit les poignées.




Dixième étape: terminée
Maintenant que tout l'équipement est monté, il est temps de jouer de la musique! Pour ce faire, vous avez besoin d'un logiciel auquel vous pouvez connecter l'équipement. Pour Kravox, il s'agit du logiciel Pure Data Vanilla, que vous pouvez télécharger gratuitement.

Après avoir installé Pure Data sur l'ordinateur, vous devez l'exécuter et ouvrir le fichier Kravox.pd. Veuillez noter qu'il doit être enregistré sur votre ordinateur dans le même dossier que le dossier drumsamples avec lequel il est fourni - sinon Pure Data ne pourra pas trouver les fichiers.
Dès que l'interface du programme Kravox.pd s'ouvre, vous devez ouvrir la fenêtre, comme sur la photo, et installer les quatre soi-disant périphériques externes répertoriés dans cette fenêtre. Leur installation est simple, cliquez simplement sur "aide" dans le menu "Nettoyer les données", sélectionnez "Rechercher des objets supplémentaires sur Internet" (cela peut être légèrement différent), trouvez "comport", "zexy", "freeverb" et "arraysize". "un par un et installez la dernière version. Maintenant, les quatre objets marqués comme comport, recack, freeverb et arraysize doivent avoir un contour solide, comme dans la figure ci-dessous. Vous devrez peut-être redémarrer Pure Data pour ce faire.

Après avoir installé des périphériques externes, vous pouvez connecter le récepteur via USB. Si vous avez modifié le code de la partie 4 pour utiliser le récepteur avec le moniteur série Arduino, vous devez d'abord annuler cette modification et charger le code source dans le récepteur Arduino Nano avant de connecter et de fermer le moniteur série Arduino.

Jetez maintenant un œil à la fenêtre Pure Data. Si vous voyez un flux de données rapidement mis à jour, c'est très bien, mais très probablement, il vous montrera un message rouge à la place, comme celui de la première image, qui est mis à jour toutes les deux secondes.

Le texte rouge peut être un peu différent, mais cela signifie tout de même que Pure Data n'a pas encore pu se connecter à votre récepteur. En effet, le programme doit spécifier le port USB à connecter. Les ports USB peuvent être étiquetés différemment sur différents appareils; sur le MacBook Pro 2014, Pure Data reconnaît les deux ports USB comme port série 3, quel que soit le récepteur auquel vous vous connectez. Ensuite, l'assistant a utilisé Kravox avec le Lenovo Yoga Pad avec un seul port USB fonctionnel, qui a été désigné comme port série 6. Sous Windows, les ports sont désignés comme 8 et 9. L'assistant conseille simplement d'essayer de savoir quel numéro le port USB fonctionne sur votre appareil. . Il a créé un dialogue dans le cadre de l'interface Kravox.pd (deuxième photo), où vous pouvez simplement cliquer sur les chiffres jusqu'à ce que l'appareil fonctionne. Vous pouvez également essayer «Afficher les ports disponibles» et les boutons «Afficher les périphériques USB connectés».
Synthétiseur spatial Kravox sur Arduino


Ensuite, vous devez cliquer sur "Enregistrer" pour que Pure Data essaie de se connecter automatiquement à ce port la prochaine fois.
Si le code du contrôleur a été modifié, vous devez recharger le code.

Reste à connecter la carte contrôleur à l'alimentation. Lorsque vous effectuez cette opération, le boîtier de l'interface tactile autour de la carte doit être fermé et la partie tactile du boîtier ne doit pas toucher vos mains ni rien d'autre.

Tout est prêt, des informations supplémentaires peuvent être consultées sur la vidéo.


5.5
5.5
5.5

Ajoutez un commentaire

    • souriresouritxaxaokne sais pasYahoonea
      patronse gratterfououioui-ouiagressifsecret
      désolédansedanse2danse3pardonaiderles boissons
      arrêteramisbonbonsifflerévanouirla langue
      fumerapplaudircraydéclarermoqueurdon-t_mentiontélécharger
      chaleurirritérire1mdaréunionmasquagenégatif
      not_ipop-cornpunirlireeffrayerfait peurrecherche
      railleriemerci_vousçato_clueumnikaigud'accord
      mauvaisabeilleblack_eyeblum3rougirse vanterennui
      censuréplaisanteriesecret2menacervictoireyusun_bespectacled
      shokrespektlolprévalubienvenuekrutoyya_za
      ya_dobryiaidene_huliganne_othodifludinterdirefermer

Nous vous conseillons de lire:

Donnez-le au smartphone ...