Marches piano

https://github.com/werdeil/marche_piano

Présentation

Le but de ce projet était de réaliser un dispositif simple et facile à installer permettant de transformer les marches d’un escalier en piano. Ce dispositif serait ensuite branché à un système son par l’intermédiaire d’une prise jack standard pour diffuser les différents sons.

Ce projet a été développé à l’origine pour le festival Tout-Petits Cinema 2015 du Forum des Images. Il a été utilisé durant tout le festival.

Exigences du projet

  • 16 marches de l’escalier seront équipées, chaque marche faisant environ 2,5 m de largeur,
  • Le dispositif doit fonctionner sans interruption pendant la journée et nécessiter le moins de maintenance possible,
  • Au moins 8 types de sons sont à prévoir et la possibilité d’en ajouter doit être facile,
  • L’interface doit être simple.

Réalisation

Le projet se découpe en trois parties: les barrières/capteurs, le boitier central et le logiciel.

Les barrières/capteurs

L’ensemble émetteurs/capteurs est réalisé par l’intermédiaire de diode et de capteurs infrarouges. Ils sont constitués de deux cartes électroniques à insérer dans deux boîtiers de même taille et à disposer de chaque coté de la marche. D’un coté, l’émetteur de la barrière émet des rayons infrarouge vers le récepteur. De l’autre coté le récepteur de la barrière infrarouge analyse en permanence les rayonnements infrarouge reçus. Généralement, le récepteur reçoit toujours la même quantité de rayonnement du récepteur. Dès que le récepteur ne reçoit pas convenablement les rayonnements émis par l’émetteur de la barrière, la barrière comprend qu’un corps est placé dans son champ. C’est le déclenchement du signal.

Le boitier central

L’ensemble des capteurs sont reliés entre-eux et à une des extrémités du fil se trouve le boitier central. Le boitier central contient une alimentation, un Raspberry Pi, toute la connectique vers les capteurs ainsi que deux boutons poussoirs avec LED intégrée, l’un permettant le démarrage et l’arrêt du système, l’autre servant à changer de type de son.

Ce micro-ordinateur possède un carte SD/microSD contenant le système d’exploitation et le programme du projet. Cette carte SD sera aussi le moyen de modifier à posteriori certaines capacités du projet (ajout de sons, changement de la période de changement en mode automatique).

Le code

Le logiciel est développé en utilisant le langage Python et est toujours disponible sur son repository Github.

Principe de fonctionnement

Dès le démarrage du Raspberry Pi le programme se lance automatiquement, évitant tout besoin de manipulation. À chaque capteur est associé un son, ce son est diffusé lorsque quelque chose obstrue le chemin entre l’émetteur et le capteur.

Deux modes de fonctionnement sont prévus, le mode avec changement automatique des sons et le mode manuel.

Dans le mode avec changement automatique le type de son change automatiquement au bout d’une certaine période de temps (configurable, valeur initialement prévue 60 minutes). Ce mode permet d’avoir un ensemble varié de sons tout en ne nécessitant aucune action de la part des équipes.

Dans le mode de changement manuel le bouton poussoir 2 est utilisé pour changer entre les différents types. Chaque pression permet de passer au type suivant (l’intervalle entre les pressions doit être supérieur à 1s environ).

Le passage mode automatique/mode manuel se fait par le bouton poussoir 2, le mode automatique étant un des modes sélectionnés (lumière du bouton 2 allumée dans ce mode).

Choix des sons

L’ensemble des sons correspondant à un type est regroupé dans un dossier, idéalement le nom de ce dossier commence par une numérotation pour permettre un classement plus simple pour la machine. L’ensemble de ces dossiers se trouve lui même dans le dossier sounds de la carte SD.

Pour chaque type les sons doivent être numérotés dans l’ordre désiré, si il y a plus de sons que de capteurs les sons en trop ne seront pas utilisés.

Les sons utilisés dans le projet ont été principalement extraits du site http://www.freesound.org/ qui est une base de données collaborative proposant une panoplie de sons sous licence libre.

Le choix spécifique des sons peut être fait à posteriori, le code se servant des dossiers et des noms des fichiers pour déterminer les sons à jouer. De même les sons sélectionnés peuvent être changés facilement.

Le projet est livré avec 8 jeux de sons : piano, guitare, glockenspiel (petit xylophone), batterie, klaxons de voitures, animaux de la ferme, animaux sauvages et gouttes d’eau.

Retour d’expérience

Je m’étais lancé dans ce projet sans trop savoir ce que cela impliqué comme développement mais surtout comme fabrication. La principale difficulté a été de trouver des capteurs qui fonctionnent à 2,5m en milieux lumineux. Une fois le choix de capteurs de portail fait la deuxième difficulté a été de les chainer, en effet il faut pouvoir identifier quel capteur a détecté le passage tout en évitant d’avoir 16 cables différents, j’ai donc découvert le protocole i2c, mais j’ai aussi dû souder 16 chips i2c et les intégrer dans les capteurs. Ça a donné des nuits courtes à souder jusque tard dans la nuit et des tests pour trouver mes défauts de soudure.

Au final j’étais très fier d’avoir réalisé le projet et d’avoir vu des enfants s’amuser avec. Malheureusement depuis ce festival l’ensemble du dispositif est resté dans son état, je n’ai jamais réalisé les finitions que je souhaitais.