La FAQ

Le forum de support du shield Tune, décodeurs MP3 DiY pour Arduino

La FAQ

Message non lude Laetitia » Ven 25 Juil 2014 19:01

Tune - MP3 decoder shield

Transformez votre Arduino en lecteur MP3 !

Ce shield est prévu pour lire des fichiers MP3 contenus sur une carte SD/SDHC formatée en FAT16/FAT32.

    Pins utilisées par le Tune ?
Tune v1.0 Top.png
Tune v1.0 Top.png (108.93 Kio) Vu 6394 fois

Sur la sérigraphie de la carte, les broches utilisées sont signalées par deux points blancs à côté de leur numéro.

Les pins D2, D4 et D8 sont utilisées pour la communication avec le codec.
Les pins D10, D11, D12 et D13 sont utilisées par le bus SPI.

La pin D3 est disponible mais un câblage a été réalisé sur la carte pour pouvoir y connecter un récepteur IR (comme celui présent en boutique).

La pin D9 est disponible mais on peut y connecter la LED témoin d'alimentation en soudant deux pastilles et en coupant une piste à côté de celle-ci.

Toutes les broches PWM sont libres ;)

    Fichiers audio pris en charge ?
Seulement les .MP3 ! CBR et VBR, jusqu'à 320 kbits/s.

    Type de sortie audio ?
La sortie audio se fait sur un jack stéréo, permettant de brancher au choix, un casque ou une enceinte d'impédance 16 à 30 Ohms.

    Tester son shield Tune
Ce point concerne ceux qui achètent le Tune à souder soi-même.
Pour s'assurer que vos soudures ont bien été réalisées et que tout fonctionne correctement, vous pouvez faire un premier test avec le sketch "OperationalTest" inclus dans la librairie Tune : il vérifie la possibilité de lire et d'écrire dans les registres du codec puis teste les sorties audio, avec ou sans fichier MP3 à lui faire jouer.

    Compatibilité avec les cartes Arduino ?
Le shield Tune a été développé pour un usage avec un Arduino Uno. Il est donc compatible avec les cartes équipées d'un ATmega328/168 (Duemilanove, Diecimila, NG...).
On peut l'utiliser avec un Arduino Mega mais il faut rediriger le bus SPI vers les bonnes broches... au lieu d'occuper les pins 10 à 13, il se situera sur les pins 50 à 53 (voir ici).
"If it's itchy, scratch it !" - "DIY or die"

RTFM (À lire avant de poster) - ANDb (Arduino Noob Database)
Avatar de l’utilisateur
Laetitia
 
Messages: 296
Inscription: Mar 7 Aoû 2012 15:07
Localisation: Toulouse

Re: La FAQ

Message non lude Vincent » Sam 30 Aoû 2014 18:24

Salut !

Super nouvelle, j'avais monté un projet avec des produits de votre boutique il y a quelques temps. Vous vendiez alors le shield audio Adafruit que j'avais du bricoler (une petite dérivation d'un fil sur un autre) pour palier une incompatibilité avec le Rotoshield, est-ce que désormais il est possible d'utiliser ce nouveau shield avec un Rotoshield sans soucis ?

Seconde question, le shield d'Adafruit permettait d'utiliser la carte SD directement depuis la bibliothèque fournie. ESt-ce toujours le cas, ou il n'est possible "que" de lire de la musique ?

C'est en tout cas un très beau travail et un shield de plus qui s'ajoute au choix des bidouilleurs, merci =)
Avatar de l’utilisateur
Vincent
 
Messages: 29
Inscription: Mar 15 Nov 2011 16:16

Re: La FAQ

Message non lude Laetitia » Lun 1 Sep 2014 09:32

Bonjour,

Vincent a écrit:Vous vendiez alors le shield audio Adafruit que j'avais du bricoler (une petite dérivation d'un fil sur un autre) pour palier une incompatibilité avec le Rotoshield, est-ce que désormais il est possible d'utiliser ce nouveau shield avec un Rotoshield sans soucis ?

