Skip to main content

Projet Final - Minuteur

Polina- Souad - Souamaila 

Pour

notre
    projet
  • Base final: deImpression prototypage,3D noustaille avonspetite déciderà demoyenne faire(10- un15 minuteur.cm)
  • ce
  • Minuteurs quji: diffère10 ceplexiglass minuteuret allumer avec des autresleds c'est
  • son fonctionnement
  • arduino : il s'allume avec le temps qui coule. Ceci va permet a l'utilisateur de facilement reper le temps qu'il reste.  C'est donc un outil à la fois esthétique et simple à utiliser. 

    Nous avons fait construit le minuteur en 3 partie : 
    1- la Base qui sert comme support 
    2- le plexiglass qui sert comme repère du temps 
    3- l'arduino pour programmer le temps.temps 

    Ci-dessous

  • nous
  • LED allonsadressables vous(type expliquerWS2812B)
  • en detaille la conception de chaque partie. 

Base : 

Objectif :
Nous avons concever la base en utilisant10 Fusionminutes 360.→ 10 segments s’allument progressivement
Ladonc base1 sertsegment = 1 minute

  • Arduino (Uno ou Nano)
  • Bande LED WS2812B (NeoPixel) â†’ hyper simple à soutenircontrôler leindividuellement
  • plexiglass
  • Librairie : Adafruit_NeoPixel
  • Temps total = 10 min = 600 000 ms
  • Nombre de segments = 10
  • Intervalle = 600 000 / 10 = 60 000 ms (1 min)

Code : 


#include <Adafruit_NeoPixel.h>

#define PIN 6
#define NUM_LEDS 50 // adapte selon ta bande
#define SEGMENTS 10

Adafruit_NeoPixel strip(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800);

unsigned long previousMillis = 0;
const long interval = 60000; // 1 minute

int currentSegment = 0;
int ledsPerSegment;

void setup() {
strip.begin();
strip.show(); // tout éteint
ledsPerSegment = NUM_LEDS / SEGMENTS;
}

void loop() {
unsigned long currentMillis = millis();

if (currentMillis - previousMillis >= interval && currentSegment < SEGMENTS) {
previousMillis = currentMillis;

// Allumer un segment
for (int i = currentSegment * ledsPerSegment;
i < (currentSegment + 1) * ledsPerSegment; i++) {
strip.setPixelColor(i, strip.Color(0, 0, 255)); // bleu
}

strip.show();
currentSegment++;
}
}