Projet Final - Minuteur lumineux
Polina-BARA Soumaila
BUNTURI Polina
SALEH Souad
L'Idée Souamaila
Pour notre projet final de prototypage, nous avons décidéchoisi de concevoir un minuteur.
Comme quitout distingueminuteur, cenotre minuteurdispositif desrépond autresà estun sonbesoin fonctionnementsimple mais essentiel : illa s’illuminegestion progressivementdu autemps. fur et à mesure que le temps s’écoule. CelaIl permet à l’utilisateur de repérervisualiser facilementune durée donnée afin de ne pas oublier une tâche ou de mieux organiser son activité.
Cependant, ce qui distingue notre minuteur des modèles classiques est son approche visuelle et sensorielle. Au lieu d’un affichage numérique, le temps restant.est Ilmatérialisé par une illumination progressive de segments lumineux. Plus le temps s’agitécoule, doncplus d’le minuteur s’illumine, offrant ainsi une lecture intuitive, immédiate et esthétique du temps restant.
Concept général du dispositif
Le minuteur repose sur une logique simple :
- Le temps total est divisé en 10 segments
- Chaque segment correspond à un
outiltemps en fonction de la durée définie. - À mesure que le temps passe, les segments s’allument progressivement
Visuellement, cela se traduit par une montée en lumière à travers des tiges en plexiglas, comme on peut l’observer sur les photos. Ce choix rend l’objet à la fois esthétiquefonctionnel et simple d’utilisation.décoratif.
Nous avons construit ce minuteur en trois parties :
La base, qui sert de supportLe plexiglas, qui agit comme indicateur du tempsL’Arduino, utilisé pour programmer et contrôler le temps
Ci-ci-dessous, nous détailleronscrivons la conception de chacunel'outil deen cestrois parties.
1- La base :
Nous avons concever la base grace à Fusion 3D.
La base du minuteur a été conçue comme une structure rectangulaire creuse (215 mm de longueur, 40 mm de profondeur et 110 cm de largeur), assurant à la fois stabilité et légèreté. Elle se présente sous la forme d’un cadre allongé, avec une ouverture centrale qui permet d’intégrer les autres composants du dispositif.
La partie supérieure et la partie inférieure de la base comportent une série d’encoches régulièrement espacées.es (environ 1.5 cm ). Ces ouvertures ont un double rôle : elles permettent de laisser passer la lumière (notamment celle des LED), et servent également de repères visuels pour matérialiser l’écoulement du temps.
Sur les côtés, des ouvertures verticales ont été intégrées afin de faciliter l’insertion des éléments internes, comme le plexiglas ou les composants électroniques. Ces découpes permettent aussi d’accéder plus facilement à l’intérieur de la structure lors de l’assemblage ou de la maintenance.
Enfin, la géométrie globale a été pensée pour être facilement fabriquée, notamment via impression 3D ou découpe, tout en garantissant une bonne rigidité de l’ensemble. Le design est volontairement épuré et fonctionnel, en cohérence avec l’objectif du minuteur : être à la fois pratique et esthétique.
2- Les Plexiglass :
Les éléments en plexiglas constituent la partie visible du minuteur et jouent un rôle essentiel dans la restitution visuelle du temps.
Nous avons conçu ces éléments sous forme de tiges rectangulaires à l’aide du logiciel Inkscape, puis nous les avons découpés au laser dans des plaques de plexiglas.
Caractéristiques :
Base : Impression 3D taille petite à moyenne (10- 15 cm)MinuteursNombre : 10plexiglasstiges- Dimensions :
- Longueur : 15 cm
- Largeur : 4 cm
- Épaisseur : 5 mm
Grâce à la transparence du matériau, la lumière émise par les LED situées en dessous se diffuse à l’intérieur de chaque tige.
Le plexiglas agit ainsi comme un guide de lumière, permettant de transformer une source lumineuse ponctuelle en une surface éclairée homogène. Cela crée un effet visuel progressif : à mesure que les LED s’allument, les tiges s’illuminent les unes après les autres, matérialisant l’écoulement du temps.
Enfin, le choix du plexiglas répond à plusieurs critères : il est à la fois léger, résistant, facile à usiner et allumerpermet avecune diffusion lumineuse. Il contribue ainsi à l’aspect esthétique et fonctionnel du minuteur.
3- Programmation du code :
Le fonctionnement du minuteur repose sur un système électronique permettant de contrôler l’allumage progressif des ledsLED en
Nous avons utilisé une carte Arduino (UnoR3) afin de programmer et piloter le dispositif. Celle-ci est reliée à un ruban de LED adressables de type WS2812B (NeoPixel), qui permet de contrôler individuellement chaque LED.
Le programme utilise la fonction millis() de l’Arduino, qui permet de mesurer le temps
Les
Le principe de fonctionnement est basé sur une division du temps
Basesegments.
Exemple :
Objectif :enPour 10 minutes → 10 segments s’allument progressivement
donc 1 segment = 1 minute
Arduino (Uno ou Nano)Bande LEDWS2812B (NeoPixel)→ hyper simple à contrôler individuellementLibrairie :Adafruit_NeoPixel- Temps total = 10 min = 600 000 ms
- Nombre de segments = 10
- Intervalle = 600 000 / 10 = 60 000 ms (1 min)
Les LED sont positionnées sous les tiges en plexiglas, ce qui permet une diffusion verticale de la lumière. Ce positionnement a été pensé pour maximiser l’effet visuel et assurer une bonne répartition lumineuse.
Le code repose sur une boucle principale qui vérifie en continu le temps écoulé et met à jour l’affichage en conséquence. Une structure conditionnelle permet de déclencher l’allumage des segments au bon moment, tandis qu’une boucle interne active les LED correspondant à chaque segment.
Enfin, plusieurs choix techniques ont été faits pour garantir la fiabilité du système. L’utilisation d’une alimentation externe permet d’éviter toute surcharge de l’Arduino. De plus, la librairie Adafruit NeoPixel simplifie la gestion des LED et assure un contrôle précis de leur comportement.
L’ensemble du système permet ainsi d’obtenir un minuteur fonctionnel, évolutif et facilement paramétrable selon la durée souhaitée.
Code :
#define
#define
#define SEGMENTS 10
Adafruit_NeoPixel
unsigned
const long interval = 60000; // 1 minute
int currentSegment = 0;
int ledsPerSegment;
void
strip.begin();
strip.show();
}
void
unsigned
if (currentMillis - previousMillis >= interval && currentSegment < SEGMENTS)
//
i
strip.setPixelColor(i,
}
strip.show();
}
}