Les pins PWM ont été laissées libre autant que possible pour assurer la compatibilité avec d'autres shields. Malheureusement le bus SPI utilisé par le shield nécessite l'emploi de la pin 11, utilisée également par le Rotoshield (PWM moteur 2). Pour que les deux soient compatibles, il faut :
- soit ne rien brancher sur la pin 11 pour laisser le bus SPI libre
- soit modifier la librairie Snootor pour changer de pin PWM, en choisissant la 9 par exemple
Attention : le Rotoshield utilise aussi la pin 3 sur laquelle peut être branché un récepteur IR !

Vincent a écrit:Seconde question, le shield d'Adafruit permettait d'utiliser la carte SD directement depuis la bibliothèque fournie. Est-ce toujours le cas, ou il n'est possible "que" de lire de la musique ?

Lors de l'appel de la fonction begin() (initialisation du shield), l'initialisation de la carte SD est faite via la librairie SD de l'IDE Arduino. Celle-ci permet de manipuler tous types de fichiers. Testé au cours du développement : lecture/écriture dans un fichier texte tout simple, ça devrait donc marcher avec n'importe quel fichier ;)
"If it's itchy, scratch it !" - "DIY or die"

RTFM (À lire avant de poster) - ANDb (Arduino Noob Database)
Avatar de l’utilisateur
Laetitia
 
Messages: 296
Inscription: Mar 7 Aoû 2012 15:07
Localisation: Toulouse

Re: La FAQ

Message non lude Leoben » Lun 6 Oct 2014 20:29

Bonjour Laëtitia,

Bravo pour ce super boulot, voilà un stage qui n'aura pas été gaché.

J'aimerai faire fonctionner le shield sur un Mega (2560 me dit la boite).

Je comprends qu'il faut que je fasse une petite modif hardware pour envoyer de mega vers shield :
- 51 sur 11
- 50 sur 12
- 52 sur 13 et
- 53 sur 10

Je n'ai jamais modifié de bibliothèque et avoue ne pas voir très bien où sont définies les PIN SPI ...

Il y aurait bien le :
Code: Tout sélectionner
   // needed for SPI & SD lib
   pinMode(10, OUTPUT);
   digitalWrite(10, HIGH);

de Tune.cpp où remplacer le 10 par 53 mais ça ne fait qu'un ...

et je vois bien apparaître des SS/SCK/MOSI dans SPI.ccp mais rien qui ne corresponde aux PINs

Bref je tatonne et j'aurais bien besoin d'un coup de main éclairé.

Merci par avance,

L.B.
Leoben
 
Messages: 2
Inscription: Lun 6 Oct 2014 20:03

Re: La FAQ

Message non lude Laetitia » Lun 20 Oct 2014 09:58

Bonjour,

Leoben a écrit:Bravo pour ce super boulot, voilà un stage qui n'aura pas été gaché.

Merci :oops:

Leoben a écrit:Je comprends qu'il faut que je fasse une petite modif hardware pour envoyer de mega vers shield :
- 51 sur 11
- 50 sur 12
- 52 sur 13 et
- 53 sur 10

Je n'ai jamais modifié de bibliothèque et avoue ne pas voir très bien où sont définies les PIN SPI ...

Pour la partie hardware, c'est bien ça ! Mais inutile de modifier la librairie ou votre code : le pinMode(10, OUTPUT) du Tune.cpp doit rester tel quel(voir documentation librairie SPI), c'est lors de la compilation que l'IDE Arduino interprètera les noms "SCK", "MOSI", "MISO" comme numéros de broche, en fonction du type de carte que vous lui aurez indiqué (10 à 13 pour une Uno, 50 à 53 pour une Mega, etc).
"If it's itchy, scratch it !" - "DIY or die"

RTFM (À lire avant de poster) - ANDb (Arduino Noob Database)
Avatar de l’utilisateur
Laetitia
 
Messages: 296
Inscription: Mar 7 Aoû 2012 15:07
Localisation: Toulouse

Re: La FAQ

Message non lude Leoben » Lun 20 Oct 2014 21:51

Great ! merci
Leoben
 
Messages: 2
Inscription: Lun 6 Oct 2014 20:03

Re: La FAQ

Message non lude goc » Mer 29 Oct 2014 04:58

