Vous avez déjà certainement déjà reçu des cartes de vœux musicales qui jouent un air de musique durant quelques secondes.

Dimitri Grinberg a souhaité réaliser un projet similaire mais avec un système qui puisse lire un morceaux de musique en entier, voir même plusieurs lus aléatoirement à chaque ouverture de la carte et avec une qualité de son assez correcte.

diy-un-carte-de-voeux-musicale-a-base-dattiny85

Comme il voulait loger de l’électronique dans sa carte de vœux et comme elle était musicale, quoi de mieux d’un boitier CD pour réaliser le boitier de ce projet.

Pour la partie lecture audio, Dimitri a utiliser un ATTiny85 qui va générer un signal PWM haute fréquence à 64MHz et autre signal à 32kHz, ce dernier va générer une interruption pour remplir le buffer circulaire générant le signal PWM.

La musique au format WAV est stocké sur une carte SD en FAT16 qui est exploité grâce à la librairie uFat.

On retrouve également un petit ampli audio réalisé avec des transistors MOSFET, simple et efficace, et une alimentation avec un batterie LiPo avec son circuit de charge et son système de régulation toujours avec un esprit minimaliste.

Voici le résultat en vidéo :

 

  • Jerry

    Une petite coquille dans l’article. Enfin, je pense… (je ne suis jamais servi d’un Attiny, mais sur les microchip le principe est identique)

    Le PWM haute fréquence est calculé à partir des 64 MHz provenant de la clock du Attiny en activant son PLL (Phase Lock Loop) qui permet de multiplier la fréquence de base (oscillateur externe ou oscillateur interne) afin d’obtenir une fréquence plus élevée afin d’utiliser plusieurs fréquences sans utiliser nécessairement un oscillateur externe de 64Mhz dans ce cas.

    Ici, je présume qu’il se sert d’un oscillateur interne de 16 MHz et active le PLL pour obtenir le 64 MHz. L’avantage d’utiliser le PLL est surtout qu’il, selon son schéma, n’a pas de Quartz externe et utilise donc le Quartz interne du Attiny probablement limité à 16 MHz. De plus, ça fait un composant en moins à alimenter, et donc moins de courant consommé.
    Finalement, d’un point de vue consommation électrique, il vaut mieux utiliser un oscillateur externe de 16 MHz plutôt qu’un 64 MHz, qui consomme un peu plus (on ne parle pas d’Ampère, mais vu la présence de capa autour du oscillateur , il y a un drainage de courant).
    L’oscillateur interne est probablement moins précis qu’un oscillateur externe, mais je doute que cela influence grandement dans le cas présent.

    Dans la source, l’auteur ne donne pas la fréquence de son PWM haute fréquence, car cela dépend de la fréquence du son à émettre. Le timer à 32 kHz permet, une fois écoulé, d’envoyer des données pour le PWM haute fréquence pour générer le son et de remplir à nouveau le buffer avec de nouvelles données « sonores ».

    • semageek

      Oui, tout a fait d’accord avec toi et belle précision. On d’ailleurs débatu sur le sujet vite fait avec d’autres sur Twitter, c’est bien une PLL et pas un PWM

  • Blub_42

    Bonjour,
    tout d’abord merci pour le partage.
    pour ceux que le projet intéresse voici l’adresse du projet (en anglais):
    http://dmitry.gr/index.php?r=05.Projects&proj=18.%20Holiday%20Card&proj=18.%20Holiday%20Card
    CDT

  • Zitoune Crike

    bien!!!