Le code est assez simple,
L'Arduino va passer son temps à lire l'état des touches et enverra les données via le port série grâce a la bibliothèque MIDI d'Arduino
- On doit garder l'état précédent des touches :
Prenons un exemple :
Si j'appuie sur le bouton A en pressant le soufflet => Note A
Ensuite si j'appuie toujours sur le bouton A en tirant le soufflet => Note B et fin de la note A
Le code Github fournis a cette adresse https://github.com/PierreBanwarth/MIDI-concertina est celui que j'utilise pour mes deux arduinos,
Plusieurs choses importantes :
Ce projet github est paramétré pour utiliser PlatformIO que je vous recommande chaudement, je le trouve plus complet que l'editeur Arduino officiel et il utilise l'interface d'Atom qui me conviens.
Si vous n'utilisez pas PlatformIO vous pouvez prendre le code du fichier Main.cpp et le copier dans votre éditeur arduino préféré, il vous faudra juste ajouter la librairie qui se trouve ici :
http://playground.arduino.cc/Main/MIDILibrary
Dans main.cpp nous avons les trois lignes suivantes :
uint8_t pousser[] = {23,26,31,25,38,12,19,24,28,31,16,21,25,33,32};
uint8_t tirer[] = {26,30,33,36,40,19,23,26,29,33,17,22,27,31,34};
uint8_t pinButton[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, A0, A1, A3};
ce tableau indique que :
- la note a l'indice 0 en pousser est 23 (code MIDI)
- la note a l'indice 0 en tirer est 26 (code MIDI)
- le boutton connecté a la pin 2 de l'arduino est la note d'indice 0
on a également une instruction du type :
uint8_t poussertirer = digitalRead(A4);
cette instruction indique que sur cet Arduino le bouton du soufflet est brancher sur le port A4
Il faudra ajuster ces tableaux a vos variantes dans le câblage de vos touches.
Bonjour,
Je n'y connais rien en électronique mais je me lancerais bien dans la transformation d'un accordéon diatonique acoustique en accordéon midi pour l'alléger (supprimer les sommiers) et profiter du soufflet pour ne pas perdre de temps à apprendre une autre technique. Arduino me parait sympa.
Est-ce que je pourrai avoir des tuyaux pour faire ce boulot ?
Merci...