Skip to main content

Projet final - Aurélie, Iryna, Justine, Mayar

Compte Rendu du Projet Final :
Lampe Intelligente

 

I. finition et Analyse du projet

Dans un monde de plus en plus connectéconnecté, la conception de produits destinédestinés aux enfants éévolue vers des solutions alliant technologie et design sécurisésécurisé. En parallèparallèle, les parents cherchent des objets qui favorisent àà la fois le confort et la sécuritésécurité dans les espaces de vie des plus jeunes. Le projet de crécréation d’d’une lampe pour enfants avec tecteur de mouvement s'inscrit dans cette marche.

Ce projet vise àà concevoir une veilleuse en bois, de forme inspiréinspirée par la nature, qui s’intès’intègre harmonieusement dans une chambre d’d’enfant. En combinant des LED pour un ééclairage doux et ééconomique, ainsi que des capteurs de luminositéluminosité et de mouvement pour une utilisation intuitive, cette lampe pond aux besoins de confort nocturne. Le support, conçconçu pour êêtre emboîtéemboîté sans outils, favorise aussi une approche durable et éécologique, et permet de simplifier l'assemblage.

L’L’enjeu principal est de concevoir un objet non seulement fonctionnel mais aussi esthéesthétique, qui encourage les bonnes pratiques énergéénergétiques et rassure les enfants durant la nuit.

A. flexions sur la probléproblématique et veille sur l'existant

L’L’objectif de cette partie est d’d’identifier les besoins et d’d’examiner les solutions existantes :

1. Analyse des besoins 

Afin de parvenir àà velopper un produit qui ponde aux mieux aux attentes de nos principaux utilisateurs (les enfants), voici les critècritères que nous avons pris en compte : 

  • SécuritéSécurité : En raison de son public cible, la lampe doit êêtre non seulement sistante mais aussi inoffensive en cas de manipulation ou de chute.
  • SimplicitéSimplicité d’d’utilisation : Il est essentiel que la lampe soit facile àà utiliser pour les enfants permettant ainsi un fonctionnement intuitif sans avoir àà manipuler un interrupteur traditionnel, en particulier pour ceux qui ont du mal àà l'atteindre.
  • EsthéEsthétique et théthématique : Les enfants recherchent une ambiance apaisante et un design ludique, ce qui favorise une atmosphèatmosphère rassurante et agréagréable dans leur espace.
  • ÉÉconomie d’éd’énergie : Il est important que la lampe ponde àà un besoin de faible consommation d’éd’énergie, tout en offrant une fonctionnalitéfonctionnalité pratique pour ééviter une consommation éélectrique inutile. De plus, éétant donnédonné que les enfants ne pensent pas toujours àà ééteindre la lumièlumière aprèaprès leur utilisation, il est essentiel d'intéintégrer des solutions permettant de minimiser la consommation d'éénergie, me lorsqu'ils oublient de l'ééteindre.

2. Veille concurrentielle et innovations 

Une analyse des solutions existantes révèrévèle que les lampes actuellement disponibles sur le marchémarché, bien qu'efficaces dans leur conception standard, préprésentent des limites significatives lorsqu'il s'agit de pondre aux besoins spéspécifiques des enfants, tant en termes de design, de fonctionnalitéfonctionnalité, que de personnalisation. 

Voici un tableau capitulatif des diffédifférentes solutions existantes : 

A mettre ici le tableau finaliséfinalisé

En résumérésumé, voici nos constatations sur les lampes existantes sur le marchémarché

  • Cible : Les lampes conçconçues spéspécifiquement pour les enfants sont génégénéralement tactiles, mais celles àà tection de mouvement ne sont pas adaptéadaptées àà ce public. Elles visent un usage génégénéral avec des designs classiques (Aukey, Auvon, etc.).

  • MatéMatériaux : Les matématériaux utiliséutilisés sont principalement àà base de plastique, sans référéférence explicite àà des théthématiques comme la nature ou des concepts ééducatifs.

  • Personnalisation : Les lampes actuelles n’n’offrent pas de dimension personnalisable (formes, corations ou adaptations spéspécifiques aux goûgoûts des enfants).

  • FonctionnalitéFonctionnalité : Bien que les lampes avec tecteur de mouvement soient pratiques, elles manquent souvent d’éléd’éléments ludiques ou engageants pour les enfants.

