MidiMood
Pour un didacticiel détaillé, visitez :
- Faire de la musique avec Arduino : https://go.musiconerd.com/making-music-with-arduino
- Curso Fazendo Música avec Arduino en portugais : https://go.musiconerd.com/curso-completo
- Vidéo du processus de création : https://youtu.be/aLhOO-UiMg4
Ce référentiel contient le code d'un projet de contrôleur MIDI personnalisé appelé MidiMood, construit à l'aide d'un microcontrôleur ATmega32U4 (ou similaire). Le projet est conçu pour gérer des potentiomètres, des boutons et d'autres commandes permettant d'envoyer des messages MIDI via des protocoles USB, BLE ou MIDI standard.
Table des matières
- Aperçu
- Caractéristiques
- Description des fichiers
- Instructions de configuration
- Dépendances
- Usage
- Licence
Aperçu
MidiMood est une implémentation complète de contrôleur MIDI qui prend en charge diverses méthodes d'entrée (boutons, potentiomètres, encodeurs) et méthodes de sortie (USB MIDI, BLE MIDI). Le contrôleur est conçu pour être hautement personnalisable, prenant en charge plusieurs plates-formes de microcontrôleurs, notamment ATmega32U4, ATmega328 et Teensy.
Caractéristiques
- Prise en charge USB MIDI : envoyez et recevez des messages MIDI via USB.
- Prise en charge BLE MIDI : utilisez Bluetooth Low Energy (BLE) pour la communication MIDI sans fil.
- Gestion des potentiomètres et des boutons : capturez les entrées des potentiomètres et des boutons et convertissez-les en messages MIDI.
- Prise en charge du multiplexeur : augmentez le nombre d'entrées à l'aide de multiplexeurs.
- Prise en charge du débogage : les messages de débogage peuvent être activés via la communication série.
- Multi-plateforme : prend en charge les microcontrôleurs ATmega32U4, ATmega328 et Teensy.
Description des fichiers
- _MidiMood.ino : Le croquis principal Arduino qui initialise le contrôleur MIDI et exécute la boucle principale.
- A_POTENTIOMETERS.ino : Contient la logique permettant de lire les valeurs du potentiomètre et de les convertir en messages MIDI Control Change.
- B_BUTTONS.ino : Gère les entrées des boutons, les convertissant en messages MIDI Note On/Off ou Control Change.
- FUNCTIONS.ino : Fonctions d'assistance utilisées tout au long du projet, y compris la gestion des messages MIDI et d'autres fonctions utilitaires.
- LOOP.ino : La boucle principale où le programme vérifie les entrées et envoie des messages MIDI.
- MACKIE.h : Définit les constantes pour le protocole Mackie Control Universal (MCU), utilisé pour contrôler les DAW.
- Z_ATMEGA32U4.ino : code de configuration spécifique au microcontrôleur pour les cartes basées sur ATmega32U4.
- Z_SETUP.ino : Code de configuration générale, initialisation des broches et configuration des modes d'entrée/sortie.
Matériel
- Arduino Pro Micro : https://amzn.to/2Vcz3Nz
- Fils : https://amzn.to/2xugvPF
- Fil de cuivre nu (facultatif) de calibre 18-24 : https://amzn.to/2FVuDpe
- 26 Potentiomètre rotatif b10k : https://amzn.to/3ckRKUY
- 26 boutons
- Entretoises M3 35mm : https://amzn.to/2z15BkN
- Vis M3 : https://amzn.to/2RHtfJw
- Multiplexeur CD4067 : https://amzn.to/303jJVe
- 11 Interrupteur à bascule : https://amzn.to/3hDmORR
- 1 LED
- 1 support LED
- 1 résistance 1k ohm
Instructions de configuration
1. Cloner le référentiel
git clone https://github.com/yourusername/midi-controller-project.git
cd midi-controller-project
2. Installez l'IDE Arduino
Assurez-vous que l'IDE Arduino est installé sur votre ordinateur. Vous pouvez le télécharger sur le site officiel.
3. Ouvrez le projet
Ouvrez le fichier _MidiMood.ino
dans l'IDE Arduino. Ce fichier sert de point d'entrée au projet.
4. Sélectionnez votre tableau
Dans l'IDE Arduino, sélectionnez la carte appropriée en fonction de votre microcontrôleur :
- Pour les cartes ATmega32U4 (par exemple, Arduino Leonardo), sélectionnez Arduino Leonardo .
- Pour les cartes ATmega328 (par exemple, Arduino Uno), sélectionnez Arduino Uno .
- Pour les cartes Teensy, sélectionnez le bon modèle Teensy.
5. Téléchargez le code
Connectez votre microcontrôleur à votre ordinateur via USB et téléchargez le code à l'aide du bouton Télécharger de l'IDE Arduino.
Dépendances
- ResponsiveAnalogRead : Bibliothèque pour lisser les lectures analogiques des potentiomètres.
- Bibliothèque MIDI : pour gérer la communication MIDI via USB et série.
- BLE MIDI : Pour la communication Bluetooth MIDI (si vous utilisez BLE).
Vous pouvez installer ces bibliothèques à l'aide du gestionnaire de bibliothèques Arduino.
Usage
Une fois le code téléchargé, votre contrôleur MIDI sera reconnu par votre ordinateur ou appareil mobile comme un appareil MIDI. Vous pouvez commencer à l'utiliser pour envoyer des messages MIDI à votre DAW ou à un autre logiciel compatible MIDI.
Débogage
Si vous souhaitez voir les messages de débogage, activez l'indicateur DEBUG
dans le code. Cela vous permettra de surveiller les messages MIDI et d'autres détails via le moniteur série dans l'IDE Arduino.