3615 NOEL : un projet basé sur un Raspberry Pico interfacé avec un Minitel pour contrôler les lumières de votre sapin de Noël : un ruban LED (WS2812B) et les LEDs montées sur l'étoile !
Le projet PicoTel nous a permis d'interfacer le Raspberry Pico avec le Minitel.
Matériel nécessaire
- Un minitel (Lien Leboncoin)
- Un Pico W (Lien Amazon)
- Carte d'extension pour Raspberry Pico (Lien Amazon)
- Breadboard (Lien Amazon)
- 4 Channels Logic Level Converter Bi-Directional Shifter Module (Lien Amazon)
- LEDs jaunes pour l'étoile (Lien Amazon)
- Résistance 220 ohms (Lien Amazon)
- Prise DIN 5 broches male (Lien Amazon)
- Pinces crocodiles vers connecteur USB (Lien Amazon)
- Ruban leds WS2812B (AliExpress ou Amazon)
Résumé du fonctionnement
- Le Pico est connecté au Minitel via le port DIN en utilisant 3 pins : TX, RX, ground
- Le Pico communique avec le Minitel au travers d'un convertisseur de 4 niveaux et une liaison série (librairie UART)
- Les informations sont affichées sur l'écran du Minitel : commandes, état LED, température
- Les touches du clavier sont envoyées au Pico pour exécuter les commandes correspondantes.
- Le Pico contrôle
- le ruban LED avec la librairie Neopixel,
- le Pico contrôle la ou les LEDs de l'étoile du sapin par un port GPIO.
- La capteur de température du Pico permet d'afficher la température à l'écran du minitel
- Liste des fonctions
- Piloter la LED de l'étoile du sapin de Noël : allumer, éteindre, clignoter
- Piloter le ruban LED (plusieurs modes ou programmes disponibles)
- Mesurer la température de la pièce
Procédure d'installation
Voici le schéma pour brancher le Raspberry Pico avec le Minitel via le port DIN, le ruban led, et les leds (étoile sapin).
Soudure
Cette opération est délicate,
il est recommandé de consulter des tutos sur Internet (ex : YouTube)
pour la soudure de câbles sur les broches d'une prise DIN.
Il faut souder les 3 fils sur la prise DIN 5 broches comme présenté ci-dessous (attention au sens) :

Connecter le ruban LEDs
Il est possible de connecter plusieurs rubans leds en série. Le nombre total de LEDs doit être adapté dans le code source, fichier ledstrip.py, variable numpix = 1020 (nombre leds par défaut).

Quand vous avez plus de trois ruban LEDs il faut connecter des alimentations suplémentaires, sinon il n'y a pas assez de courant. Dans l'exemple ci-dessous, les LEDs sont censées être affichées en blanc, mais le problème est que le manque de courant change la couleur (jaune).

Pour rajouter des alimentations, vous pouvez regrouper 3 guirlandes avec une alimentation dédiée.
Pour notre installation, nous avons 3 groupes de trois guirlandes de 2m avec 120 LEDs
- Le premier groupe est alimenté par le Pico (en partant du ruban connecté au Raspberry Pico) : aucune action n'est nécessaire
- Les groupes supplémentaires doivent être reliés entre eux et branchés sur une alimentation dédiée :
- Réunir un groupe de guirlandes
- Souder les 4 cables pour relier les blancs et rouges omme-ceci : (attention ne pas souder les groupes entre eux.)
- Protéger les soudures avec du scotch pour éviter des courts-circuits :
- Le premier ruban led du groupe doit être soudé à 2 cables (+,-) de longueur suffisante (ex : 2m) qui seront reliés à l'alimentation dédiée.
- Protéger les soudures avec du scotch :
- Connecter les longs cables avec les pinces crocodiles de l'alimentation :
- Relier les groupes de rubans entre eux, puis les connecter sur une alimentation avec une prise USB dédiée.
Code Source
Le code source est disponible depuis GitHub
Copier les 3 fichiers sur le Raspberry Pico.
Exemple avec Thonny : ouvrir chaque fichier .py, menu Enregistrer sous, et sélectionner Raspberry Pico.

