dimanche 4 novembre 2018

Un ARDUINO musical


Un ARDUINO musical

A force de faire des montages sérieux, on finit par oublier de s'amuser.
L'idée de départ provient d'un sujet publié sur le forum ARDUINO :

Il s'agit de faire jouer une partition à un ARDUINO équipé d'un haut-parleur.

1. Le principe

Une pin PWM de l'ARDUINO est utilisée pour produire un son à l'aide la fonction tone().
Chaque note est représentée sous la forme d'une structure :
  • la note (DO, RÉ, MI, etc.)
  • le tempo (NOIRE, BLANCHE, CROCHE, etc.)
  • l'octave
Une partition, avec un peu d'entraînement, pourra être traduite assez facilement.

Les partitions sont des fichiers binaires produits sur le PC à l'aide d'un logiciel écrit en C.

Elles sont stockées ensuite sur une SDCARD pour être jouées par l'ARDUINO.

Un bouton-poussoir permet de passer au morceau suivant.

2. Le matériel

Pour réaliser ce montage il vous faudra :
  • un ARDUINO NANO, UNO, MINI, etc.
  • un petit haut-parleur de quelques watts
  • une résistance de 1K
  • un condensateur électrolytique de 10µF
  • un lecteur SDCARD SPI
  • un bouton-poussoir

3. Les branchements

Vous allez simplement brancher votre haut-parleur avec la résistance et le condensateur en série sur la pin D9 et alimenter l'ARDUINO par le cordon USB.
Le bouton-poussoir est branché entre D8 et GND.

Le condensateur est optionnel. Vous n'allez pas abîmer le haut-parleur ou l'ARDUINO en l'omettant. La résistance les protège. Utilisez une résistance de valeur plus élevée si vous désirez un son plus faible.

Le lecteur SD est connecté comme ceci :


Certains modules peuvent être alimentés en 5V, d'autres non.

4. L'IDE ARDUINO

Il vous faudra installer la bibliothèque ARDUINO suivante :

Pour récupérer la partie logicielle, voir plus bas : 7. Téléchargements.

C'est une archive contenant le sketch ARDUINO, le logiciel de génération des partitions en C, ainsi que 5 partitions toutes prêtes.
Le logiciel de génération des partitions est fourni compilé pour tourner sous LINUX. Sous Windows, il faudra le compiler en utilisant un compilateur GCC.
De nombreux tutos sont disponibles sur le WEB dont celui-ci :

5. Jouons

Branchez le câble USB sur l'ARDUINO. Insérez la MICRO-SD dans le lecteur.
Téléversez le sketch. C'est tout !
Sur le moniteur série, un premier message apparaît au démarrage :
 
card initialized. 

Celui-ci peut apparaître :

Card failed, or not present

Dans ce cas, vérifiez les branchements du module SDCARD et que la SD soit bien insérée.
 
Si tout va bien vous aurez le plaisir d'entendre :
  • la marche impériale
  • le french cancan
  • fireworks
  • la marseillaise
  • une musique baroque

6. Conclusion

Ce montage peut servir de base à la réalisation d'un carillon de porte d'entrée par exemple.
Il faudra certainement améliorer l'interface entre l'ARDUINO et le haut-parleur pour obtenir plus de puissance. Il est possible d'intercaler un petit amplificateur entre le condensateur de sortie et le haut-parleur, avec bien sûr un potentiomètre de volume.

Il existe des amplificateurs que l'on peut directement alimenter en 5V :

7. Téléchargements

Le logiciel : https://bitbucket.org/henri_bachetti/musical-arduino.git

Dans le répertoire music2bin se trouve un source écrit en C : music2bin.c 

Il contient 5 morceaux :

  • french_cancan
  • marche_imperiale
  • royal_fireworks
  • marseillaise
  • baroque

Il faut compiler ce fichier à l'aide de GNU GCC ou un autre compilateur C sur PC. Son exécution produira 5 fichiers ayant l'extension .zic, que l'on copiera sur la carte SD.

On peut bien entendu ajouter des morceaux dans le source, c'est d'ailleurs la partie la plus ardue du projet, une personne ayant l'habitude de lire une partition aura plus de facilité.


Cordialement
Henri

Aucun commentaire:

Enregistrer un commentaire