mercredi 31 août 2016

Module de lecture mp3 GPD2846A


J'ai été intrigué par cette curiosité offerte sur eBay:  "Amplifier Module GPD2846A TF card MP3 decoder board 2W for Arduino".

Il s'agit d'un module comportant un lecteur de carte micro SD, un circuit intégré spécialement conçu pour pour la lecture de fichiers MP3, et un amplificateur.  Tout ça pour la modique somme d'un dollar américain.

Ça m'a semblé intéressant; j'en ai donc commandé un exemplaire pour l'explorer un peu.

Peut-être qu'un de ces jours je finirai par comprendre ce qui peut pousser un manufacturier à créer un produit de ce genre sans se donner la peine de fournir ne serait-ce qu'un soupçon de documentation. Le circuit imprimé comporte 10 connecteurs, mais seulement 4 d'entre eux portent une identification: GND, BAT+, SP- et SP+.  On sait donc où brancher l'alimentation et le haut-parleur, mais pour les 6 connecteurs carrés (en haut à droite, sur la photo), mystère total...

Grâce à une courte discussion sur le forum Arduino et quelques essais/erreurs (avec presque autant d'erreurs que d'essais), j'ai fini par comprendre que chaque paire de connecteur peut être relié à un bouton.

Connecteurs 1 et 2:  bouton qui retourne au fichier mp3 précédent.  Si on le maintient enfoncé pendant un certain temps, le volume sonore diminue.

Connecteurs 3 et 4:  bouton "pause/play".

Connecteurs 5 et 6:  bouton qui avance au fichier mp3 suivant.  Si on le maintient enfoncé pendant un certain temps, le volume sonore augmente.

Voici donc ce que j'ai utilisé comme connexions:


  • Une alimentation de 5 V semble nécessaire pour que le module fonctionne correctement (connexions GND et BAT+).  J'ai essayé des tensions plus faibles, mais le comportement du module devenait erratique:  l'exécution du fichier s'interrompait avant la fin.  Un condensateur placé près de l'entrée de cette alimentation semble avoir un un effet positif sur la stabilité du système.
  • Le haut-parleur se branche aux connecteurs SP- et SP+.  On recommande un haut-parleur de 4 Ω, 3 W.
  • J'ai pu actionner chaque bouton en reliant le connecteur de droite à une tension de 3,3 V et le connecteur de gauche à la masse, via un interrupteur.  J'ignore si c'est la méthode privilégiée, mais elle a fonctionné.  J'ai tenté sans succès d'ajouter une résistance de tirage pour éviter que le connecteur de gauche soit flottant quand on n'appuie pas sur le bouton, mais ça n'a pas fonctionné.





Donc si vous insérez dans le lecteur une carte microSD comportant un certain nombre de fichiers mp3, votre module amorce automatiquement la lecture de ces fichiers.

Vous pouvez ensuite naviguer à travers les fichiers et modifier le volume au moyen des 3 boutons déjà mentionnés.

Voulez-vous savoir ce que j'en pense?

Points positifs:  ça fonctionne.  Et une fois qu'on a compris comment brancher les boutons, ce n'est pas tellement compliqué:  nul besoin de se casser la tête avec la conception d'un ampli ou la gestion de la carte micro SD, tout est intégré sur le même dispositif.

Points négatifs:  Les applications concrètes me semblent bien limitées.  Un lecteur mp3 portatif à prix imbattable?  Peut-être, mais il sera monophonique.

Je rappelle le nom de l'objet:  "Amplifier Module GPD2846A TF card MP3 decoder board 2W for Arduino"...mais qu'est-ce que le mot Arduino vient faire ici?   Je peux imaginer un tas d'applications où il serait utile qu'un Arduino puisse faire jouer des mp3, mais j'aimerais alors pouvoir sélectionner un fichier mp3 en particulier sur la carte à l'intérieur de mon sketch, plutôt que disposer de simples contrôles "prochain fichier" et "fichier précédent".

Ce qui s'approche le plus d'une fiche technique mentionne que le GPD2856A supporte trois circuits intégrés pour la radio FM, mais je ne crois pas que cette fonctionnalité soit utilisable sur ce breakout en particulier.


Yves Pelletier   (TwitterFacebook)

mercredi 3 août 2016

Programmer l'Arduino en ligne grâce à Arduino Create

Après un premier faux départ, je vous présente aujourd'hui une première exploration de l'Arduino Web Editor, une importante composante du site Arduino Create récemment lancé par l'équipe Arduino.

De quoi s'agit-il?

Arduino Create comporte un outil qui vous permet de programmer n'importe quelle carte Arduino en utilisant un simple fureteur web (Chrome, Explorer, Firefox, etc), sans que l'IDE ait été installé sur votre ordinateur.  Arduino Create comporte également un espace de stockage pour vos sketches, des tutoriels, un endroit pour voir des projets réalisés par d'autres utilisateurs, des outils pour faciliter la réalisation de projets IoT (internet des objets) etc.

Pour le présent article, je me limite à l'inscription au service et à l'utilisation de l'Arduino Web Editor.

Inscription à Arduino Create

J'espère que ce n'est que temporaire, mais l'inscription à Arduino Create me semble inutilement compliquée:  vous devez demander qu'on vous envoie une invitation par email (qui devrait vous parvenir dans un délai de 24 heures) avant de pouvoir faire quoi que ce soit.  Pas question, donc, de vous mettre à programmer dans les minutes suivant votre inscription:  vous devez patienter plusieurs heures.

Vous commencez par accéder au site d'Arduino Create.


Vous devez tout d'abord avoir un compte sur le site arduino.cc.  Si vous en avez déjà un (par exemple, parce qu'il vous arrive de participer au forum de discussion), tout est parfait.  Sinon, cliquez sur le bouton "SIGN IN" en haut à droite de la page.

Vous accédez à la page qui permet d'ouvrir une session quand vous avez déjà un compte.  Pour créer un nouveau compte, vous cliquez sur "Sign Up".


...Et vous remplissez le formulaire en choisissant un nom d'utilisateur et un mot de passe.





On vous présente un très long texte énumérant les conditions d'utilisation du site.  Il faut bien sûr cliquer sur le bouton "AGREE".



Installation du plugin

Si tout va bien (ce qui n'est pas toujours le cas), on devrait maintenant vous offrir la possibilité de télécharger le plugin.  L'Arduino Web Editor vous permet de programmer l'Arduino sans avoir installé l'IDE, mais vous devez quand même installer certains fichiers localement sur votre ordinateur, sinon vous serez incapable de téléverser quoi que ce soit sur votre carte.

Alors vous cliquez sur le bouton "NEXT"...




... puis sur le bouton "DOWNLOAD PLUGIN"


Trouvez le fichier d'installation dans le répertoire de téléchargement de votre ordinateur (il s'intitule "ArduinoCreateAgent-1.1-windows-installer") et exécutez-le (quelques boîtes de dialogues apparaîtront pour vous permettre de confirmer l'installation de divers composants).

Au bout d'un certain temps, votre fureteur web devrait confirmer que le plugin a bel et bien été détecté.



Il faut ensuite redémarrer le fureteur (dans mon cas, le bouton "RESTART NOW" n'a pas du tout fonctionné).



Utilisation de l'Arduino Web Editor

Donc je ferme Chrome, je le démarre à nouveau, j'accède à la page d'accueil d'Arduino Create, je clique sur le bouton "Arduino Web Editor" et me voici finalement dans l'éditeur en ligne!


Pas exactement la même interface que l'IDE, mais on s'y retrouve quand même.

Je branche une carte au port USB (un clone chinois...si ça fonctionne avec ça, ça fonctionnera avec n'importe quoi!), je clique sur "-- Select Board or Port --" dans le haut de l'écran, une liste des modèles de cartes disponibles apparaît...



Dans la section "Examples", je sélectionne "Blink", je clique sur le bouton qui a la forme d'une flèche vers la droite...


Ça marche, la LED intégrée à la carte se met à clignoter.

Essayons maintenant le moniteur série (bouton "Serial Monitor").  Dans cette interface, le moniteur série s'affiche dans la même fenêtre que tout le reste.  J'écrit un petit sketch qui affiche des nombres croissants dans le moniteur série:  ça fonctionne très bien aussi.




Qu'en est-il des bibliothèques?  Je clique sur le bouton "Libraries" pour constater que les bibliothèques habituelles sont présentes.  Je vois aussi un bouton "ADD .ZIP LIBRARY" qui devrait permettre d'installer des bibliothèques spécialisées de la même façon qu'on le fait dans l'IDE conventionnel.



Je m'arrête là pour l'instant.

Donc, premières impressions:

- Ça semble fonctionner correctement.
- C'est en anglais seulement, pour l'instant.
- Il faut quand même installer un plugin sur l'ordinateur qu'on utilise (mais c'est beaucoup moins volumineux que l'IDE).
- Ce n'est pas une très bonne nouvelle pour les créateurs de Codebender.


Yves Pelletier   (TwitterFacebook)