Bonjour

J'essaye de faire fonctionner la carte avec un arduino leonardo
1er pb (résolu): il faut ajouter le connecteur SPI sur la carte Tune, car le leonardo ne passa pas le bus SPI par les pins 10 à 13
2eme pb:
j'utilise l'exemple fournis
j'entends bien le 1000hz de chaque coté, mais par contre la carte ne voit pas ma SD.
j'ai le message "card fail", puis les 2 autres messages
il s'agit d'une carte 8go SDHC formatée en fat32 avec 2 fichiers .mp3 ("song.mp3" et "track001.mp3")
j'ai essayé d'autres cartes, et idem. j'ai aussi testé avec le prog "tagprint", toujours même problème
avez-vous une idée?
est-ce que la SD est gérée par le proc ou par le contrôleur audio??
est-ce un pb de timing?? (fréquence différente entre uno et leonardo??)
merci d'avance
goc
 
Messages: 1
Inscription: Mer 29 Oct 2014 03:49

Re: La FAQ

Message non lude Laetitia » Ven 14 Nov 2014 15:12

Bonjour,

goc a écrit:1er pb (résolu): il faut ajouter le connecteur SPI sur la carte Tune, car le leonardo ne passe pas le bus SPI par les pins 10 à 13

Bien vu 8-)

goc a écrit:2eme pb:
j'utilise l'exemple fourni
j'entends bien le 1000hz de chaque coté, mais par contre la carte ne voit pas ma SD.
j'ai le message "card fail", puis les 2 autres messages
il s'agit d'une carte 8go SDHC formatée en fat32 avec 2 fichiers .mp3 ("song.mp3" et "track001.mp3")
j'ai essayé d'autres cartes, et idem. j'ai aussi testé avec le prog "tagprint", toujours même problème
avez-vous une idée?

A priori l'erreur ne vient pas de la carte SD. En prenant la même configuration, sur un shield Tune utilisé avec une Arduino Uno tout fonctionne bien.
J'ai tenté de faire fonctionner un Tune sur un Leonardo mais sans succès, ni le codec ni la carte SD ne répondent. La redirection du bus SPI n'a pas l'air de suffire, j'ai essayé diverses solutions (modification des librairies utilisées, câblage différent) mais pas d'amélioration pour le moment.

goc a écrit:est-ce que la SD est gérée par le proc ou par le contrôleur audio??

La carte SD ainsi que le codec communiquent avec l'Arduino via le bus SPI dont il est maître. Il n'y a pas de données qui circulent "directement" de l'un à l'autre.

goc a écrit:est-ce un pb de timing?? (fréquence différente entre uno et leonardo??)

Non, les deux cartes ont la même horloge (voir ici).

Je serai absente la semaine prochaine (je suis en formation) mais j'investiguerai davantage à mon retour. Je n'ai pas dit mon dernier mot ;)
"If it's itchy, scratch it !" - "DIY or die"

RTFM (À lire avant de poster) - ANDb (Arduino Noob Database)
Avatar de l’utilisateur
Laetitia
 
Messages: 296
Inscription: Mar 7 Aoû 2012 15:07
Localisation: Toulouse

Re: La FAQ

Message non lude Laetitia » Mer 11 Fév 2015 19:33

Après un peu de retard (semestre à boucler, etc :oops: ), enfin du neuf !

Dans l'état actuel des choses la bibliothèque Tune ne permet pas de faire fonctionner le shield avec une Leonardo.
C'est parce qu'elle utilise la bibliothèque SD, elle-même basée sur une ancienne version de la bibliothèque SdFat : elle semble poser problème lorsqu'il y a plusieurs esclaves sur le bus SPI (voir ici).

Je vais donc réécrire la librairie pour qu'elle soit basée sur la dernière version de la librairie SdFat, qui permet de faire un software SPI, de manière à rendre le shield compatible avec n'importe quelle carte Arduino... si tout se passe bien :roll:

Je posterai ici l'info pour indiquer quand la prochaine version sera disponible, merci de votre patience en attendant !!
"If it's itchy, scratch it !" - "DIY or die"

