PixelSaber

De HackerLab
Aller à : navigation, rechercher

Le PixelSaber est une barre de LEDs permettant de pratiquer une forme de light painting évoluée. Ce projet est un clone du PixelStick.

Principe de fonctionnement

Le PixelSaber est composé de 288 LEDs RVB pilotées individuellement par un contrôleur. Par ailleurs, le contrôleur est doté d'un lecteur de carte SD. Le principe de fonctionnement du contrôleur est relativement simple : la carte SD contient des fichiers image, ces images (matricielles) sont composées de pixels arrangés en ligne et/ou colonne. Le contrôleur ouvre l'un de ces fichiers image (en fonction de la configuration de l'utilisateur), vient lire la première ligne de cette image, puis envoie la couleur de chacun des pixels composant cette ligne aux LEDs correspondantes de la barre. Ainsi la ligne s'affiche sur la barre. Une fois cette opération terminée, le contrôleur recommence avec la ligne suivante jusqu'à atteindre la dernière ligne. Il est à noter que les lignes des images utilisées doivent avoir autant de pixels que la barre à de LEDs.

Le contrôleur possède une interface de configuration permettant à l'utilisateur de choisir différentes options comme changer l'image, répéter celle-ci (lecture en boucle), inverser le sens de lecture ou encore calibrer les couleurs des LEDs. Dans notre cas la configuration se fait par le biais d'une interface Web accessible en WiFi à l'aide d'un smartphone ou d'une tablette.

Choix technologique

Électronique

Les leds utilisées sont des WS2812B, ces leds RVB ont la particularité d'intégrer chacune un micro-contrôleur qui pilote les 3 couleurs et avec lequel on communique un code couleur via une liaison série sur un seul fil. Elles ont aussi cette autre particularité qui est que leur liaison série peuvent être branchés en cascade, ainsi il est possible de commander plusieurs dizaine, voire centaine, de leds avec une seule liaison série, un seul fil. Dans notre cas, le PixelSaber utilise des rubans de leds (sécable) déjà fait. Ces rubans sont disponible en plusieurs densité : 30 leds/m − 60 leds/m − et 144 leds/m. La densité maximale a été choisie, avec 2 mètre de ruban.Le contrôleur est quant à lui construit autour d'un micro-contrôleur ESP12-E, embarquant la puce µC ESP8266 et une mémoire flash de 4 Mo. Ce micro-contrôleur cadencé à 80Mhz dispose d'une liaison WiFi intégrée. Autour de l'ESP12-E on trouvera notamment un connecteur de carte SD, un module accéléromètre/gyroscope 3 axes MPU6050, ainsi qu'un « extender » de GPIO MCP23008. Dans l'état actuelle du projet, le module MPU6050 n'est pas encore exploité. Quant au MCP23008, lui est là pour palier le faible nombre de GPIO disponible sur l'ESP12-E.

Étant donné que l'ESP12-E fonctionne en 3.3V alors les leds WS2812B fonctionnent, elles, en 5V nous avons besoin d'un « Level Shifter » pour adapter la tension de sortie du micro-contrôleur à la tension d'entrée des leds. Ce travail est fourni par la puce 74AHCT125N.

Pour ce qui est de la partie « alimentation », le choix c'est porté sur une batterie Li-Po de 2200 mA/h délivrant une tension de 11.1V et un courant continue maximum de 44A. Cette batterie, surdimensionnée, est couplée à deux régulateur de tension 5V / 10A qui alimente directement les rubans de leds ainsi que le contrôleur.

Mécanique

Le PixelSaber est une barre de 2 mètres principalement composé de pièce d'aluminium. Étant donné la grande taille, il est nécessaire qu'il soit démontable pour le transport. Ceci se fait en 3 parties : 2 barres d'un mètre chacune embarquant les rubans de leds, et une platine centrale permettant le montage des 2 barres sur sa partie avant, et accueillant le contrôleur et l'alimentation sur sa partie arrière. Le PixelSaber possède aussi un bras articulé − monté sur rotule − venant se fixer à l'arrière de la platine et permettant de manipuler l'ensemble.

Partie électronique

Schéma du contrôleur
Schéma du contrôleur

Partie mécanique

Partie programmation