Skip to main content

Plaque LISBOA - projet final - Qiancheng, Polina, Fatmagül, Olivier

Projet Final - Plaque LisbonneLisboa

Qiancheng, Polina, Fatmagül, Olivier

Nous souhaitons créer une plaque en plexiglas qui s'illuminera par en bas grâce aux leds par diffraction. Le tout sera sur un boitier en bas qui cachera les leds. Afin de complexifier le projet, on souhaiterait intégrer un capteur de présence pour que les leds s'allument uniquement en présence de quelqu'un ou lors d'un passage. L'arduino sera également caché dans le boitier en bois. 

Partie contrôle bandeau LED

Compréhension du fonctionnement du bandeau LED : https://www.youtube.com/watch?v=xw8iRNxt-VU

Problème 1 : Mauvaise couleur dans l'affichage du projet.

FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS);  // GRB ordering is typical

Il fallait remplacer RGB par GRB :

FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);  // GRB ordering is typical

Voici le code fonctionnel, faisant clignoter 9 LED

#include <FastLED.h>

// How many leds in your strip?
#define NUM_LEDS 9

// For led chips like WS2812, which have a data line, ground, and power, you just
// need to define DATA_PIN.  For led chipsets that are SPI based (four wires - data, clock,
// ground, and power), like the LPD8806 define both DATA_PIN and CLOCK_PIN
// Clock pin only needed for SPI based chipsets when not using hardware SPI
#define DATA_PIN 5

// Define the array of leds
CRGB leds[NUM_LEDS];

void setup() { 
    FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);  // GRB ordering is typical
}

void loop() { 

  for (int i=0; i<=8; i++) {
    // Turn the LED on, then pause
    leds[i] = CRGB::Red;
    FastLED.show();
    delay(500);
    // Now turn the LED off, then pause
    leds[i] = CRGB::Black;
    FastLED.show();
    delay(100);
  }

}

Nous voulons synchronisé l'affichage des LED avec le son. Pour cela nous branchons un micro à l'arduino avec le schéma suivant.

Nous avons testé avec un microphone (KY-037) qui n'est pas adapté à notre besoin. Ce microphone est fait pour mesurer les forts pics de son (un gros bruit, un clap), il n'est pas bon dans la mesure continue du son.

Nous avons testé plusieurs façons de faire réagir la led en fonction du son.

Création du LOGO 

Nous avons designé un logo qu'on souhaitait sur canva

image.png

Ce logo a été exporté au format svg dans Inkscape. 

WIKI FINAL BELOW:  TROUVER UN NOM POUR NOTRE PROTO - voir le doc

Résumé du projet 

Dans le cadre du cours de prototypage, nous avons conçu un objet interactif lumineux représentant le logo de la ville de Lisbonne. Ce prototype est pensé comme un souvenir de notre voyage de promotion, à emmener avec nous à Lisbonne pour l’intégrer dans nos photos. L’objet associe plexiglas, LEDs et un boîtier en bois, le tout animé par un Arduino et un microphone qui réagit à la musique ambiante en synchronisant l’éclairage avec le rythme sonore.


Objectifs du projet

  • Créer un objet-souvenir esthétique et interactif

  • Apprendre à utiliser les outils de fabrication numérique : découpe laser, design SVG

  • Expérimenter l’interaction entre son et lumière grâce à un microphone et des LEDs


Matériel utilisé

  • Arduino Uno

  • Bande de LED

  • Microphone sonore compatible Arduino

  • Plaque de plexiglas (mesures, types ?)

  • Panneau bois (contreplaqué, mesures ?)

  • Découpeuse laser

  • Logiciels : Canva, Inkscape, Boxes.py, Arduino IDE


Étapes de réalisation

1. Design du boîtier en bois

  • Génération du modèle via le site Boxes.py, avec adaptation des dimensions à notre projet.

  • Ajout d’un trou rectangulaire sur la face supérieure, conçu pour accueillir précisément le logo de Lisbonne en plexiglas.

  • Plusieurs tests de découpe ont été réalisés pour affiner les mesures et assurer un ajustement parfait du logo.

  • image.pngWhatsApp Image 2025-04-22 à 20.37.20_5c775028.jpg

 

2. Préparation du logo Lisbonne

  • Création graphique sur Canva, puis export au format SVG.

  • image.png
  • Retouche dans Inkscape : on souhaitait ne découper que la partie supérieure des lettres, afin de laisser intactes les inscriptions ou détails présents en bas du logo.

  • Nous avons trouvé une méthode pour dissocier les nœuds du tracé et sélectionner précisément les segments à découper. (A EXPLIQUER DAVANTAGE AVEC PHOTO SI POSSIBLE)