RTFM (À lire avant de poster) - ANDb (Arduino Noob Database)
Avatar de l’utilisateur
Laetitia
 
Messages: 296
Inscription: Mar 7 Aoû 2012 15:07
Localisation: Toulouse

Re: La FAQ

Message non lude emlaurent » Lun 9 Mar 2015 22:48

Bonjour,

J'utilise un arduino mega avec un shield ethernet et un shield tune snootlab.
J'ai bien fait la modif hardware pour faire communiquer la mega avec le shield tune.
Et ca marche très bien.

Par contre, avec le mega et les 2 shields, j'ai des problèmes pour faire jouer du son
et utiliser le shield ethernet.
D'après le dernier message et d'autres sur les forums, je pense que c'est un pb due à la
présence de 2 esclaves sur le même port SPI.

Y a t'il une solution pour y remédier ?
Est-ce que Laetitia a pu réécrire la routine ? ;-)

Merci
Emmanuel
emlaurent
 
Messages: 1
Inscription: Lun 9 Mar 2015 22:41

Re: La FAQ

Message non lude Florian » Ven 20 Mar 2015 14:51

Bonjour,

Encore un peu de patience, la réalisation de la librairie pour rendre le Tune compatible avec toutes les cartes Arduino est en cours de rédaction.
Effectivement, il semble y avoir un conflit de communication lorsqu'il y a plus d'un esclave sur le bus SPI. Ce problème devrait être réglé avec la nouvelle librairie.

Vous serez prochainement informé de la sortie de la nouvelle version, soyez encore patient!
Florian
 
Messages: 75
Inscription: Mer 24 Juil 2013 17:36

Re: La FAQ

Message non lude Laetitia » Lun 13 Avr 2015 14:49

Bonjour,

emlaurent a écrit:Par contre, avec le mega et les 2 shields, j'ai des problèmes pour faire jouer du son et utiliser le shield ethernet.
D'après le dernier message et d'autres sur les forums, je pense que c'est un pb dû à la présence de 2 esclaves sur le même port SPI.

S'il s'agit bien d'un shield Ethernet Arduino, le Chip Select de la carte SD se situe sur la pin 4, utilisée également pour l'un des Chip Select du codec, il y a bien un conflit.
Note : la librairie a été écrite pour lire les fichiers situés sur la carte SD du shield Tune, pas celle du shield Ethernet. La librairie SD n'est pas conçue pour lire deux cartes SD à la fois.

emlaurent a écrit:Est-ce que Laetitia a pu réécrire la routine ?

C'est en cours de finition ! J'ai réécrit la librairie Tune pour utiliser la dernière librairie SdFat au lieu de la librairie SD de l'IDE, tout fonctionne avec un Mega. Quelques soucis encore avec la Leonardo, j'espère arriver à débugger rapidement. Je posterai la nouvelle version d'ici à la semaine prochaine.
Pour expliquer mon retard tout de même, je reviens d'un mois et demi de cours : l'alternance c'est bon, mangez-en :mrgreen:
"If it's itchy, scratch it !" - "DIY or die"

RTFM (À lire avant de poster) - ANDb (Arduino Noob Database)
Avatar de l’utilisateur
Laetitia
 
Messages: 296
Inscription: Mar 7 Aoû 2012 15:07
Localisation: Toulouse

Re: La FAQ

Message non lude Laetitia » Ven 24 Avr 2015 15:01

Bonjour,

La nouvelle version de la librairie est disponible sur Github !
Je n'ai pas réussi à faire fonctionner le shield avec une Leonardo, quelque soit le trajet du bus SPI (hardware <=> connecteur ICSP ou software <=> pins 10 à 13) il y a toujours quelque chose qui coince :cry:

La nouvelle version est compatible Uno & Mega (équipé du connecteur ICSP), et est basée sur la librairie SdFat de Bill Greiman au lieu de la librairie SD de l'IDE. Pour faire fonctionner vos anciens sketchs avec la nouvelle librairie, il faudra ajouter une ligne au début de chaque sketch :
Code: Tout sélectionner
#include <SdFat.h>

Bonne bidouille :mrgreen:
"If it's itchy, scratch it !" - "DIY or die"

