# DmxStripLED

## 1. Projet
Ce projet est une réalisation dans le cadre de mon stage en entreprise au **[labo du FLORIDA à Agen](https://www.le-florida.org/studio-5/)**, le but étant de réaliser un pilotage de **ruban led adressable** en parrallèle d'un projecteur **DMX** pour un groupe local du nom de AA. L'objectif étant de pouvoir faciliter l'initiation à la musique à des enfants en situation de handicap, avec l'utilisation de codes couleurs utilisé pour ce repérer sur les notes d'un instrument à jouer. 

## 2. Réalisation
Ce projet a été réalisé en plusieurs étapes .
- **Conception**
- **Programmation**
- **Création**

### Conception
J'ai donc d'abord participer à la conception du projet en prenant connaissance du **cahier des charges** qui comportais différents points.
- Utilisation de footswitch.
- 2 banques de couleurs(comprenant chacune 5 couleurs).
- Changement de couleurs sur changement d'état.
- Utilisation de cables xlr (3 ou 5 points).
- Transport et utilisation facile.

J'ai donc d'abord fait le choix des composants en ligne pour voir à combien aller s'élever les coups pour la réalisation du projet. (Je vous le met dans *[Recette](https://gitlab.com/olivier.forabosco05/dmxandstripled/-/blob/main/Recette_DMX.ods)*)
Et pour ce projet j'ai donc décidé d'utiliser les composants suivants.
- Une carte **Teensy 3.6** .
- Un ruban led adressable **WS2812b** .
- 5 footswitch .
- Un boitier métallique de 249x66x48mm .
- Un module **RS485 MAX485** .
- Une prise xlr femelle .
- Un ou plusieurs projecteur **DMX** .
- Une alimentation 5V.

Avec ces composants la réalisation de ce projet est accessible à tous.

### Programmation
Pour la programmation rien de bien compliquer j'ai utilisé une Teensy 3.6 qui se programme de la même manière qu'une Arduino, en téléchargent l'extension **[Teensyduino](https://www.pjrc.com/teensy/teensyduino.html)**.
Si j'utilise une Teensy dans se projet c'est en grande partie grâce à son avantage principale qui est la taille car une Teensy est bien plus compact et fine qu'une Arduino tout en remplissant la majeur partie du travail d'une Arduino.
J'ai aussi utilisé différentes librairies pour me faciliter la tâche.
J'ai usé de ces bibliothèques:

- DmxSimple.h 
    - (Pour le pilotage du **projecteur DMX**).
- Adafruit_NéoPixel.h 
    - (Pour le pilotage des **LEDS**).
- Switch.h 
    - (Pour les **changements d'état** des footswitch).

Toutes ses librairies sont disponibles sur [GitHub](https://github.com/) ou dans le gestionnaire de projet directement disponible dans Arduino.
Durant la programmation j'ai fait face à plusieurs problèmes de code toujours réglé grâce au différentes bibliothèques disponibles. Et si je peux vous donner un conseil, vérifiez bien que le DMX de votre projecteur fonctionne, car le miens n'avait que la partie DMX qui ne fonctionné pas donc autant vous dire que les heures perdues à tester du code dans le vide aurait pue m'être bien plus utile . Le code est disponible dans la section *[Code](https://gitlab.com/olivier.forabosco05/dmxandstripled/-/blob/main/Programme_finalDMXLED.ino)* .

### Création
Pour la concrétisation de se projet le but seras d'assembler tous ses éléments pour former une seule entité. Ce n'est pas encore le cas du au fait que le matériel ne sois pas encore disponible et que le groupe soit en stand-by en raison des règles sanitaires en vigueur.
Ce projet seras donc réalisé et concrétisé tôt ou tard mais pour l'instant il reste à l'état de simple code.
