Le fait de passer par Eeprom marche nickel. C'est exactement ce que je souhaite faire.
Par contre j'ai toujours un soucis entre l'application et l'arduino.
Lorsque j'envoie la commande DIR\n, elle s'exécute directement dans le moniteur série mais pas en BT. Il faut que je la relance pour qu'elle s'exécute à nouveau dans le série et en BT.
J'ai une deuxième commande NUM\n pour récupérer le numéro de l'eeprom. Lorsque j'appelle ce numéro c'est le retour de DIR qui s'affiche la première fois et lorsque je clique une nouvelle fois, c'est bien le numéro qui s'affiche.
Et si je lance DIR, c'est le numéro qui s'affiche, il faut l'appeller une deuxième fois pour avoir le bon résultat.
Je pense que le problème est au niveau de l'appli car l'affichage série marche nickel et répond parfaitement.
Bon, j'ai laissé reposer puis je m'y suis à nouveau attaqué. J'ai isolé le code au plus simple pour voir... toujours le même problème. Je sèche. C'est comme si l'appli envoie la commande et analyse la réponse qui n'est pas encore arrivée : ça n'affiche rien. Je renvoie et là ça s'affiche.
Tu as, peut être un problème de vitesse, je t'ai mis une temporisation de 250 millisecondes (à régler) entre l'envoi de la commande et la réception de la commande:
Merci JP, ça fonctionne.
Je cherchais de ce côté en essayant de mettre un delay avec une procédure... Ta solution est bien plus simple et fonctionne.
Merci.
Je vais attaquer la partie lecture Midi, mais en attendant de recevoir la bonne carte ampli, je posais une question :
Admettons que j'ai le droit de lire un fichier midi mais que je n'ai pas le droit de le copier sur mon appareil.
Si je veux lire un fichier Midi qui est stocké sur un serveur via l'arduino, suis-je obligé de le copier sur la carte sd, ou bien puis-je faire la lecture sans transférer le fichier midi et ainsi respecter le copyright ?
Si pour jouer ton fichier midi, tu dois le lire sur la carte SD, rien ne t'empêche, d'envoyer directement le buffer que tu aura récupéré sur ton serveur à ton Player.
Par contre cela n'est pas vrai si ton player est aussi le module qui contient ta carte SD.
Même si rien ne t'empêche de supprimer ton fichier une fois la lecture finis.
Je ne crois pas que tu donnes de références du matériel que tu utilises et ton code ne contient pas cette partie, donc toutes réponse ne pourra être que générique et pas forcément adaptable à ton cas.
Attention à la remarque de @fdufnews qui me parait plus que pertinente.
Concernant l'interprétation du fichier midi oui.
Mais concernant le 2k de RAM d'une UNO, cela n'a pas de rapport avec ta carte d'extension, mais uniquement ce que le programme est capable de manipuler.
Je ne connais pas cette carte et comment elle se pilote, donc je n'ai aucune idée si ca devrait le faire ou non.
Cela dépend comment elle se pilote, mais on peut espérer que l'on puisse lui dire de jouer un fichier sur ca carte SD.
Il faudra aussi voir, si ton système ne va pas entrainer une certaine latence, puisqu'il faut que ton Mobile télécharge le fichier, le transfert sur la carte SD, avant de pouvoir le jouer.
Je prends bonne note de vos remarques.
Au départ, j'avais envisagé tout un tas de configurations possibles pour m'amuser à faire communiquer appli smartphone, arduino et serveur. Sachant que je pars de zéro concernant l'appli et l'arduino, c'était une sorte de défi.
Maintenant, j'arrive à communiquer appli-arduino, appli-serveur... C'est cool !
Je vais donc simplifier les choses et voir plus tard l'histoire arduino-serveur (via appli).
Je vais déjà essayer de jouer les fichiers qui sont sur la carte sd de l'arduino (et peut être de l'ampli car il y a un logement sd)... mais il faut que je la reçoive !
Si j'ai bien compris ton projet, ca serait plus Appli-Serveur + Appli-Arduino, l'arduino n'est pas à l'initiative de la communication avec le serveur.
Je pensais que tu comptais utiliser la carte SD de ton shield, si ce n'est pas le cas, tu va être vite confronté à la remarque de @fdufnews sur la mémoire de ton Arduino.
Quel taille font tes fichiers ?
L'amplificateur est indispensable mais n'est pas suffisant.
Au risque de me répéter, les fichiers MIDI ne contiennent pas de son mais une liste de notes et des informations sur la façon de jouer les notes (type d'instrument, hauteur de la note, ...). Il faut un synthétiseur qui va interpréter ses informations pour générer les notes et le son des instruments.
Pour l'instant, je compte utiliser les fichiers qui sont embarqués sur la carte sd qui est connecté à l'arduino (Breakout board). Les fichiers midi sont très légers, quelques dizaines de ko.
Mais sur la carte ampli que j'ai commandé, il y a un logement pour carte sd. A terme je passerai par là pour le stockage si possible.
Ok, je comprends. Excuse moi si tu as l'impression de répéter, mais je suis totalement néophyte et je mélange un peu tout.
Je vais donc commander un synthétiseur...
J'aurai assez de bornes sur l'arduino pour brancher le module bluetooth, le lecteur sd, le synthé et l'ampli ?
Vous avez un modèle de synthé à me conseiller... il y en a plétore !!