3. Découpe et assemblage

  • Découpe laser de la boîte en bois, test initial réalisé uniquement sur  2 faces.

  • Impression test de la face supérieure seulement avec le trou rectangulaire. (LES DIMENSIONS FINALES)

  • Ajustement progressif des dimensions pour que le logo s’insère avec précision.

  • WhatsApp Image 2025-04-22 à 20.37.21_4e5b6635.jpg

  • Collage de la bande LED sous la zone du logo.

  • Insertion du micro et de l’Arduino à l’intérieur du boîtier.

4. Programmation Arduino

Le cœur interactif du prototype repose sur un script Arduino qui permet aux LEDs de s’animer en fonction du rythme de la musique captée par un microphone. L’objectif était de faire en sorte que le logo Lisbonne s’illumine dynamiquement, apportant une dimension vivante et festive à l’objet.

Objectif: Synchroniser l'affichage lumineux des LEDs avec le son ambiant (musique) capté par un micro.

Étapes et apprentissages clés :

  • Problème rencontré – mauvaise couleur affichée :
    Lors des premiers tests, les LEDs n'affichaient pas les bonnes couleurs.
    ➤ Le souci venait du fait que le bandeau utilisait un ordre GRB (et non RGB comme par défaut).
      • Problème 1 : Mauvaise couleur dans l'affichage du projet.

        FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS);  // GRB ordering is typical

        Il fallait remplacer RGB par GRB :

        FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);  // GRB ordering is typical
    • Premier test – Code de base
      Nous avons commencé avec un code simple pour faire clignoter 9 LEDs de manière aléatoire :

    • #include <FastLED.h>
      
      // How many leds in your strip?
      #define NUM_LEDS 9
      
      // For led chips like WS2812, which have a data line, ground, and power, you just
      // need to define DATA_PIN.  For led chipsets that are SPI based (four wires - data, clock,
      // ground, and power), like the LPD8806 define both DATA_PIN and CLOCK_PIN
      // Clock pin only needed for SPI based chipsets when not using hardware SPI
      #define DATA_PIN 5
      
      // Define the array of leds
      CRGB leds[NUM_LEDS];
      
      void setup() { 
          FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);  // GRB ordering is typical
      }
      
      void loop() { 
      
        for (int i=0; i<=8; i++) {
          // Turn the LED on, then pause
          leds[i] = CRGB::Red;
          FastLED.show();
          delay(500);
          // Now turn the LED off, then pause
          leds[i] = CRGB::Black;
          FastLED.show();
          delay(100);
        }
      
      }
      • Intégration du microphone
        Pour synchroniser l’effet lumineux avec le son, nous avons connecté un micro analogique à l’Arduino selon un schéma de base :
      • ➤ Le but était de récupérer la valeur de l’amplitude sonore et de l’utiliser pour modifier l’intensité ou la couleur des LEDs.
      • Choix du micro – KY-037 non adapté
        Nous avons d'abord testé avec un microphone KY-037, qui s’est révélé inadapté.
        ➤ Ce micro est conçu pour détecter des pics sonores forts (type clap ou bruit soudain), et ne donne pas une lecture fluide du son ambiant continu comme la musique.

      • AJOUTER LA SOLUTION TROUVE
      • Voici le script Arduino pour que les LEDs s’animent en fonction du rythme sonore capté par le micro.
      • Ainsi nous avons pu obtenir un effet visuel dynamique lorsque de la musique est détectée, renforçant l’aspect festif et mémorable du prototype.


Résultat final

Nous obtenons un boîtier en bois compact et élégant, surmonté du logo de Lisbonne en plexiglas. Le logo est éclairé par en dessous, la lumière se diffusant grâce à la transparence et à la diffraction, créant un effet visuel marquant. La réactivité au son ajoute une dimension vivante à l’objet.


Défis rencontrés

  • Précision d’insertion du logo : ajustements fins nécessaires pour obtenir un bon emboîtement.

  • Découpe partielle des lettres : séparation manuelle des points dans Inkscape pour un rendu fidèle au design voulu.

  • Réglages du micro : calibration des seuils pour que les LEDs réagissent bien à la musique sans s'allumer tout le temps.


Perspectives d’amélioration

  • Ajouter une interrupteur pour allumer et éteindre le logo.

  • Intégrer des effets LED plus complexes (ex : clignotement progressif, changement de couleurs).

  • Ajouter une fonctionnalité Bluetooth pour contrôler l’éclairage à distance via une app.


Usage prévu

Ce prototype a été conçu pour être emmené pendant notre voyage de promotion à Lisbonne. Il servira de souvenir collectif, de décoration et de symbole de notre passage, et apparaîtra dans nos photos de groupe pour immortaliser ce moment unique.