Introduction: Thérémine Ou La Boite À Musique

Notre production s'inspire du thérémine, un instrument qui se joue en faisant varier un champ magnétique.

L'idée est donc ici d'avoir une boîte produisant un son qui se contrôle d'une main pour la fréquence et de l'autre pour l'intensité sonore.

Supplies

Le matériel nécessaire est assez rudimentaire, il faut :

  • un contrôleur type Arduino,
  • un haut-parleur,
  • une résistance (car l'impédance du haut-parleur est trop faible pour l'Arduino),
  • 2 capteurs de distance. Ici, on prendra des capteurs IR (Sharp 2D120X).

Vous trouverez en image le schéma plutôt simple du montage électrique.

Step 1: Objectifs Et Cahier Des Charges

Notre objectif est donc de produire une boîte à musique.

Notre cahier des charges se résume ainsi :

  • Pouvoir générer un son audible et agréable.
  • Contrôler la fréquence avec une main (sans toucher l'instrument), de quelques Hz à plusieurs kHz sur une course d'une vingtaine de cm.
  • Contrôler l'intensité avec une main (sans toucher l'instrument), de 0 à 50 dB environ (voix humaine) sur une course d'une vingtaine de cm.
  • L'instrument est miniaturisé, mesurant au maximum 20 cm mais le plus petit possible.
  • L'esthétique est sobre et design.

Step 2: Programmation

Le code est, sur le fond, assez simple.

En premier lieu, nous déclarons les composants et quelques variables qui nous seront utiles pour traiter les données de distance des deux mains.

Ensuite, dans la boucle (loop), les valeurs des capteurs de fréquence et d'intensité sont lues à l'aide des fonctions analogRead().

Les valeurs (de tensions) lues sont converties en valeurs physiques de fréquence et d'intensité à l'aide des fonctions Convert_volt_tone() et Convert_volt_inten().

En fonction de l'intensité lue, le buzzer est activé avec une fréquence de son correspondant à la fréquence lue. La fréquence est convertie à l'aide de la fonction tone(), qui génère un signal de tonalité sur le buzzer.

On constate là déjà un premier échec où nous ne réussissons pas à faire varier l'intensité du son. Le capteur destiné à l'intensité n'a donc pour seule fonction que de jouer ou non le son.

Les fonctions Convert_volt_tone() et Convert_volt_inten() convertissent les valeurs analogiques lues en tensions en valeurs physiques de fréquence et d'intensité.

Pour aller plus loin...

Il existe également les fonctions setupPWM() et toneWithCustomDutyCycle() qui semblent être des tentatives pour contrôler le rapport cyclique (duty cycle) d'un signal PWM sur une broche spécifique, mais ces fonctions ne sont pas utilisées dans le code principal. Effectivement, nous pensions pouvoir régler l'intensité comme cela mais ce n'est pas le cas. Changer le duty cycle ne modifie pas la course de la membrane du haut-parleur et donc ne modifie pas l'intensité du son.

En fin de code, en commentaire, il y a une tentative d'utilisation de transistor mais sans succès.

Attachments

Step 3: La Boite

Le projet a d'abord été imaginé en CAO.

Initialement, les parties inférieure et supérieure devaient être imprimées en 3D et les côtés, étant en 2D, devaient être découpés avec la découpeuse laser en MDF.

Finalement, nous avons tout fait en impression 3D car la découpeuse laser ne fonctionnait plus. Nous n'en sommes pas moins satisfaits car cela apporte une unité dans le design global.

Des éléments décoratifs sont ajoutés pour expliquer brièvement l'utilité de la boîte, à savoir qu'un côté contrôle la fréquence et l'autre, le volume. Ces éléments étaient initialement prévus pour être gravés à la découpeuse laser mais ont finalement été extrudés en 3D avec l'imprimante.

Concernant le jeu, nous avons fait le choix d'en mettre le minimum sur les côtés afin de garantir un encastrement des pièces entre elles, ce qui nous a permis de ne pas utiliser de colle à ce niveau. Nous avons, au contraire, laissé un jeu plus important sur le dessus de la boîte afin de pouvoir ouvrir et fermer le couvercle facilement, nous permettant ainsi d'accéder facilement au contenu de la boîte. Nous avons laissé des espaces sur les côtés pour insérer les capteurs de positions et le câble d'alimentation. Le haut-parleur, quant à lui, est facilement amovible du couvercle.

Enfin, un couvercle supplémentaire permet de cacher le haut-parleur tout en laissant passer le son, permettant ainsi d'avoir un rendu assez épuré et esthétique.

Step 4: Résultat

Voici ce qu'on obtient comme produit presque fini !

Step 5: Difficultés Et Amélioration

Les principales difficultés étaient :

  • Le chapeau à cause du haut-parleur, ce qui a nécessité une réimpression.
  • Travail et test pour l’encastrement des joues de la boîte.
  • Essayer de faire varier l'intensité par tous les moyens (pont diviseur de tension, DutyCycle...).

Les améliorations possibles sont donc :

  • Une vraie variation d’intensité sonore.
  • Une plus grande fluidité dans le changement de ton (valeur entière,...).
  • De meilleurs capteurs pour un signal plus fiable et une plus grande envergure de variation (plus réactifs et précis, autre technologie (magnétique...)).
  • Une boîte en bois avec une découpe laser.

Step 6: Sources

Images :

www.rtbf.be/article/quest-ce-quun-theremine-10067525

woodandfirestudio.com/fr/theremin-intrument/

arduino.cc

www.manomano.fr/

www.amazon.fr

www.arduitronics.com

www.tinkercad.com/

electricalacademia.com

Pour la réalisation :

Pour générer des sons https://ledisrupteurdimensionnel.com/arduino/creer-des-sons-avec-arduino-buzzer/

Pour (essayer) de modifier l'intensité en changeant le duty cycle : https://passionelectronique.fr/pwm-arduino/

Pour récupérer les données des capteurs : https://www.aranacorp.com/fr/utilisation-dun-capteur-de-distance-gp2y0a21/