Qu’est-ce que c’est?
Lumivélo est un système de décorations lumineuses installées sur les huit vélos de parents et d’enfants participant au tour de l’île de Montréal la nuit. Les lumières sont toutes contrôlées à distance grâce à une « boîte magique » au-dessus de laquelle les enfants passent des cartes de plastique qui commandent le changement simultané des couleurs et motifs lumineux de toute la flotte! Au-delà de son effet décoratif, le système permet de constituer un groupe visible dans lequel les jeunes cyclistes peuvent évoluer à leur rythme, à l’abri du flot rapide des milliers de vélos participant au rassemblement. Il s’agit d’un projet réalisé en équipe par 4 papas et leurs enfants! Illustration résumée en une image (noter la carte de couleur et la boite dans la main de l’enfant du grand vélo à l’avant):

Projet Lumivelo

Comment ça marche?

Schema_Lumivelo_Fr

Chacun des huit vélos embarque un système comportant:

(1) une bande de 30 à 300 LEDs RGB de type WS2812 (chaque LED de la bande peut être commandée individuellement en terme de couleur et d’intensité lumineuse),

(2) un module de contrôle patenté à partir d’un ESP8266 (puce ne coûtant que quelques dollars et qui comprend un microcontrôleur + un module wi-fi intégré) et de quelques composants accessoires (convertisseur DC/DC, connecteurs, interrupteur, résistance de tirage etc.),

(3) une batterie de 6V 4Ah au plomb,

(4) un interrupteur magnétique monté sur le cadre du vélo au niveau d’un aimant fixé sur les rayons pour détecter les tours de roue.

Un module complet et de quoi en faire 4 autres!

Un module complet et de quoi en faire 4 autres!

Une « boîte magique » unique sert à commander le tout. Elle contient un nano-ordinateur Raspberry Pi, une clé wi-fi, un microcontrôleur Arduino, un lecteur de cartes RFID sans contact et une alimentation autonome par batterie.

boite magique

Un ensemble de cartes qui contiennent toutes une puce RFID unique. Chaque carte est associée à une séquence de lumière de notre choix.

Les cartes décorées par les enfants.

Les cartes décorées par les enfants.

Fonctionnement
Lorsque les modules de lumière sont allumés, les LEDs s’allument selon une séquence que l’on a programmé d’avance. Actuellement, il s’agit d’une sorte de train multicolore qui oscille sans fin d’un bout à l’autre de la bande LED. A chaque tour de roue, le train fait demi-tour et revient sur ses pas. Le module est aussi en mode d’attente et prêt à changer la séquence de lumière si un message arrive. Exemple:

L'éclair

L’éclair

Lorsque la boite magique est allumée, passé un démarrage d’une quinzaine de secondes, un réseau wi-fi est automatiquement créé et la boîte est en mode attente. Si quelqu’un passe une carte au-dessus de la boîte (quelques centimètres de portée), l’identité de la carte est reconnue par la boîte magique qui envoie immédiatement par wi-fi l’ordre de changer la séquence de lumière. Tous les modules qui reçoivent le message s’exécutent immédiatement. Le tout prend quelques dixièmes de secondes!

On teste la rapidité du système en passant plusieurs cartes l'une après l'autre: quelques dixièmes de seconde pour passer d'une séquence à l'autre!

On teste la rapidité du système en passant plusieurs cartes l’une après l’autre: quelques dixièmes de seconde pour passer d’une séquence à l’autre!

Nous avons réalisé 2 boîtes magiques (une en backup) et 9 modules de lumières complets (un backup qui servira!).

Chronologie du projet

Histoire du projet depuis l’idée de Sébastien au tour de l’île.

Date Jours restant avant le tour de l’île Description
2016-04-03 61 La vision : Sébastien propose l’idée d’un projet « Vélo la nuit » qui implique des effets de sons et lumières sur plusieurs vélos connectés. Les lumières sont à priori plutôt sur les casques. On envisage 4 ou 5 familles avec des jeunes enfants pour participer au tour de l’île la nuit 2 mois plus tard.
2016-04-12 52 Design conceptuel terminé : Après avoir envisagé plusieurs choix technologiques (infrarouge, RF, bluetooth…) la solution wifi ESP8266 est choisie pour ce projet. Le concept est figé et les principaux sous-ensembles sont maintenant définis. J’embarque! Ce sera une première expérience de ce matériel. Sébastien passe plusieurs commandes de chips ESP8266 et de bandes LEDs. 3 à 5 semaines à attendre! En attendant, quelques modules ESP8266 Adafruit sont achetés localement pour commencer à jouer avec la plate-forme ESP, le node.mcu, les scripts lua et les bandes LEDs WS2812. Les enfants de Annie et Sébastien commencent à faire des plans de jeux décorations lumineuses et à décorer les cartes RFID!

