Musique MIDI série et utiliser le moniteur série

Bonjour, je suis tout nouveau dans ce forum, et pas vieux dans l'ARDUINO. J'adore l'électronique, la musique et l'informatique... voila en bref

Je reconverti un vieil accordéon diatonique en diato MIDI. (plein de capteurs, de MUX, de trucs, ;;...)

Ca marchote avec un carte LEONARDO + usb-MIDI. Mais pas assez rapide pour générer à la bonne vitesse et toutes les notes d'accord...(Beaucoup de temps dans le logiciel d'interface protocole USB il semble.

J'essaye avec une UNO (ou autre) et direct une connexion Série MIDI. (avec com1)

Ca marche seul ..mais ...

Je ne sais pas comment avoir, en simultané,

  • d'un part la connexion TX1 (MIDI) avec un synthétiseur (31250 Baud - Std MIDI)
  • et d'autre part, afficher des message (de mise au point et mesure) sur le moniteur série ( connecté avec le lien USB)

Il n'y a (je crois ) qu'un port Asy sur ces cartes et une connexion "Soft" le semble trop lente.

Merci d'avance de m'aider ou de me renvoyer vers un sujet déjà traité...

:warning:
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. ➜ déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans "Les bonnes pratiques du Forum Francophone”

Bonsoir
le plus simple aujourd'hui pour jouer confortablement avec du MIDI sous IDE arduino

une carte arduino mega2560 pro (arduino mega format reduit)
dispose de 4 uart hard

OU

un pico2040
2 uart hard, CDC et midi over USB natif

image

Bjr,

avec toute mes excuses.. je commence dans ce Forum qui est une vrai mine d'échanges et les premiers pas sont .."hésitants".

Je vais apprendre.

merci pour les conseils.

Merci Shannon (Artouse).

j'ai un ARDUINO MEGA .. je vais essayer pour le mode "maquette".

