Langues

Répondre au commentaire

On a du son!

Myriam écoute le son préamplifié

Le plan "B" me laisse donc avec le défi de tout faire "à la main" ce que le ISD4003 faisait pour nous. Heureusement, si ça marche, on aura en plus accès directement aux clips sonores enregistrés, avec possibilité, par exemple, d'ajouter des effets sonores. En effet, avec le plan "ISD4003" (bref, notre plan "A" qui ne marche pas) le Arduino pouvait seulement envoyer des commandes telles que ENREGISTRER ou JOUER. Alors que dans le plan "B", le son transitera par le Arduino qui aura donc un contrôle total.

Le circuit final du plan "B" se compose des éléments suivants:

  • Entrée sonore (*): Microphone préamplifié (avec un opamp tel que le LM386)
  • Enregistrement: Mémoire externe flash (AT45DB161D)
  • Sortie sonore (*): DAC (digital-analog converter)

(*) Note au sujet du DAC/ADC: Par défaut, le Arduino a une résolution de 10 bits pour son entrée (ADC) mais seulement 8 bits pour sa sortie (PWM). Il faudrait donc utiliser une composante externe si on ne veut pas trop sonner "cacane". Il semble que le Arduino lui-même puisse générer un PWM de plus haute résolution mais au prix d'une fréquence moins élevée. Heureusement, j'ai trouvé un lien qui explique comment avoir du son 16 bits (!) en combinant deux sorties PWM avec ... deux résistances! Voir ce lien pour les détails. D'après Mériol, avec 12 bits nous aurions du son pas pire. À noter que le ISD4003 faisait du 11 bits et que sur le Arduino, nous sommes de toute façon limités par les 10 bits de notre ADC ... si on veut plus il faudrait probablement utiliser une composante externe.

Mes tests de mercredi matin avec le dataflash AT45DB161D ayant réglé pour le moment la question de l'enregistrement, j'ai passé la journée de jeudi à travailler sur l'amplification du microphone. J'ai testé à peu près toutes les configurations possibles avec le LM386 et j'ai finalement trouvé un circuit qui fonctionne. Pour le moment, le son capté par le micro est relié au LM386 qui l'amplifie 200 fois et le renvoie directement à une sortie analogue: un haut-parleur. Le résultat est très satisfaisant pour le moment, malgré qu'il y ait un certain bruit de fond.

Reste à ploguer ça dans l'entrée analogue du Arduino...

Quelques notes:

  • Le circuit est pour un microphone de type "electret"
  • La résistance variable à côté du microphone contrôle le volume
  • Le microphone doit être placé dans un réceptacle (j'ai utilisé un verre de styromousse), cela augmente sa réception de manière significative
Le plan "B" me laisse donc avec le défi de tout faire "à la main" ce que le ISD4003 faisait pour nous. Heureusement, si ça marche, on aura en plus accès directement aux clips sonores enregistrés, avec possibilité, par exemple, d'ajouter des effets sonores. En effet, avec le plan "ISD4003" (bref, notre plan "A" qui ne marche pas) le Arduino pouvait seulement envoyer des commandes telles que ENREGISTRER ou JOUER. Alors que dans le plan "B", le son transitera par le Arduino qui aura donc un contrôle total.Le circuit final du plan "B" se compose des éléments suivants:

Répondre

Le contenu de ce champ ne sera pas montré publiquement.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <pre> <h3> <h4> <h5> <h6>
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Plus d'informations sur les options de formatage

CAPTCHA
Cette question permet de vérifier si vous êtes un visiteur humain afin d'empêcher les envois automatisés de pourriel.
Fill in the blank
By submitting this form, you accept the Mollom privacy policy.