Comment faire un contrôleur midi avec un arduino

En tant que musicien qui a amassé une collection d`instruments de musique et des boîtes de bruit, l`humble Arduino est l`outil idéal pour créer un contrôleur MIDI personnalisé. Alors que le Raspberry Pi peut avoir pris la couronne Internet des objets (IdO)

projets, un simple Arduino Uno (quels sont les différents types d`Arduino?) A plus assez de puissance pour ce projet.L`Internet des objets: 10 produits utiles Vous devez l`essayer en 2016L`Internet des objets: 10 produits utiles Vous devez l`essayer en 2016L`Internet des objets est montée en puissance en 2016, mais qu`est-ce que cela veut dire exactement? Comment pouvez-vous bénéficier personnellement de l`Internet des objets? Voici quelques produits utiles pour illustrer.Lire la suite

La première fois que l`utilisation d`un Arduino? Pas de soucis, nous avons un complet Guide du débutant Arduino à lire avant de vous attaquer à ce projet.

Arduino-Midi-Controller-Breadboard

Qu`est-ce que MIDI?

MIDI signifie Musical Instrument Digital Interface. Il décrit un moyen standard pour les appareils de musique pour communiquer entre eux. Si vous possédez un clavier électronique vous avez probablement une interface MIDI. Alors qu`il ya quelques détails techniques impliqués dans la mise en œuvre du MIDI, il est important de se rappeler que le MIDI est pas le son! les données MIDI est un simple ensemble d`instructions (une instruction est appelée un « message ») qu`un autre dispositif peut mettre en œuvre pour faire différents sons ou des paramètres de contrôle.

MIDI prend en charge 16 canaux. Cela signifie que chaque câble peut supporter 16 différents appareils communiquant indépendamment les uns avec les autres. Les appareils sont connectés à l`aide d`un câble DIN à 5 broches. DIN signifie « Institut allemand de normalisation », et est tout simplement un câble avec cinq broches à l`intérieur du connecteur. USB est souvent utilisé à la place de la norme DIN 5 broches, ou une interface USB-MIDI peut être utilisé.

MIDI-Cable-Homme

Contrôle du changement et le changement de programme

Il existe deux principaux types de messages MIDI: commandes de contrôle et de changement de programme.

Modifier le contrôle des messages (CC) contiennent un numéro de commande et une valeur entre 0 et 127. messages CC sont souvent utilisés pour modifier les paramètres tels que le volume ou pas. Les appareils qui acceptent MIDI doivent venir avec un manuel expliquant quels canaux et messages sont configurés par défaut, et comment les changer (connu sous le nom mapping MIDI).

Program Change (PC) sont plus simples que les messages CC. messages PC se composent d`un seul numéro et sont utilisés pour la présélection ou d`un patch sur un périphérique. messages PC sont parfois appelés « Patch Change ». Similaire aux messages CC, les fabricants doivent fournir un document décrivant ce que les préréglages sont modifiés par un message particulier.

Ce dont tu auras besoin

  • Arduino
  • DIN 5 broches prise femelle
  • 2 x résistances de 220 ohms
  • 2 x 10k ohms résistances
  • 2 x commutateurs momentanés
  • fils de branchement
  • breadboard
  • câble MIDI
  • périphérique MIDI ou interface USB
Eau & Bois 5 pièces DIN 5 broches PCB de montage prise femelle pour clavier PCEau & Bois 5 pièces DIN 5 broches PCB de montage prise femelle pour clavier PC5 pièces DIN 5 broches PCB de montage prise femelle pour clavier PC Acheter sur Amazon 2,94 $

plan de construction

Ce projet sera assez simple. Vous pouvez bien sûr ajouter des boutons ou du matériel en fonction de vos besoins. Presque tous les Arduino sera approprié - ne sont nécessaires que trois broches pour cet exemple. Ce projet se compose de deux boutons pour contrôler le programme, un port MIDI pour envoyer les données, et un dispositif pour recevoir les messages. Ce circuit a été construit sur une breadboard ici, mais il est possible de le transférer à une boîte de projet et connecteurs soudés pour une solution robuste.

Assemblée circuit

Arduino-Midi-Controller-circuit

Video: ARDUINO, Créer son DRONE facilement (et pas cher) ! (Partie 3)

Connexion MIDI

MIDI-Brochage

Video: [ENSA Marrakech] Commande ESC d'un moteur Brushless par Arduino (projet Quadrotor)

Câbler votre prise MIDI comme suit:

  • 5 broches MIDI pour Arduino de transmission (TX) 1 via une résistance de 220 ohms
  • MIDI broche 4 à Arduino + 5V par une résistance de 220 ohms
  • broches MIDI 2 à la terre Arduino

