[Analogique] Lire un fichier .WAV depuis un Arduino
Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Lire un fichier .WAV depuis un Arduino



  1. #1
    Kalemm

    Lire un fichier .WAV depuis un Arduino


    ------

    Bonjour,

    Je cherche à lire un fichier .WAV depuis un arduino, je vous joins le code que j'utilise ainsi que mon montage :
    Code:
    //Libraries
    #include <SD.h>
    #include <TMRpcm.h>
    
    //Constants
    #define SD_ChipSelectPin 10  //4
    const int speakerPin = 9;
    char* file = "fichier.wav";
    
    //Variables
    unsigned long previousTime = 0;
    unsigned long interval = 1000;
    //Objects
    TMRpcm tmrpcm;
    /*******************************************************************
     																																MAIN
    *******************************************************************/
    void setup() {
      /* function setup */
      Serial.begin(9600);
      //Init sd shield
      if (!SD.begin(SD_ChipSelectPin)) {
        Serial.println("SD fail");
        return;
      }
    
      //Init speaker
      tmrpcm.speakerPin = speakerPin;
      tmrpcm.setVolume(5);
    }
    
    void loop() {
      /* function loop */
      if (millis() - previousTime > interval) {
        activateOutput();
        previousTime = millis();
      }
    }
    /*******************************************************************
     																																FUNCTIONS
     *******************************************************************/
    void activateOutput() {
      /* function activateOutput */
      Serial.println("Play sound");
      tmrpcm.play(file);
      while (tmrpcm.isPlaying()) {}  //wait until file is played
      //delay(1000);tmrpcm.stopPlayback(); // or wait 1sec and stop music
    }
    Mon problème est lorsque je règle le son depuis tmrpcm.setVolume(5), celui-ci est très faible et sature rapidement quand je l'augmente. Je voudrais savoir si vous auriez une solution à cela. (J'utilise un NPN S9013)

    Nom : Montage.PNG
Affichages : 170
Taille : 123,7 Ko

    -----
    Dernière modification par gienas ; 31/10/2023 à 18h50. Motif: Ajouté les balises de code obligatoires pour les programmes

  2. #2
    tchitchou

    Re : Lire un fichier .WAV depuis un Arduino

    Bonjour,
    quel genre de haut parleur tu as ?
    Un transistor ne peut pas faire le travail d'un ampli audio de qualité..
    Quel est le besoin ?
    Diffuser une voix, musique ? Fort ?

    Budget ?

  3. #3
    Kalemm

    Re : Lire un fichier .WAV depuis un Arduino

    J'ai récupéré un haut parleur d'une vieille enceinte filaire d'environ 4 ohm ( j'avais un multimètre d'aliexpress pour mesurer, d'où le environ) donc je n'ai pas la ref de celui ci. Je souhaite diffuser un extrait de 5s d'une musique assez forte (de quoi faire sursauter quelqu'un).
    J'ai un TL081 qui traine ou un PAM8302 en cms présent sur l'enceinte, pourrais je utiliser un de ces composants pour amplifier le son ? et ou le positionner sur le schéma ?

  4. #4
    Piefra

    Re : Lire un fichier .WAV depuis un Arduino

    Bjr,

    Je n'utiliserai pas l'alim de l'arduino pour l'amplification qui peut etre limitee

    Cdlt
    Cordialement Piefra

  5. A voir en vidéo sur Futura
  6. #5
    Pascal071

    Re : Lire un fichier .WAV depuis un Arduino

    bonjour

    le son est généré en PWM.
    il faut une résistance en série avec la base du transistor.
    tu peux diminuer la 220ohm en série avec le HP, mais il faudra utiliser une autre alimentation que le 5v Arduino.

    Cdlt

  7. #6
    f6bes

    Re : Lire un fichier .WAV depuis un Arduino

    Bjr Kalemm,
    "....J'ai récupéré un haut parleur d'une vieille enceinte filaire d'environ 4 ohm ( j'avais un multimètre d'aliexpress pour mesurer, d'où le environ) ...."
    Ce n'est donc pas l'IMPEDANCE de ton enceinte que tu as mesuré, mais sa RESISTANCE en courant continu. ( ce n'est pas du tout la meme chose)
    Faut pas confondre IMPEDANCE ( en ohms) et RESITANCE ( en ohms aussi).
    Bonne journée

  8. #7
    Kalemm

    Re : Lire un fichier .WAV depuis un Arduino

    D'accord je vais faire ça.
    Et pour l'amplificateur, je dois le mettre en sortie de l'arduino où est généré le son en PWM allant sur la base du transistor ?

  9. #8
    Pascal071

    Re : Lire un fichier .WAV depuis un Arduino

    bonjour
    D'accord je vais faire ça
    tu vas utiliser quoi du coup, le transistor? l'ampli PAM8302?
    si tu utilises l'ampli, il faudra diminuer le niveau de la sortie arduino, avec un potentiomètre.
    et utiliser un autre 5v que Arduino.

    Cdlt
    Dernière modification par Pascal071 ; 02/11/2023 à 18h00.

  10. #9
    Kalemm

    Re : Lire un fichier .WAV depuis un Arduino

    Puis je éviter de diminuer le niveau de sortie de l’arduino en baissant le tmrpcm.setVolume(5) ? Sinon serait il plus simple d’utiliser un aop non inverseur pour amplifier ou le transistor ?

  11. #10
    Pascal071

    Re : Lire un fichier .WAV depuis un Arduino

    bonjour
    la sortie Arduino sort bien assez en tension.
    le problème c'est de "driver" un HP qui demande du courant
    Un AOP ne sortira pas plus de courant que l'arduino.
    Il te faut un montage amplificateur

    ou le montage avec 1 transistor, mais il ne faudra pas attendre une bonne qualité...

  12. #11
    Kalemm

    Re : Lire un fichier .WAV depuis un Arduino

    D'accord, je pense me diriger vers un montage avec 1 transistor car mon son dure seulement 5s donc je n'ai pas vraiment besoin d'une très bonne qualité. Sauf si il est vraiment mauvais, j'essayerais avec le PAM8302A. Merci

  13. #12
    Pascal071

    Re : Lire un fichier .WAV depuis un Arduino

    bonsoir
    utilises surtout un autre 5v (ou plus) pour l'ampli ou le transistor si tu baisses la 220ohms
    car si le son est fort, l'Arduino va se planter a cause de son 5v perturbé.
    il faut une résistance d' 1k dans la base du transistor.
    car mon son dure seulement 5s donc je n'ai pas vraiment besoin d'une très bonne qualité
    5 secondes, c'est toujours trop quand on a un son pourri
    Cdlt
    Dernière modification par Pascal071 ; 03/11/2023 à 20h44.

Discussions similaires

  1. [Programmation] Lire un fichier ASCII (ou EDF) sur ARDUINO UNO
    Par invitee1d93f92 dans le forum Électronique
    Réponses: 9
    Dernier message: 01/07/2016, 13h31
  2. Exécuter un fichier shell depuis un fichier Php
    Par invite2b1d492e dans le forum Programmation et langages, Algorithmique
    Réponses: 7
    Dernier message: 13/05/2015, 14h05
  3. ouvrir un fichier excel depuis un autre fichier avec VBA
    Par invite31937040 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 24/04/2012, 13h44
  4. Lire un fichier .BIN avec Matlab converti d'un fichier .WAV
    Par invite45d1502e dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 03/05/2008, 17h13
  5. lire un fichier
    Par invite3ff396ad dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 16/02/2008, 23h41
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...