Introduction aux Arduino/Genuino et instruments MIDI

Cartes électroniques programmables (µC) – Musical Instrument Digital Interface (MIDI) – Musique assistée par ordinateur (MAO)

Arduino/Genuino : Késako ?

Arduino (USA) / Genuino (reste du monde) est une plate-forme électronique programmable (microcontrôleur à bord) open source (à code source ouvert) basée sur un matériel et un logiciel qui sont « faciles » à utiliser.

La version UNO est la meilleure carte (caractéristiques et prix) pour commencer avec l’électronique et le codage (programmation). Si c’est votre première expérience de bricolage avec la plate-forme, l’UNO est la carte la plus robuste pour commencer à jouer avec. L’UNO est la carte la plus utilisée et documentée de toute la famille Arduino/Genuino.

UNO signifie UN en italien (vous vous en seriez douté) et a été choisi pour marquer la sortie de l’Arduino Software (IDE) 1.0. La carte Uno et la version 1.0 d’Arduino Software (IDE) étaient les versions de référence d’Arduino qui ont maintenant évoluées vers de nouvelles versions (Uno R3 et IDE 1.8). La carte UNO est la première d’une longue série de cartes USB Arduino/Genuino, et le modèle de référence pour la plate-forme Arduino/Genuino.

Les cartes Arduino/Genuino sont capables, grâce à leur µcontrôleur embarqué (ATmega328P pour la version UNO R3) de lire des « entrées » – lumière sur un capteur, un doigt sur un bouton, un message Twitter ou MIDI, etc. – et les transformer en « sorties » – activer un moteur, allumer une LED ou un afficheur, publier quelque chose en ligne, jouer un son, etc.
Vous pouvez dire à votre carte électronique ce qu’il faut faire en envoyant un ensemble d’instructions à son microcontrôleur. Pour ce faire, vous utilisez le langage de programmation Arduino (basé sur Wiring) et le logiciel Arduino IDE (Integrated Development Environment) (basé sur Processing), disponibles pour les systèmes d’exploitation libres GNU/Linux, et propriétaires Mac OS et Windows.

Arduino UNO R3 : Brochage (pinout)

Arduino/Genuino Uno est une carte avec un microcontrôleur basé sur l’ATmega328P. Celui-ci dispose de 14 broches d’entrée/sortie numériques (dont 6 peuvent être utilisées comme sorties PWM – Pulse Width Modulation), de 6 entrées analogiques, d’un quartz à 16 MHz, d’une connexion USB, d’une fiche d’alimentation, d’une en-tête ICSP (In-Circuit Serial Programming) et d’un bouton de réinitialisation (RAZ). Elle contient tout le nécessaire pour gérer le microcontrôleur ; Il suffit de la connecter à un ordinateur avec un câble USB ou de la brancher avec un adaptateur AC-DC (courant alternatif/courant continu) ou une batterie pour commencer… Vous pouvez bricoler avec votre carte UNO sans trop vous soucier de faire quelque chose de mal. Dans le pire scénario, vous n’aurez qu’à remplacer le µcontrôleur (boîtier DIP 28 (Dual Inline Package) inséré dans son support soudé à la carte, voir image ci-dessus) pour quelques euros et à recommencer en faisant attention.

Au fil des ans, Arduino a été le cerveau de milliers de projets, des objets de tous les jours aux instruments scientifiques complexes. Une communauté mondiale de « faiseurs » (makers) – étudiants, amateurs, artistes, programmeurs et professionnels – s’est rassemblée autour de cette plate-forme open source. Leurs contributions ont ajouté une quantité incroyable de connaissances accessibles (en anglais mais aussi en français dans la section International) qui peuvent être d’une grande aide aussi bien pour les débutants que les experts.

Le projet Arduino est né en 2005 à l’Ivrea Interaction Design Institute (en Italie du Nord) en tant qu’outil pour faciliter le prototypage rapide, destiné aux étudiants sans formation en électronique et en programmation. Dès qu’il a atteint une communauté plus large, les concepteurs d’Arduino ont commencé à le faire évoluer pour l’adapter aux nouveaux besoins et défis, en différenciant son offre initiale de simples cartes 8 bits vers des produits pour des applications comme l’IoT (Internet des objets), des produits portables, l’impression 3D et des environnements embarqués. Toutes les cartes Arduino/Genuino sont complètement open source, donnant le pouvoir aux utilisateurs de les construire indépendamment et éventuellement de les adapter à leurs besoins particuliers. Le logiciel, aussi, est open source, et il s’améliore régulièrement grâce aux contributions des utilisateurs du monde entier.