j'ai 2 difficultés :

  • la taille (c'est petit un accordéon diatonique et il faut pleins de capteurs : touches, boutons, pression soufflet...)
  • la vitesse de traitement et de génération des sons (surtout sur les notes multiples)

Je commence par le MEGA, quite a passer ensuite sur le MEGA PRO ou peut être sur le DUE.

Je pense repousser un peu la piste pico2040, même si la fréquence à 130 Méga me tente. Mais pour lui, je suppose que je vais devoir changer de plateforme de développement .... et réapprendre plein de chose. C'est bien le cas ?

Je vous tiendrai au courant du résultat. Merci !!

bonjour
c'est AMHA la meilleure démarche pour avancer
Le pico2040 peut s'utiliser sans (trop de) problème au travers de l'IDE arduino
perso j'utilise ce portage trés bien suivi mais qui est en pleine phase de "murissement" :wink:

A la réflexion , on pourrait aussi très certainement utiliser un module esp32 qui dispose de de 3 uart Hard, et trés curieusement je me rend compte que je n'ai encore jamais utilisé le MIDI avec une base ESP32 :innocent:

Re bonjour Artouse,

merci pour tes pistes.

Premier essai, à l'arrache avec la MEGA. Ca semble SUPER .....

  • nickel du coté échange à la fois électronique MIDI et coté trace et moniteur (super utile pour la mise appoint et certaines mesures de temps)

  • Nickel, du coup, en rapidité .. 1 note jouée avec la bibliothèque MIDI-USB : ~9 à 10 millis / 1 note en direct TX1-> électronique MIDI : ~30 - 50 micro (sauf erreur grossière de ma part, tjr possible ... :wink:

  • du coup, pour une version 2, je pourrais virer les MUX de scrutation des touches et entrer directement sur les ports digitaux.. et gagner de la place....

Je vais clore ce Problème .. quitte à en ouvrir un autre si besoin.

Merci pour ton aide.

PS: par ailleurs, j'ai un ESP32 que je n'ai jamais essayer ...je vais aussi tester en //

Bonjour

RP2040 et IDE Arduino ?

dans le Gestionnaire de cartes on a le choix entre :
-un core 'officiel' Arduino/Mbed
-celui mentionné par @Artouste , bien soutenu par son auteur ( et par Adafruit) , core prenant en charge de nombreuses cartes à base de RP2040

Bjr à vous,

avant de clore ce sujet, juste un petit mot pour vous dire merci... de m'avoir donné l'idée de passer sur un ESP32 (qui trainait dans un tiroir...)

Ca m'a réglé le Pb des 2 Uart.. + la marge de vitesse coté soft + taille mini donc facilement intégrable dans l'accordéon et la possibilité plus tard pour utiliser les cnx wifi....
En plus ça a été assez facile, avec l'IDE ARDUINO.. à quelques temps de lectures pour trouver les ports qui m'intéressent et les quelques spécificités.. (Le coté temps reel de l'ESP32, me donne plein d'idées pour d'autres projets)

Merci donc.

Bonjour
merci du retour avec esp32
Il n'y avait objectivement aucune raison que cela ne fonctionne pas, mais rien ne vaut un test IRL

BJR,
Juste quelques mots.
Je déchante... L'esp32 à plein plein de possibilités mais aussi plein plein de contrastes...
6 GPIO ne peuvent pas être en pull up, d'autres sont incompatible avec l'USB, tel GPIO avec pull up externe empêche le load, d'autres... etc etc
Donc bien bien regarder les contraintes et incompatibilité entre GPIO avant de se lancer ...
Au revoir.

Bonjour @michel_de_toulouse

En effet c'est une bonne recommandation !

Cette page fait bien le tour de la question sous une forme accessible
https://randomnerdtutorials.com/esp32-pinout-reference-gpios/

Bjr al1fch

j'avais effectivement lu cette page, mais je suis tombé sur d'autres difficultés. Ex:
GPIO34-39 sont en input MAIS SANS pull up/down, GPIO 2 en input sans pullup et si on le fait par résistance cela interdit le boot.. etc etc
Je note toutes les découvertes pour compléter le scénario.

Bonsoir
Oui , il y a quelques contraintes

Tu utilise quoi comme "board esp32" ?

@michel_de_toulouse

GPIO34 à 39 (entrées basiques) , GPIO2 + autres GPIO 'strapping pins' pris en compte pour définir le mode de démarrage...

Cette page web traite ces deux points :
https://microcontrollerslab.com/esp32-pinout-use-gpio-pins/

A la source : Les divers documents techniques d'Espressif sur l'ESP32 , moins accessibles, sont exhaustifs :
https://www.espressif.com/en/support/documents/technical-documents?keys=&field_type_tid%5B%5D=492

Le rôle des divers 'stapping pins' au démarrage est détaillé au chapître 2.4 de la Data Sheet

Merci al1fch etArtouse pour tout ça.

Du coup, je regarde (peu à peu) les docs 'plus techniques', dont le manuel de référence.....Pas un superbe livre de chevet,( quoi que .. pour s'endormir...) mais passionnant.... impressionnant les capacités de cet ESP !!!! Mais oui, je confirme !! plein de contraintes pour moi, c'est difficile de trouver assez de port digitaux disponibles..

Pour le moment j'utilise le 'ESP DEVKITV1' (c'st ce qui est marqué dessus)..

Bonjour @michel_de_toulouse

Un peut tôt pour vérifier par la pratique : Espressif a déclaré vouloir réduire les contraintes sur les GPIO pour les nouvelles variantes d'ESP32 (-S2 , -S3......) Comme on commence de plus voir des cartes DEVKIT pour ESP32-S2 ou ESP32-S3 à 44 broches ça ouvre des perspecives .....

J'espère que tu pourras 'composer' avec les contraintes actuelles et aboutir à un compromis acceptable s'il s'agit d'une carte ESP32 DEV KIt 1 en version "36 GPIO" .

C'est quand même un modele déjà bien fourni, si tu bute sur le nb d'IO disponibles , tu devrais peut être te poser la question d'ajouter/cascader des expandeurs, c'est généralement "assez" simple à implémenter et çà évite souvent que la tripaille tourne à "l'usine à gaz" :grin:

tes besoins exacts sont lesquels ?

+1

de plus les GPIO 'strapping pins' restent plus ou moins utilsables du moment que les niveaux logiques requis de manière transitoire à la mise sous tension sont respectés, on ne peut pas tout y faire mais on peut y faire certaines choses.......

Re bonjour,

Juste 2 mots de contexte.. Joueur débutant d'accordéon diatonique, je me suis dit "pour moins embêter ma compagne, un accordéon numérique (MIDI) peut se jouer avec des écouteurs".
Malheureusement ce genre d'accordéon est rare et SUPER cher (> 8 à 10 000 Euros).. J'ai eu l'envie de démonter un vieux diatonique non ré-accordable, enlever tout ce qui fait du bruit, mettre des capteurs de touches, de mesurer la pression du soufflet, .. et ..et ... et... etc etc et créer un signal MIDI.... Un jour ... je pourrais jouer en silence :innocent:

Donc mes besoins (finalement assez simple) :

  • surveiller 32 boutons (en digital pour le moment) => j'utilise 1 MUX à 16 entrées (MC14067) + 2 MUX 8 entrées (CD4051).. tout ca sur 2 C.I. qui portent aussi les capteurs => Il me faut surveiller ces 32 boutons en 8 à 10 milli sec environ (En plus je n'avais plus re fait de circuit imprimé depuis 35 ans ......)
    L'utilisation des MUX me permet de réduire à 10 fils l'interface entre el s2 cotés del'accordeon.

  • Surveiller la pression du soufflet toutes les 50 à 100 millisecondes. Et un paquet d'elétronique pour amplifier les signaux des capteurs de pression (Je n'ai trouvé su r le marché que des périphériques 'atmosphérique => beaucoup trop lents

  • Générer des signaux MIDI 8 à 10 notes simultanées en pointe (Sans trop de retard)

  • Boitier de commande et de réglage (doublement de basse, de transposition, accord majeur ou mineur...etc)

Voila le contexte :innocent:

Il me faut donc :

  • Pour les MUX : 5 sortie digital (32 touches) + une entrée digital Pullup
  • Pour le boitier de commande : 5 entrees digital Pullup + 2 sortie digital (Minimun)
  • Pour la pression soufflet : 2 à 3 entrées analogique. (pour filtrer les mesures)
  • Pour la sortie midi : sortie com, vers une interface MIDI pour standardiser
  • Pour mettre au point : sortie moniteur.
  • Globalement : un processeur qui pédale

Voila...
le MEGA est parfait pour les entrées sorties, les 2 asynchrones. Mais pas assez rapide
Le ESP32 est nickel en vitesse mais je ne m'en sort pas avec les I/O.
Peut être que je me plante quelque part.

Du coup, j'avance coté programme et intégration dans l'instrument avec le MEGA
et j'explore sur une maquette pour voir les I/O de l'ESP. Ca me plairait

Je ne sais pas si j'y arriverais un jour, mais je me marre bien.
Voila, j'arrête de vous prendre la tête.

et merci déjà pour vos conseils et remarques passées (et à venir ..? :slight_smile:)
A+