Bonsoir,
Après un long weekend reposant, je me remets enfin au taf
Je vais reprendre l'histoire depuis le début, je m'étais peut-être mal exprimé.
But du projet :Un ami modéliste m'a demandé de lui faire un
décodeur DCC pour qu'il puisse piloter son éclairage d'ambiance
avec sa centrale. L'éclairage d'ambiance est déjà en place et est réalisé à base de
ruban led RGB piloté pour l'instant par une télécommande.
Le pilotage de l'éclairage consiste en deux points :
- Dans le mode normal, l'éclairage sera de couleur blanche et il sera possible de modifier en live les 3 composantes (RGB)
- Lorsqu'on appuie sur une touche de fonction, cela lance l'animation auparavant associée. (ex : cycle jour / nuit, lever de soleil, ...)
Son cahier des charges ne va pas plus loin que ça, mais c'est déjà un début
Recherches de solutions:Il existe de nombreux exemples de réalisation de décodeur DCC avec des uC, ce point ne m'inquiète donc pas trop.
Le point qui m'inquiète plus, c'est la programmation des animations : il faut trouver quelque chose pour permettre à un utilisateur lambda de programmer simplement ses propres animations. Je me voyais mal donner un décodeur à mon ami et qu'il doive programmer des dizaines de CV juste pour faire une simple animation...
C'est là que m'est venue l'idée de l'utilisation du Wi-Fi.
Pour donner l'idée globale, j'ai fait un corquis de l'interface web :
L'idée est d'avoir une sorte de tableau dans lequel on associe à chaque touche de fonction son animation.
On peut ainsi choisir
- le nombre de couleurs dans le cycle
- les différents temps (durée de la couleur, durée de la transition)
- et on peut sélectionner facilement les couleurs désirées : il suffit simplement d'appuyer sur la case de la couleur à modifier :
Peut être bien que d'utiliser une interface web pour ça, c'est se compliquer la vie, mais c'est ce que j'ai trouvé de plus simple et de plus intuitif pour l'utilisateur.
Solution technique:Comme vous l'aurez surement compris, je suis parti sur un ESP12-E.
Ce petit chip me permet de
- Décoder les trames DCC
- Créer un point d'accès wifi pour que l'utilisateur puisse s'y connecter directement (pour l'instant, il n'est pas question de connecter le décodeur à un réseau local ou à internet)
- Créer un portail captif (le serveur DNS redirige toutes les pages d'internet vers une seule et même page, celle de la configuration du décodeur)
- Stocker les fichiers HTML dans son système de fichier interne
- Piloter le ruban led RGB via PWM
J'ai commencé à faire le schéma du prototype, il manque entre autre la partie d'alimentation (je ne me suis pas encore fixé sur le régulateur 3V3) :
Voilà, vous savez tout maintenant. N'hésitez pas à me dire si je n'ai (encore) pas été clair sur certains points