Comment puis-je utiliser Arduino/Genuino ?

  • Consultez le Guide officiel de démarrage (en anglais).
  • Téléchargez et « installez » le logiciel Arduino IDE (Integrated Development Environment) : sous GNU/Linux (arduino-1.8.0-linux64.tar.xz d’~ 100 Mo compressé). En fait, une fois le fichier décompressé (~ 460 Mo) là où vous avez décidé, la « procédure d’installation » ajoute simplement un raccourci sur votre bureau GNU/Linux pour lancer Arduino IDE en français. C’est donc une version portable.
  • Une simple recherche Arduino sur le Web vous donnera accès à une multitude de ressources disponibles en français. Parmi celle-ci, je vous suggère le très bon ouvrage (adapté aux débutants, que nous avons tous été) : Arduino : Premiers pas en informatique embarquée – PDF de 454 pages (23 Mo) – Édition du 19 juin 2014 par les Auteurs : Simon Landrault (Eskimon) et Hippolyte Weisslinger (olyte).
  • Si vous êtes à la recherche d’inspiration et d’idées, vous trouverez une grande variété de Didacticiels, par exemple sur Arduino Project Hub.

Késako que le MIDI ?

MIDI : une introduction au « Musical Instrument Digital Interface »

MIDI (FR) ou Musical Instrument Digital Interface (EN – plus complet)

Le MIDI est un protocole de communication et aussi un format de fichier dédiés à la musique, et utilisés pour la communication entre instruments électroniques, contrôleurs, séquenceurs, et logiciels de musique.

Cet interface numérique pour instrument de musique, est donc un protocole utile pour commander des claviers, des séquenceurs, des synthétiseurs et d’autres dispositifs musicaux. Les périphériques MIDI sont généralement regroupés en deux grandes catégories : les contrôleurs (c’est-à-dire les périphériques qui génèrent des signaux MIDI basés sur des actions humaines) et les synthétiseurs (y compris les échantillonneurs, les séquenceurs, etc.). Ce dernier prend des données MIDI en entrée et produits des sons, des lumières ou tout autre effet acoustique et/ou visuel.

Le MIDI, en tant que protocole de transmission numérique série, fonctionne à 31.250 bauds conformément au Complete MIDI 1.0 Detailed Specification de The MIDI Association (TMA). Le port série intégré aux cartes Arduino/Genuino peut envoyer et recevoir sans souci des données à ce rythme… de tortue… mais amplement suffisant.

Les octets MIDI sont divisés en deux types : octets de commandes et octets de données. Les octets de commandes sont au minimum à 128 ou plus, ou 0x80 à 0xFF en hexadécimal. Les octets de données sont toujours inférieurs à 127 ou 0x00 à 0x7F en hexadécimal. Les commandes incluent des informations sur des choses telles que note on, note off, modification de la hauteur d’une note, et ainsi de suite. Les données incluent des éléments tels que la hauteur de la note à jouer, la vélocité ou la sonorité de la note, la quantité de variation de la hauteur d’une note et ainsi de suite. Pour plus de détails, reportez-vous aux spécifications MIDI ou à l’un des nombreux guides du protocole MIDI sur le Web. L’un des plus complet est celui de la MIDI Association avec ses MIDI Tutorials (en anglais).

Les données MIDI sont généralement notées en hexadécimal car les banques et les instruments MIDI sont regroupés en groupes de 16.

Arduino/Genuino : Fonctions de sortie MIDI

Comme nous l’avons vu, l’Arduino UNO est un microcontrôleur open source populaire qui, à bien des égards, est un complément parfait à la nature extensible du protocole MIDI (Digital Instrument Digital Interface). Les plates-formes de microcontrôleurs telles qu’Arduino et d’autres, rendent relativement facile le développement de contrôleurs MIDI personnalisés qui répondent à la lumière, à la pression, au son et à bien d’autres formes d’entrée. De cette façon, les microcontrôleurs fournissent un moyen unique d’étendre les possibilités du MIDI dans le domaine physique. Les musiciens MIDI peuvent désormais imaginer et créer une gamme étonnante de périphériques matériels personnalisés depuis des contrôleurs aux compositeurs algorithmiques et au-delà.

Circuit d’émetteur

Il est nécessaire d’utiliser une interface MIDI pour envoyer des messages MIDI d’un Arduino à un synthétiseur, à une station de travail audio-numérique ou à un autre appareil MIDI. Heureusement, il est facile (et peu coûteux) de créer un circuit simple qui peut gérer la sortie MIDI. Le montage peut être réalisé sur une platine sans soudure pour l’expérimentation ou une version permanente peut être soudée sur un circuit imprimé (PCB). Les utilisateurs qui sont nouveaux à l’électronique trouveront leur bonheur sur les différents sites de vente spécialisés sur Internet.

Lire la suite en page 2…