2016-05-01 33 Accélération: la date approche: On fait l’inventaire des participants prévus et du matériel déjà disponible pour commencer à fabriquer un premier prototype. Le projet a maintenant un nom: Lumivélo!
2016-05-02 32 Évolution: Le projet se précise – plus de son pour cette année, les lumières seront installées sur les vélos plutôt que sur les casques car cela laisse plus de latitude pour faire des grandes structures! On décide d’inclure des interrupteurs magnétiques pour que les séquences lumineuses puissent changer en fonction du rythme de pédalage des enfants.
2016-05-06 28 Hello World!: Ma première prise en main du ESP8266 grâce à un module Huzzah Feather. Premier code lua pour faire clignoter la LED rouge du board, puis Hello World!
2016-05-08 26 Premier prototype commencé: Les premières pancartes électorales de Coroplast sont découpées (l’étoile!) et premières lignes de code pour des motifs lumineux.
2016-05-10 24 Quelques embûches: Prise en main du logiciel de développement ESPlorer. Difficultés pour envoyer des fichiers sur le ESP8266 (une librairie « file » manquait lorsque l’on a compilé le firmware node.mcu!). Quelques « reboots » intempestifs.
2016-05-12 22 Premier prototype “breadboard” terminé: L’ensemble du module vélo est fonctionnel sur le “breadboard”. Reste à penser un design soudé utilisable en extérieur. L’essentiel du matériel commandé est arrivé. Il y en a assez pour environ 8 modules complets.

2016-05-15 19 Premiers tests du noyau du système Lumivélo! : Sébastien a terminé d’assembler la boîte magique tandis que j’ai le premier module vélo (#0) autonome. Premier test en extérieur le soir même. Cela fonctionne et la porté est de 250m environ! Yahooooooooo! Un ordinateur reste nécessaire pour démarrer le serveur, lancer les scripts etc. Jean-François, Stéphane et leur deux familles respectives embarquent dans le projet!
2016-05-21 13 Début de la “production” des modules vélos: En plus du prototype #0, huit autres modules seront fabriqués à partir du chip ESP8266 seul, au rythme de un à deux par soir! Stéphane et Alexa commencent la fabrication de l’éclair.

Comment naissent les éclairs?

Comment naissent les éclairs?

2016-05-24 10 Boîte magique autonome: Tout démarre et fonctionne de façon autonome. Plus besoin d’ordinateur!
2016-05-28 6 Sprint: On lance la réalisation d’une seconde boîte magique (backup) tandis que Sébastien travaille fort au code lua (module client et serveur wifi + séquences de lumière). On fait le point sur les participants et la répartition du matériel!
2016-05-29 5 Premier test sur les vélos et avec les enfants!: Le matériel fonctionne bien – c’est beau – mais seul un vélo est connecté. Reste à configurer la boîte magique avec les adresses MAC de tous les modules.
2016-05-31 3 Dernière ligne droite: La baguette magique et l’arc-en-ciel sont terminés. Sébastien fige le protocole JSON pour le transfert de messages Lumivélo. On met à jour les firmware node.mcu sur tous les modules et on charge les 10 batteries!
2016-06-02 1 Last call: Sébastien réalise les 2 derniers montages pour vélos (le coeur et le panier-phare) – dernière soirée pour finaliser le système – Il est 1:30 AM quand le dernier module se synchronise aux sept autres. Dodo!
2016-06-03 0 Tour de l’île!: Ça marche!

Galerie photo

Encore  de bons vieux (et néanmoins fatigants) gifs animés! Ambiance disco garantie!

Ambiance disco garantie!

La séquence « Rainbow »

L'étoile

L’étoile

Vidéos

Pour en faire un!

Tout le code Pi + Arduino + lua est disponible sur Github:

https://github.com/sebascabot/lumivelo

Laissez un commentaire si vous avez des questions!

(195)