Connexion selecteur

Les boutons fonctionnent en changeant la résistance l`Arduino « voit ». La broche Arduino passe par l`interrupteur droit à la terre (FAIBLE) Par l`intermédiaire d`une résistance de 10k ohms (une résistance « tirer vers le bas », assurant la valeur reste faible). Lorsque le bouton est enfoncé, la valeur perçue par les changements de circuit à + 5v sans une résistance (HAUTE). L`Arduino peut détecter ce changement en utilisant la digitalRead (broche) commander. Raccorder les boutons à broches 6 et 7 sur l`entrée numérique Arduino / sortie (I / O). Se connecter les deux boutons:

  • Côté gauche du bouton à + 5V
  • Côté droit du bouton pour Arduino au sol par l`intermédiaire d`une résistance de 10k ohms
  • côté droit de la touche à la broche Arduino (6 ou 7)

Test MIDI

Maintenant que tout le matériel est terminé, il est temps de le tester. Vous aurez besoin d`une interface USB-MIDI (de nombreuses interfaces audio peuvent le faire) et un câble MIDI. Le port MIDI câblé sur la carte de test envoie des données, il est donc la sortie. Votre ordinateur reçoit les données, il est donc l`entrée. Ce projet utilise l`excellente bibliothèque MIDI Arduino v4.2 par quarante-sept effets. Une fois que vous avez installé la bibliothèque, vous pouvez l`inclure dans votre code en allant Esquisser gt; inclure la bibliothèque gt; MIDI.

Vous aurez également besoin d`un programme de surveillance des données MIDI entrant:

  • MIDI Monitor pour OS X
  • MIDI-OX pour Windows
  • KMidimon pour Linux

Video: TRONIK AVENTUR 122 -ARDUINO FONCTION TONE - SIRENE US DIY FACILE A FAIRE

Connectez l`Arduino à votre ordinateur et télécharger le code de test suivant (ne pas oublier de sélectionner la carte et le port de la Outils gt; Planche et Outils gt; Port menus).Mise en route avec votre Arduino Starter Kit - Installation des pilotes & Configuration du conseil d`administration & PortMise en route avec votre Arduino Starter Kit - Installation des pilotes & Configuration du conseil d`administration & PortDonc, vous avez-vous acheté un kit de démarrage Arduino, et éventuellement d`autres composants frais au hasard - et maintenant? Comment fait-vous commencer avec la programmation de cette chose Arduino? Comment définissez-vous vers le haut ...Lire la suite

#comprendre #comprendre #comprendre #comprendre #comprendre MIDI_CREATE_INSTANCE(HardwareSerial,En série, midiout)- // créer un objet MIDI appelé midioutvide installer() {En série.commencer(31250)- // série de configuration pour MIDI}vide boucle() {midiout.sendControlChange(56,127,1)- // envoyer un CC MIDI - 56 = note 127 = vitesse, 1 = canalretard(1000)- // attendre 1 secondemidiout.sendProgramChange(12,1)- // envoyer un PC MIDI - 12 = valeur, 1 = canalretard(1000)- // attendre 1 seconde}

Ce code envoie un message CC, attendez 1 seconde envoyer un message PC puis attendez 1 seconde indéfiniment. Si tout fonctionne correctement, vous devriez voir un message apparaît dans votre moniteur MIDI.

Si rien ne se passe, pas de panique! Essayez dépannage:

  • Assurez-vous que toutes les connexions sont correctes
  • Vérifiez le port MIDI est branché correctement - il devrait y avoir 2 broches de rechange sur les bords extérieurs
  • Revérifier le circuit est correct
  • Vérifiez que le circuit est connecté à une interface USB-MIDI avec un câble MIDI
  • Vérifiez votre câble MIDI est connecté au contribution sur votre interface USB-MIDI
  • Assurez-vous que l`Arduino a le pouvoir
  • Installez le pilote correct pour votre interface USB-MIDI