Le fichier main.py s'exécute automatiquement au lancement du Raspberry Pico.
Démarrer
IMPORTANT : à chaque lancement du pico et du Minitel, il faut configurer le Minitel en mode terminal à l'aide de la séquence suivante de combinaisons de touches.
- Fnct sommaire : mode Répertoire au mode Terminal
- Fnct t puis a : mode périphérique USA
- Fnct t puis f : mode français
- Fnct t puis e : désactiver l'écho local
- Fnct p puis 4 : 4600 bauds
- Fnct p puis 9 : 9600 bauds (minitel 2 uniquement, non testé)

Au lancement, la page 3615 Noel s'affiche (cf. explications plus bas), le ruban affiche toutes les couleurs (mode Arc en ciel), et l'étoile du sapin clignote.
Etoile sapin de Noël
Dans l'exemple suivant, 2 cables ont été tirés du breadboard vers l'étoile du sapin dans laquelle un petit breadboard a été intégré avec 3 LEDs en parallèle. Les 3 LEDs doivent tous être de la même couleur pour fonctionner (ex : jaune).

Utilisation
Après avoir allumé le minitel et appuyé sur les touches pour le configurer en mode terminal, brancher le Pico.
L'écran suivant doit s'afficher sur le Minitel suivi d'un bip.

Contenu :
- Ligne 1 : état de la LED à installer sur l'étoile du sapin, et température mesurée par le Pico.
- Ligne 2 : instructions pour piloter la LED de l'étoile du sapin -> L0 pour éteindre, L1 pour allumer, LC pour clignoter.
- Ligne 3 : nombre de LEDs configurées pour le ruban, état de la luminosité du ruban, contrôle pour réduire ou augmenter la luminosité (1 = - ou 2 = +). Le changement est pris en compte à la prochaine modification de couleur ou lors du clignotement.
- Ligne 4 & 5 : informations sur le programme ruban LED en cours (sur 1 ou 2 lignes).
- Ligne 6 & 7 : liste des codes couleurs, B = blanc, BL = bleu, J = jaune, M = marron, O = orange, R = rouge, V = vert, VI = violet. X = couleur ax hasard (lorsque C est activé, la couleur change à chaque clignotement).
- Ligne 8 : utilisation du code RGB pour appliquer une couleur personnalisée sur toutes les LEDs du ruban, ex : 255,0,0 = rouge.
- Ligne 9 :
- Instructions pour contrôler le ruban led, 0 = éteindre, code couleur (R, V, ...) = mettre à jour toutes les leds du ruban avec la couleur.
- Le caractère * permet de recharger le contenu de l'écran. Cette fonctionnalité a été mise en place pour permettre de recharger l'affichage après avoir éteint
puis rallumé le Minitel.
Important : il peut être utile d'éteindre le Minitel une fois les choix réalisés pour éviter qu'il ne chauffe trop. - Ligne 10 : gestion du clignotement du ruban led.
- C = activer/désactiver le clignotement
- C
= vitesse clignotement en ms - CP ou CM pour augmenter ou réduire la vitesse.
- CA = clignotement progressif pour le programme algorithme (inactif pour les autres programmes).
- Ligne 11 : programmes
- P1 : arc en ciel
- FR : drapeau français
- A : mise en place d'un algorithme = sélection d'un nombre de couleurs pour définir une série. Exemple : 3 couleurs Bleu + Blanc + Rouge répétées tout le long du ruban (bleu blanc rouge bleu blanc rouge bleu blanc rouge ...)
- D : fonction dégradé de couleurs = choix de 2 couleurs pour appliquer un dégradé, ex Jaune -> Bleu, Rouge -> Violet, etc.
Vidéos de présentation
Voici des videos qui présentent notre projet.
Changement de la couleur du ruban led, activation du clignotement, et modification de la vitesse de clignotement.
Utilisation du mode algoritme pour afficher une série de couleurs.