B. Notre solution

En prenant en compte les diffédifférents critècritères liéliés aux besoins récoltérécoltés précéprécédemment, voici la solution que nous proposons : 

  • AdaptéAdaptée aux enfants : Une lampe au design ludique et unique, en forme d’d’arbre, pensépensée spéspécifiquement pour captiver l’l’imaginaire des enfants. Ses LED colorécolorées sur la surface de l’l’arbre crécréent un univers joyeux et enchanteur, parfait pour leur environnement.

  • MatéMatériaux et théthématique : FabriquéFabriquée en bois naturel, elle offre une alternative éécologique et durable aux modèmodèles traditionnels en plastique, tout en intéintégrant une théthématique inspiréinspirée de la nature pour encourager la connexion avec l’l’environnement.

  • Personnalisation : La forme de l’l’arbre peut êêtre adaptéadaptée selon les préfépréférences, et le support-boîboîtier qui maintient la lampe debout peut êêtre gravégravé avec des corations ou motifs personnalisépersonnalisés, rendant chaque lampe unique.

  • Fonctionnement : ÉquipéÉquipée de capteurs de luminositéluminosité et de mouvement, la lampe s’s’allume et s’és’éteint automatiquement sans contact, offrant une utilisation pratique et intuitive tout en favorisant l’l’autonomie des enfants.

II. Conception et veloppement

La phase de conception et de veloppement se concentre sur l’l’assemblage des composants matématériels et la programmation, permettant de crécréer une lampe interactive et ludique pour enfants.

A. coupe des supports en bois