RTFM (À lire avant de poster) - ANDb (Arduino Noob Database)
Avatar de l’utilisateur
Laetitia
 
Messages: 296
Inscription: Mar 7 Aoû 2012 15:07
Localisation: Toulouse

Re: La FAQ

Message non lude Beautemps » Lun 25 Mai 2015 18:08

Bonjour,

J'utilise le shield tune mais j'ai des problèmes de puissance du son, celui ci est trop faible pour l'usage que j'aimerais avoir. Comment faire pour obtenir un son plus fort ? Quelle est l'impédance idéale du haut parleur ? Et si cela est toujours trop faible comment puis-je amplifier encore le son ?

Merci d'avance,

Manon.
Beautemps
 
Messages: 1
Inscription: Lun 25 Mai 2015 17:58

Re: La FAQ

Message non lude Laetitia » Mar 26 Mai 2015 18:19

Bonjour,

L'impédance idéale du haut-parleur/casque branché sur le Tune est de 30 Ohms, comme spécifié dans la fiche technique du codec. L'amplification du son a lieu à l'intérieur du codec (sur le schéma de la carte on voit qu'il n'y a aucun composant entre le codec et le jack), on peut jouer dessus avec la fonction setVolume().
"If it's itchy, scratch it !" - "DIY or die"

RTFM (À lire avant de poster) - ANDb (Arduino Noob Database)
Avatar de l’utilisateur
Laetitia
 
Messages: 296
Inscription: Mar 7 Aoû 2012 15:07
Localisation: Toulouse

Re: La FAQ

Message non lude puf » Dim 19 Juil 2015 19:46

Bonjour,

Je viens de monter le shield : la librairie semble fonctionner correctement mais je n'arrive pas à obtenir de retour console avec le sketch "OperationalTest".
Il me semble important de préciser que je fais ce test avec la RedBoard de Sparkfun, elle est sensée se comporter comme un Arduino UNO, j'en ai déduit qu'elle devait être compatible avec le shield Tune... mais je me suis peut-être trompé.

Alors comme je le disais, quand je lance le programme je n'ai absolument aucun retour dans la console et si je fais un Serial.print("hello"); celui ci ne s'affiche dans la console que s'il est déclaré avant l'utilisation de l'objet player...
Voici le début du void setup:

Code: Tout sélectionner
void setup() {
  /* Initialization */
 
  Serial.begin(9600);
  Serial.print("hello"); // s'affiche normalement
  player.begin();
  Serial.print("hello");// ne s'affiche pas


Est-ce possible que j'ai mal fait mes soudures ? j'ai bien vérifié la polarité et l'emplacement de mes composants, donc à moins d'en avoir brûler un je ne sais pas trop ce que j'ai pu mal faire...
Quelqu'un aurait une idée ?

Merci d'avance!!!
:)
puf
 
Messages: 1
Inscription: Dim 19 Juil 2015 19:29

Re: La FAQ

Message non lude Laetitia » Lun 3 Aoû 2015 14:14

Bonjour,

Je viens de tester le sketch OperationalTest tel quel avec la RedBoard, tout fonctionne comme prévu. J'ai modifié le sketch pour ajouter les deux Serial.print comme vous l'aviez indiqué, j'obtiens le même résultat.

Si les envois au moniteur série ne passent plus après le player.begin(), c'est qu'il y a eu une erreur à l'initialisation du shield.
Normalement, si la carte SD ne s'initialise pas correctement, vous devriez avoir un message d'erreur au lieu du message "Tune ready". Qu'avez-vous sur le moniteur après le premier "hello" ?
Le seul autre point bloquant dans la fonction begin() est l'attente d'un signal sur la pin D2. Vérifiez les soudures sur le connecteur 8 points correspondant, au cas où...
"If it's itchy, scratch it !" - "DIY or die"

RTFM (À lire avant de poster) - ANDb (Arduino Noob Database)
Avatar de l’utilisateur
Laetitia
 
Messages: 296
Inscription: Mar 7 Aoû 2012 15:07
Localisation: Toulouse


Retourner vers Tune

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité