Différences entre les versions de « Iot speaker »

De mydil
Aller à la navigation Aller à la recherche
Ligne 110 : Ligne 110 :
 
|align=center|
 
|align=center|
 
|align=center|
 
|align=center|
 +
[https://www.nxp.com/docs/en/data-sheet/TDA8932B.pdf TDA8932]
 
|align=center|
 
|align=center|
 
|-valign="top"
 
|-valign="top"

Version du 22 février 2018 à 12:26

Introduction

Projets

Objectif Les acteurs Compétences Matériel

Construire des enceintes sans-fils (sauf le courant) actives connectées capables de travailler en "groupe"

  • électronique
  • C++ (microcontrôleur)
  • microcontrôleur (esp8266)
  • amplificateur audio (XPT8871, PAM8403, ...)
  • décodeur MP3 (VS1053B)
  • potentiomètre digital (X9C103S)

Choix de l'amplificateur

A faire:

  • Expliquer la différence entre classe AB et D (qualité sonore vs. éco énergie)
  • Faire un tableau récapitulatif des caractéristiques des amplis:
    • mono / stéréo / les deux
    • tension de fonctionnement / consommation (5v, 12v, 24v, etc...)
    • puissance (5w, 20w, 30w, etc...)
    • impédance de sortie (2 x 4Ω, 1 x 8Ω, etc...)
    • réponse fréquentielle ;
    • résistance aux courts-circuits ;
    • bruit pop (quand pas de musique);
    • besoin d'un dissipateur ou non (effet joule à prévoir...)
    • lien vers la documentation si besoin d'info(eg. pour le TDA8932)
    • le plus important : le ressenti !

Classe AB

Trouver des amplis sur ebay.com pas cher de classe AB

Classe D

Modèle Image Phonique Puissance Impédance Tension RCC POP Dissipateur Documentation Avis

XH-M531

XH-M531.jpg

PAM8403

PAM8403.jpg

PAM8610

PAM8610.jpg

XPT8871

XPT8871.jpg

TDA8932

TDA8932.jpg

TDA8932

TPA3110

TPA3110.jpg

Potentiomètre digital

A faire

Décodeur MP3

Présentation

Le décodeur MP3 choisi est le VS1053

Vs1053 board.jpg

Ce décodeur offre une interface SPI et permet de lire ainsi que d'enregistrer des fichiers aux formats :

  • lecture :
    • MP3 ;
    • Ogg Vorbis (libre de droit) ;
    • PCM;
    • WAV;
  • enregistrement :
    • Ogg Vorbis(libre de droit) ;

Documentation technique

Voici la documentation du VS1053, pour ceux qui voudraient écrire une librairies C++ !

Schéma

Les tests ont été réalisés avec un WemOS D1 mini (ESP8266) :

ESP8266 VS1053 Connections
Wemos D1 R2 mini diagram.png
Vs1053 board diagram.png
ESP8266 VS1053
D0 XDCS
D1 XoS (Cable Select)
D3 DREQ
D5 SCK (Serial ClocK)
D6 MISO (Master In Slave Out)
D7 MOSI (Master Out Slave In)
RST XRST
5V 5V
G DGND

Vous devriez avoir quelque chose comme ça :

Wemos D1 vs1053 diagram.jpg

Programmation

Tout d'abord un grand merci à baldram pour sa Fichier:ESP VS1053 Library.zip que nous allons utiliser !

Le plus simple est de regarder l'exemple SimpleMP3Player fourni avec la librairie :

// La fameuse librairie de baldram
#include <VS1053.h>
// Un MP3 au format binaire dans un tableau (le fichier est livré avec la librairie)
#include <helloMp3.h>
// Définition des port SPI utilisé (ici pour l'ESP8266)
#define VS1053_CS     D1
#define VS1053_DCS    D0
#define VS1053_DREQ   D3
// Définition du volume
#define VOLUME  80 // volume level 0-100
// Création de l'objet VS1053
VS1053 player(VS1053_CS, VS1053_DCS, VS1053_DREQ);

void setup () {
  // Démarrage du SPI
  SPI.begin();
  // démarrage du VS1053
  player.begin();
  // Ligne nécessaire pour certain lecteur
  player.switchToMp3Mode();
  player.setVolume(VOLUME);
}

void loop() {
  // On joue le MP3 dans le tableau
  player.playChunk(helloMp3, sizeof(helloMp3));
  // On attend 3 secondes
  delay(3000);
}

Pour que cet exemple fonctionne, il faut soit copier le contenu de HelloMp3.h dans le fichier exemple, soit copier le fichier dans le répertoire de la librairie dans votre dossier Arduino.

Une fois la compilation terminée, vous devriez entendre du bruit sortir du VS1053 !

Communication

Envoi : serveur en PHP

Réception : ESP8266