La lampe (en forme d'arbre) ainsi que son support en bois seront découpédécoupés au laser, permettant une préprécision optimale dans les formes et les tails, notamment pour les emboîemboîtements. En effet, le boîboîtier qui servira de support àà notre arbre, sera dotédoté d'une fente qui permettra àà l'arbre de s'y emboîemboîter, garantissant ainsi sa stabilitéstabilité. Ce support permettra éégalement de cacher tout le systèsystème éélectronique dont nous parleront dans une seconde partie. La coupe laser assure éégalement la propretépropreté des lignes et des tails, garantissant une finition esthéesthétique et sécurisésécurisée.

MatéMatériels utiliséutilisés : 

Pour cela, voici le matématériel que nous avons utiliséutilisé pour la coupe laser de notre arbre et le support associéassocié

  • Site internet Festi Info : pour crécréer les faces du cube et le fichier vectorisévectorisé en format .svg.

  • Site internet Freepik : pour trouver des illustrations de plantes, fleurs et insectes destinédestinées àà habiller les faces de notre boîboîte.

  • Logiciel Inkscape : pour intéintégrer les dessins sur chaque face de la boîboîte et prépréparer le fichier servant àà la coupe laser.

  • Plaques de peuplier (3 mm et 6mm) : compatibles avec la coupe laser pour la conception de chaque face de la boîboîte et la coupe de l'arbre.

  • Machine de coupe laser 2D Trotec et son logiciel : pour le lancement du coupage.

CréCréation de l'arbre : 

En ce qui concerne l'esthéesthétique de notre arbre, nous avons commencécommencé par tester plusieurs formes de ce dernier avant d'opter pour une version finale pour la conception de notre prototype :

  • arbre avec branches,
  • arbre dont le houppier est en forme de nuage avec des trous dans l'optique de faire passer les LED àà travers,
  • arbre dont le houppier est en forme de nuage sans trous

Pour cela, nous avons dessinédessiné chacune de ces versions sur Inkscape àà l'aide de l'"outil crayon". Pour nous aider dans les dessins et notamment pour pouvoir obtenir des traits droits, nous sommes alléallées chercher une image d'arbre de forme qui nous intéintéresse et nous l'avons importéimporté sur InkscapeSur cette base, nous avons pu reproduire les traits des arbres importéimportés et les utiliser pour la coupe laser.

En ce qui concerne le matématériau, nous avons optéopté pour du peuplier 3mm, un choix qui permettra de nous positionner en tant qu'entreprise ééco-responsable. Les premiers designs de notre arbre éétaient accompagnéaccompagnés d'un support afin que l'arbre puisse tenir debout, mais cette idéidée a par la suite étéété remplacéremplacée par celle de l'emboîemboîtement comme nous le verrons dans la section dédiédédiée au coupage du boîboîtier. 

Certes, nos produits sont personnalisables, ce qui veut dire que nous sommes en mesure de proposer des formes et des designs variévariés, nous avons décidédécidé de poursuivre avec la version de l'arbre dont le houppier est en forme de nuage sans trous pour la conception de notre prototype. Le choix de cette version s'explique par la praticitépraticité que nous offre ce design pour disposer nos LED.  

Prototype 1 : arbre avec branches

image.pngprototype arbre 1.jpg

Prototype 2 : arbre en forme de nuage avec trous

image.png IMG_5041.jpeg

Prototype 3 : arbre en forme de nuage sans trous

image.png

CréCréation de la boîboîte : 

La deuxièdeuxième éétape de notre travail a étéété dédiédédiée àà la conception du boîboîtier servant de support pour l'arbre et de contenant pour le systèsystème éélectronique. Il a éégalement pour le de servir d'objet esthéesthétique et ludique pour les enfants grâgrâce aux gravures qui l'habilleront. 

Pour cela, nous nous sommes rendues sur le Festi Info nous avons fini par trouver un boîboîtier simple, complècomplètement ferméfermé que nous avons téléchargétéléchargé en format .svg pour pouvoir ensuite l'importer dans Inkscape et le corer avec des dessins de nature trouvétrouvés sur Freepik. Nous avons bien veilléveillé àà ce que les images apposéapposées sur les diffédifférentes faces soient vectorisévectorisées aprèaprès leur importation sur Inkscape. Enfin, nous avons intégréintégré une fente sur le top de la boîboîte pour y faire passer le tronc de notre arbre et lui permettre de rester debout sans utiliser un autre support. 

Nous avons veilléveillé àà ce que le systèsystème éélectronique puisse êêtre abritéabrité par la boîboîte. Nous avons donc pris en compte l'espace que nous occuperait ce systèsystème éélectronique et sur cette base, nous avons éétabli les dimensions de la boîboîte :

  • largeur (x) : 130mm, soit 13cm,
  • profondeur (y) : 130mm, soit 13cm,
  • hauteur (h) : 50mm, soit 5cm.

En termes de brûbrûlage, nous avons faire plusieurs tests avant de ussir àà trouver la bonne valeur pour pouvoir assembler les diffédifférentes faces. En effet, nous avons démarrédémarré avec un brûbrûlage de 0.15mm que nous avons fini par descendre àà 0.11mm en raison de problèproblèmes d'emboîemboîtement entre les faces, en particulier de la base et du top avec les autres faces (murs). Pour la premièpremière version (0.15mm), nous nous sommes rendues compte que l'espace entre les petites dents éétait trètrès serréserré et les dents en elles-mes éétaient assez larges, ce qui compliquait le processus. En diminuant le paramèparamètre àà 0.13mm, le problèproblème persistait toujours au niveau de la base qui ne s'emboîemboîtait pas avec les murs du boîboîtier. Nous avons donc fini par descendre le brûbrûlage àà 0,01mm pour la base seulement, ce qui a grandement facilitéfacilité l'emboîemboîtement.

Prototype 4 : boîboîtier gravégravé au laser

WhatsApp Image 2024-11-18 à 15.41.06_e4200ba0.jpgWhatsApp Image 2024-11-18 à 15.41.06_e4200ba0.jpgWhatsApp Image 2024-11-18 à 15.41.12_23b7879e.jpgWhatsApp Image 2024-11-18 à 15.41.12_23b7879e.jpg

Lampe en bois encastréencastrée dans le boîboîtier :

La boîboîte, gravégravée au laser avec des motifs ludiques tels que des plantes, des papillons et d'autres insectes, ajoute une dimension ééducative et esthéesthétique, idéidéale pour une veilleuse destinédestinée aux enfants. Ces tails apportent une touche corative qui stimule la curiositécuriosité et l’l’imagination.

WhatsApp Image 2024-11-18 à 15.41.17_2a8a8a37.jpgWhatsApp Image 2024-11-18 à 15.41.17_2a8a8a37.jpg

CréCréation des faces cache-fils (pour les LED) :

Sur les images ci-dessous, on peut voir la disposition que nous avons imaginéimaginée pour notre ruban de LED. Nous avons décidédécidé de l'enrouler autour de l'arbre. Ainsi, pour cacher le ruban des LED, nous avons pensépensé àà rajouter deux faces en peuplier 6mm de chaque côtécôté de l'arbre. Ces faces possèpossèdent des trous alignéalignés préciséprécisément avec les LED, ce qui permet de dissimuler entièentièrement le fil LED tout en laissant passer uniquement la lumièlumière des LED àà travers les ouvertures.

Pour assembler l'arbre et les 2 faces et les maintenir solidement en place, des pinces ont étéété découpédécoupées éégalement. 

Prototype 5 : faces cache-fils

WhatsApp Image 2024-11-25 à 18.48.49_9b5923ce.jpgWhatsApp Image 2024-11-25 à 18.48.49_9b5923ce.jpgJIpimage.png

Prototype 6 : pinces

image.pngimage.png

B. ÉÉlectronique : Arduino et capteurs de mouvement et luminositéluminosité

MatéMatériels utiliséutilisés :

  • Arduino : L’L’Arduino sert de cerveau au projet, rant les interactions entre le capteur de mouvement et les LED. Il est programméprogrammé pour tecter les mouvements et activer l’él’éclairage de la lampe lorsque quelqu'un s’s’approche.

  • Capteur de Mouvement (PIR) : Un capteur infrarouge passif (PIR) est utiliséutilisé pour capter les mouvements dans un rayon proche de la lampe. Ce capteur envoie des signaux àà l’l’Arduino lorsqu’lorsqu’un mouvement est détectédétecté, clenchant ainsi l'allumage des LED pour une durédurée préprogrammépréprogrammée.

  • Capteur de LuminositéLuminosité (Si1151) : Un capteur de lumièlumière (Si1151) mesure la luminositéluminosité ambiante. Si l'environnement est suffisamment éclairééclairé, il empêempêche l'allumage inutile des LEDs, permettant des ééconomies d’éd’énergie.
  • LED : Les LED WS2812 sont choisies pour leur faible consommation d’éd’énergie et leur capacitécapacité àà produire des couleurs variévariées. L’intensitéL’intensité lumineuse et les effets dynamiques sont contrôlécontrôlés par le programme, offrant une lumièlumière douce et apaisante, idéidéale pour les chambres d’d’enfants.

Montage du circuit avec Arduino, Breadboard et LEDs: 

Le montage électronique repose sur l’utilisation d’une carte Arduino connectée à un breadboard, où les différents composants électroniques sont intégrés. Voici les étapes et une explication du montage :

  1. Connexion des LEDs WS2812

    • Pin DATA : La broche DATA des LEDs est connectée à la broche numérique D13 de l'Arduino pour transmettre les signaux de contrôle.
    • Alimentation : Les broches VCC et GND des LEDs sont connectées respectivement à une source de 5V et au GND de l’Arduino via le breadboard.
    • Condensateur (100 µF) : Placé entre les broches d’alimentation des LEDs (5V et GND), ce condensateur permet de stabiliser la tension en évitant les fluctuations dues à la consommation variable des LEDs. Cela protège également les LEDs contre d’éventuels pics de tension qui pourraient les endommager.
  2. Connexion du capteur de mouvement PIR

    • La sortie numérique du capteur PIR est connectée à la broche D2 de l’Arduino.
    • L’alimentation du capteur est assurée par les broches 5V et GND de l’Arduino.
  3. Connexion du capteur de luminosité Si1151

    • Le capteur est branché sur le bus I2C de l’Arduino. 
    • Il est également alimenté par les broches 5V et GND.
  4. Résistance de 220 ohms

    • Une résistance de 220 Ω est placée entre la broche D13 de l’Arduino et la broche DATA des LEDs WS2812. Cette résistance sert à limiter le courant entre l'Arduino et les LEDs, réduisant ainsi les interférences électriques et protégeant les LEDs contre les surtensions ou les variations rapides de signal.
  5. Alimentation globale

    • Une alimentation externe de 5V est utilisée pour alimenter les LEDs, car elles peuvent consommer plus de courant que ce que l’Arduino peut fournir. L’Arduino et les autres composants partagent le même GND pour assurer un circuit correctement référencé.

montage.jpg

Ce montage assure une gestion efficace de la consommation d’énergie et une stabilité optimale pour le fonctionnement du projet. L’intégration sur breadboard facilite l’expérimentation et les ajustements nécessaires avant une version définitive.

Réglage du capteur de mouvement PIR

Le capteur de mouvement PIR dispose de deux potentiomètres ajustables pour configurer ses performances :

  1. Réglage de la sensibilité (distance) :
    Ce paramètre détermine la distance maximale à laquelle le capteur peut détecter un mouvement. Dans ce projet, nous avons réglé la sensibilité pour une portée d’environ 1 mètre 20 cm.

    • Importance :
      Cela permet de limiter les déclenchements indésirables causés par des mouvements éloignés ou non pertinents, comme une personne passant dans une pièce voisine. Cela rend le système plus précis et adapté à une utilisation dans des espaces restreints, comme une chambre d’enfant.
  2. Réglage du délai de maintien (durée) :
    Ce paramètre contrôle le temps pendant lequel le capteur maintient son signal de détection actif après avoir détecté un mouvement. Nous avons réglé ce délai à environ 30 secondes.

    • Importance :
      Ce réglage permet de maintenir les LEDs allumées pendant un intervalle suffisant pour assurer un éclairage confortable après une détection de mouvement. Cela évite des allumages et extinctions trop rapides, qui pourraient être désagréables ou stressants, surtout pour les enfants.

En combinant ces deux réglages, le système devient mieux adapté à l’environnement d’utilisation, offrant un éclairage intelligent, économe en énergie et agréable à utiliser.

Code Arduino avec explications partie par partie : 

Voici le code utiliséutilisé, avec des commentaires expliquant chaque partie de son fonctionnement :

  1. Inclusion des bibliothèbibliothèques et configuration des variables : 
    - BibliothèBibliothèque FastLED : ContrôContrôle les bandes LED.
    - BibliothèBibliothèques SI114X et Si115X : rent le capteur de luminositéluminosité.
    - PIR_MOTION_SENSOR : finit le pin du capteur PIR (entréentrée numénumérique).
    - DATA_PIN : Pin connectéconnecté àà la bande LED.
    - NUM_LEDS : Nombre de LEDs dans la bande.
    - lightThreshold : Niveau de lumièlumière pour considéconsidérer qu'il fait sombre.
    - onlyAtNight : Active les LEDs uniquement la nuit si true.

    #include <Wire.h>
    #include <FastLED.h>
    #include "SI114X.h"
    #include "Si115X.h"
    
    // -------------------- LED Configuration -------------------- //
    #define DATA_PIN    13       // Pin connected to the LED strip
    #define LED_TYPE    WS2812   // Type of LEDs used (WS2812)
    #define COLOR_ORDER GRB      // Color order (Green, Red, Blue)
    #define NUM_LEDS    60       // Total number of LEDs on the strip
    CRGB leds[NUM_LEDS];         // Array representing the LEDs
    
    // -------------------- LED Constants -------------------- //
    #define BRIGHTNESS  96       // Brightness of the LEDs (range: 0 to 255)
    
    // -------------------- Sensor Pins -------------------- //
    #define PIR_PIN 2            // PIR sensor connected to pin 2
    Si115X SI1145 = Si115X();    // Object to interact with the SunLight sensor (analog interface)
    
    // -------------------- Initial States -------------------- //
    bool ledsAreOn = false;      // State variable to track the status of the LEDs
    int rainbowHue = 0;          // Hue used for the rainbow effect
    float lightThreshold = 10.0; // Threshold for considering "dark" conditions
    bool onlyAtNight = false;    // Activate LEDs only in the dark (set to false to activate day and night)
    
    

  2. Initialisation dans setup() :
    Cette fonction initialise le systèsystème. Elle configure les pins pour le capteur PIR, lance la communication rie pour afficher les messages de diagnostic, et initialise la bande LED avec la bibliothèbibliothèque FastLED. Elle rifie aussi que le capteur de luminositéluminosité Si1151 est prêprêt avant de continuer. Enfin, elle s'assure que les LED sont ééteintes au marrage. 

    // --------------------------- Initialization --------------------------- //
    void setup() {
      // Initialize pins and serial port
      pinsInit();
      Serial.begin(9600);
      Serial.println("Initializing system...");
      
      // Initialize the LED strip with the FastLED library
      FastLED.addLeds<LED_TYPE, DATA_PIN, COLOR_ORDER>(leds, NUM_LEDS);
      FastLED.setBrightness(BRIGHTNESS);
      turnOffLEDs();  // Ensure LEDs are off at the start
    
      // Initialize the Si1151 light sensor
      while (!SI1145.Begin()) {
        Serial.println("Si1151 sensor not ready! Retrying...");
        delay(1000);  // Retry every second
      }
      Serial.println("Si1151 sensor initialized successfully!");
    }
  3. Boucle Principale loop()  : 
    Cette fonction est exécutéexécutée en boucle. Elle tecte les mouvements grâgrâce au capteur PIR et mesure le niveau de lumièlumière ambiante avec le capteur Si1151. Si un mouvement est détectédétecté et que les conditions de luminositéluminosité sont remplies (sombre ou configuréconfiguré pour fonctionner jour et nuit), elle allume les LED avec un effet d'arc-en-ciel. Si aucun mouvement n'est détectédétecté ou si les conditions de luminositéluminosité ne conviennent pas, elle ééteint les LED.
    // -------------------------- Main Loop -------------------------- //
    void loop() {
      // Check the state of the PIR motion sensor
      bool motionDetected = isPeopleDetected();
      
      // Measure ambient light level (IR)
      float uvLevel = (float)SI1145.ReadIR();
    
      // Determine if the environment is dark
      bool isDark = (uvLevel < lightThreshold);
    
      // If motion is detected and light conditions are met
      if (motionDetected && !ledsAreOn && (isDark || !onlyAtNight)) {
        ledsAreOn = true;  // Update LED status
        if (onlyAtNight)
        {
        Serial.println("Motion detected and it's dark. Turning ON the LEDs.");
        }
        if (!onlyAtNight)
        {
        Serial.println("Motion detected. Turning ON the LEDs.");
        }
        turnOnLEDs();  // Turn on LEDs with rainbow effect
      }
      // If no motion is detected and LEDs are on
      else if (!motionDetected && ledsAreOn) {
        turnOffLEDs();  // Turn off LEDs
        ledsAreOn = false;  // Update LED status
        Serial.println("No motion detected. Turning OFF the LEDs.");
      }
      // If it is too bright and LEDs are set to work only at night
      else if (!isDark && onlyAtNight) {
        turnOffLEDs();  // Turn off LEDs
        ledsAreOn = false;  // Update LED status
      }
    
      delay(200);  // Small delay to avoid an overly fast loop
    }
  4.  Fonctions Auxiliaires : 
    - tection de Mouvement : Cette fonction rifie l'éétat du capteur PIR. Elle lit la valeur du capteur et renvoie true si un mouvement est détectédétecté, sinon false.

    // --------------------- Function: Motion Detection --------------------- //
    boolean isPeopleDetected() {
      int sensorValue = digitalRead(PIR_MOTION_SENSOR);  // Read PIR sensor state
      return (sensorValue == HIGH);  // Return true if motion is detected
    }

    - Initialisation des Pins : Cette fonction configure les pins cessaires au fonctionnement du capteur PIR. Elle les initialise en tant qu'entréentrées et affiche un message de confirmation dans le moniteur rie.

    // --------------------- Function: Pin Initialization --------------------- //
    void pinsInit() {
      pinMode(PIR_MOTION_SENSOR, INPUT);  // Configure PIR sensor as input
      Serial.println("Pins initialized.");  // Confirmation message
    }

    - Allumer/ÉÉteindre les LED : Deux fonctions : la premièpremière fonction active l'ééclairage des LED en appliquant l'effet d'arc-en-ciel àà la bande LED et la deuxièdeuxième fonction ééteint toutes les LED en les configurant sur la couleur noire (CRGB::Black). 

    // --------------------- Function: Turn On LEDs --------------------- //
    void turnOnLEDs() {
      showRainbow();  // Display the rainbow effect
    }
    
    // --------------------- Function: Turn Off LEDs --------------------- //
    void turnOffLEDs() {
      for (int i = 0; i < NUM_LEDS; i++) {
        leds[i] = CRGB::Black;  // Set each LED to "off"
      }
      FastLED.show();  // Apply the changes
    }
    

    - Effet Arc-en-Ciel: Cette fonction applique un effet d'arc-en-ciel sur la bande LED. Chaque LED reçreçoit une couleur diffédifférente calculécalculée àà partir de la teinte actuelle. L'effet est animéanimé en modifiant légèlégèrement la teinte aprèaprès chaque affichage.

    // --------------------- Function: Rainbow Effect --------------------- //
    void showRainbow() {
      for (int i = 0; i < NUM_LEDS; i++) {
        // Calculate the color of each LED for the rainbow effect
        leds[i] = CHSV((rainbowHue + ((NUM_LEDS - i) * 256 / NUM_LEDS)) % 256, 255, 255);
      }
      FastLED.show();  // Apply changes to the LEDs
      rainbowHue++;  // Slightly change the hue for animation
    }

RésuméRésumé du Fonctionnement
  1. Initialisation : L’L’Arduino configure les capteurs et LED.
  2. tection : Les capteurs tectent le mouvement et mesurent la lumièlumière ambiante.
  3. ponse : Si un mouvement est détectédétecté dans un environnement sombre, les LED s'allument avec des animations dynamiques.
  4. ÉÉconomie d’éd’énergie : Les LED s’és’éteignent automatiquement en l’l’absence de mouvement ou si l’l’environnement est suffisamment éclairééclairé.

C. Personnalisation ludique avec l'imprimante 3D

Afin de rendre la lampe plus attrayante pour les enfants, une imprimante 3D est utiliséutilisée pour ajouter des élééléments ludiques, comme des animaux, àà la base de la lampe. Ces élééléments coratifs en plastique ajoutent une dimension interactive et permettent une personnalisation esthéesthétique de la lampe.

MatéMatériels utiliséutilisés :

  • Site internet Tinkercad : pour la modémodélisation 3D des animaux (panda, chat, canard, girafe) et l'export en format .stl.
  • Logiciel Prusa Slicer : pour l'adaptation des paramèparamètres d'impression (supports, choix de l'imprimante 3D, remplissage, etc).
  • Filament PLA matématériau utiliséutilisé par l'imprimante 3D pour la crécréation des figurines.
  • Imprimante 3D : pour l'impression des animaux.

CréCréation des figurines : 

AprèAprès avoir modélisémodélisé nos animaux sur le site Tinkercad àà l'aide des diffédifférents outils proposéproposés (figures géomégéométriques simples : cube, sphèsphère, triangle, etc), nous nous sommes aidéaidées du logiciel Prusa Slicer directement télétéléchargeable sur internet, et des imprimantes 3D Prusa disponibles au Fab Lab.

Ainsi, aprèaprès avoir enregistréenregistré nos modémodélisations 3D en format .stl via Tinkercad, nous avons pu importer les animaux un par un sur Prusa Slicer avant d'ajuster leurs tailles et leurs placements grâgrâce aux commandes disponibles sur le côtécôté gauche de l'éécran (placer, redimensionner, rotation).

Pour lancer l'impression, nous avons gler quelques paramèparamètres tels que les glages d'impression qui consistent àà finir la vitesse d'impression (0.28mm DRAFT (modifiémodifié) éétant la plus rapide), le filament (PLA), choisir l'imprimante, l'application du support et le pourcentage de remplissage.

image.png

Afin de pouvoir enlever facilement les supports sur nos animaux, nous avons optéopté pour des supports organiques. Pour cela, nous nous sommes rendues dans l'onglet "glages d'Impression", puis dans "Supports", avant de cocher la case "GénéGénérer des supports" et choisir le style "organique" pour nos supports. 

image.png

Et voici le sultat lorsque nous sommes revenues sur la page principale ("Plateau") et avons cliquécliqué sur "couper maintenant"

Capture d'écran 2024-11-25 144203.pngCapture d'écran 2024-11-25 144203.png

Par la suite, nous avons sélectionnésélectionné "Exporter le G-code", avant d'enregistrer le rendu et de le transmettre sur la cléclé USB destinédestinée aux imprimantes 3D Prusa. La dernièdernière éétape consiste àà inséinsérer la cléclé USB dans l'imprimante et de lancer l'impression.

Prototype : figurines d'animaux en impression 3D

WhatsApp Image 2024-11-25 à 18.48.49_3e78b1cf.jpgWhatsApp Image 2024-11-25 à 18.48.49_3e78b1cf.jpg

PROTOTYPE FINAL

WhatsApp Image 2024-11-25 à 18.48.49_965bddaf.jpgWhatsApp Image 2024-11-25 à 18.48.49_965bddaf.jpg

D. Perspectives d’Éd’Évolution du Produit

Il existe plusieurs pistes d'améamélioration pour enrichir notre lampe : 

Mode ÉÉco-intelligent :

L'ajout d'un bouton permettrait d'impléimplémenter un "Mode ÉÉco-intelligent" avec deux options de fonctionnement :

  1. Mode Green : Dans ce mode, la lampe ne s'allumerait que lorsque deux conditions sont unies : tection de mouvement ET faible luminositéluminosité ambiante. Cela maximiserait les ééconomies d'éénergie en éévitant tout ééclairage superflu.
  2. Mode Standard : En appuyant àà nouveau sur le bouton, la lampe passerait en mode standard, s'allumant àà chaque tection de mouvement, indéindépendamment de la luminositéluminosité ambiante. 

L'impléimplémentation de cette fonctionnalitéfonctionnalité cessiterait :

  • L'ajout d'un bouton physique sur le boîboîtier
  • La modification du code Arduino pour intéintégrer la gestion des deux modes
  • Une interface visuelle simple (par exemple, une LED de couleur diffédifférente) pour indiquer le mode actif