Un mur interactif de 200 boutons - des led, du son et effets audio interactif avec Arduino

Une petite vidéo sur un projet interactif à base d'Arduino Uno, Arduino Micro, de music maker shield, shield DMX et une bonne dose d'ingéniosité.

Ce projet réalisé pour le centre des sciences de Carnegie (près de Pittsburgh USA) permet de produire de nombreux effets audios et permet également d'animer certains éléments de la pièce via DMX (ex: modification d'éclairage, lâché de balles, machine à bulle).

Derrière le panneau, se cache un bel assemblage électrique et une astucieuse utilisation du bus I2C.

Je vous propose de regarder la vidéo proposée par Doug (anglais).


Contrôleurs de bouton
Chaque rangée de 10 boutons est contrôlé par un Arduino Micro (voir ci-dessous). Il y a donc 20 Arduino Micro pour contrôler les 200 boutons.
Contrôle d'une rangée de 10 boutons (via ruban multicoleur) par un Arduino Micro (sur la droite).
Chaque Arduino Micro vérifie si l'un des boutons de sa rangée est pressé et enregistre l'information dans l'attente de pouvoir le délivrer.
Tous les Arduino Micro sont des esclaves I2C raccordés sur un bus I2C (le ruban gris). Le ruban gris distribue les signaux du bus I2C et l'alimentation vers les 20 Arduino micro.

Les Arduino micro ont des adresses I2C allant de 0 à 20 sur le bus.

Truc & astuce: Chaque Arduino Micro est branché sur le bus (le ruban gris) en utilisant des connecteurs IDC. Cela permet de brancher une rangée de broche du Micro et laisse l'autre rangée de broches disponible pour le ruban allant vers les boutons.
Utiliser des connecteurs IDC pour créer un bus
entre des arduino Micro

Le maître I2C

A l'autre bout du bus I2C se trouve un Arduino Micro agissant comme maître du bus I2C (image ci-dessous).

Ce dernier Arduino micro, maître du bus I2C, interroge les différents Arduino micro du bus I2C pour collecter les données à propos les boutons pressés sur le panneau.
Il affiche également le résultat des interrogations sur un afficheur I2C.

Ce maître du bus I2C envoi également des ordres vers les différentes cartes Audios (Arduino Uno + Music Maker Shield) afin jouer les sons correspondants aux pressions des boutons.

Les cartes audios
Les cartes audio sont des Arduino Uno + Music Maker Shield. Le Music Maker Shield permet à un Arduino de jouer des fichiers audio (MP3 ou OGG) stockés sur une carte SD.
Le Music Maker Shield est commander par un Arduino Uno, Arduino qui est également esclave du bus I2C et qui reçoit ses ordres du maître du bus I2C (l'Arduino Micro présenté au point précédent).
Arduino Uno (esclave du bus I2C) + Music Maker Shield
Comme il y a plusieurs zones du local où des sons sont émis (le local est assez grand), les effets audio ont été réparti sur 5 cartes audios (arduino + music maker shield).
Chacune des cartes audio prend en charge le rendu audio dans une partie du local (via un amplificateur audio et haut-parleur).

Interface DMX + relais
Un dernier Arduino (toujours esclave du bus I2C) permet de contrôler un shield DMX et une carte relais.
Le shield DMX permet de commander des effets lumineux à distance (suite à la pression d'un bouton), la machine à bulle (via un relais DMX).

Vous noterez, sur la droite, une boîte blanche. Il s'agit d'un contrôleur de ruban LED RGB, ruban LED qui est "enroulé" autour du boîtier 200 boutons.
Le relais de droite (de la carte 8 relais) est branché sur le bouton "mode" du contrôleur LED. C'est une façon pratique de modifier régulièrement l'animation des LEDs autour du boîtier. 

Ressources
Plus d'information sur ce post