Si vous êtes encore des problèmes qu`il pourrait être utile de vérifier votre carte de test. conseils bon marché peuvent parfois être très faible et variable de qualité - il est arrivé à moi tout en travaillant sur ce projet.

Test Bouton

Maintenant, il est temps de tester les boutons fonctionnent correctement. Téléchargez le code de test suivant. MIDI n`a pas besoin d`être connecté à tester cette partie.

const int buttonOne = 6- // assigne la broche de bouton à la variableconst int buttonTwo = 7- // assigne la broche de bouton à la variablevide installer() {En série.commencer(9600)- // série de configuration pour le textepinMode(buttonOne,CONTRIBUTION)- // Bouton de configuration en entréepinMode(buttonTwo,CONTRIBUTION)- // Bouton de configuration en entrée}vide boucle() {si(digitalRead(buttonOne) == HAUTE) { // bouton Vérifier l`étatretard(dix)- // logiciel de rebondsi(digitalRead(buttonOne) == HAUTE) { // vérifier à nouveau l`état de boutonEn série.println("Bouton One Works!")- // résultat du journalretard(250)-}}si(digitalRead(buttonTwo) == HAUTE) { // bouton Vérifier l`étatretard(dix)- // logiciel de rebondsi(digitalRead(buttonTwo) == HAUTE) { // vérifier à nouveau l`état de boutonEn série.println("Deux boutons Works!")- // résultat du journalretard(250)-}}}

Exécutez ce code (mais gardez le câble USB connecté) et ouvrez le moniteur série (En haut à droite gt; Serial Monitor). Lorsque vous appuyez sur un bouton, vous devriez voir « Bouton One Works! » Ou « Deux boutons Works! » En fonction du bouton appuyé.

Il y a une note importante à emporter de cet exemple - le logiciel de rebond. C`est un simple retard de 10 millisecondes (ms) entre la vérification sur le bouton puis vérifier à nouveau sur le bouton. Cela augmente la précision de la presse bouton et permet d`éviter le bruit déclenchement de l`Arduino. Vous ne devez pas faire cela, mais il est recommandé.

Création du contrôleur

Maintenant que tout est câblé et de travail, il est temps de monter le contrôleur complet.

Cet exemple va envoyer un autre message CC pour chaque bouton qui est pressé. J`utilise cette option pour contrôler Ableton Live 9.6 sur OS X. Le code est similaire à la fois les échantillons d`essai ci-dessus.

#comprendre #comprendre #comprendre #comprendre #comprendre const int buttonOne = 6- // assigne la broche de bouton à la variableconst int buttonTwo = 7- // assigne la broche de bouton à la variableMIDI_CREATE_INSTANCE(HardwareSerial,En série, midiout)- // créer un objet MIDI appelé midioutvide installer() {pinMode(buttonOne,CONTRIBUTION)- // Bouton de configuration en entréepinMode(buttonTwo,CONTRIBUTION)- // Bouton de configuration en entréeEn série.commencer(31250)- // configuration sortie MIDI}vide boucle() {si(digitalRead(buttonOne) == HAUTE) { // bouton Vérifier l`étatretard(dix)- // logiciel de rebondsi(digitalRead(buttonOne) == HAUTE) { // vérifier à nouveau l`état de boutonmidiout.sendControlChange(56,127,1)- // envoyer un CC MIDI - 56 = note 127 = vitesse, 1 = canalretard(250)-}}si(digitalRead(buttonTwo) == HAUTE) { // bouton Vérifier l`étatretard(dix)- // logiciel de rebondsi(digitalRead(buttonTwo) == HAUTE) { // vérifier à nouveau l`état de boutonmidiout.sendControlChange(42,127,1)- // envoyer un CC MIDI - 42 = note 127 = vitesse, 1 = canalretard(250)-}}}

Remarque - vous ne serez pas en mesure d`utiliser Serial.println () avec une sortie MIDI.
Si vous voulez envoyer un message PC au lieu d`un CC remplacer simplement:

midiout.sendControlChange(42,127,1)-

Avec:

Video: Arduino : Thérémine

midiout.sendProgramChange(valeur, canal)-

en action

Voici une démonstration en tant que contrôleur pour Ableton Live (Le meilleur logiciel de DJ pour tous les budgets). En haut à droite montre les vumètres, et au milieu du haut affiche les messages MIDI entrants (via MIDI Monitor sur OS X).Le meilleur logiciel de DJ pour tous les budgetsLe meilleur logiciel de DJ pour tous les budgetsUn bon logiciel de mixage peut faire toute la différence dans votre performance. Que vous utilisiez un Mac, Windows ou Linux, tous les niveaux de compétences et le budget est pris en charge si vous voulez commencer DJing.Lire la suite

Avez-vous fait un contrôleur MIDI?

Il y a beaucoup d`utilisations pratiques pour un contrôleur MIDI personnalisé. Vous pouvez construire une vaste unité contrôlée pieds, ou un contrôleur studio élégant. Avez-vous fait un contrôleur MIDI personnalisé? Faites-moi savoir dans les commentaires, j`aimerais les voir!

Articles connexes