IMA3/IMA4 2018/2020 P23

De Wiki de Projets IMA
Révision datée du 27 décembre 2019 à 18:52 par Qbargiba (discussion | contributions) (Analyseur spectral)


Présentation générale

Description

Ce projet a pour but de concevoir un vêtement (robe, jupe, veste ou accessoires) agrémenté d'animations lumineuses. Ce vêtement serait le complément idéal pour des occasions spéciales (anniversaires, mariages, soirées) afin d'attirer l'attention sur vous et d'intriguer les personnes aux alentours.

Pour cela, nous utiliserons des modules de LEDs situés sous un vêtement (T-shirt) et pilotés par des microcontrôleurs. L'objectif est de réaliser une extension légère à porter et simple à câbler.

Un harnais de poitrine viendra se placer sous un t-shirt et le premier motif serait un spectre lumineux d'un égaliseur audio (voir ci-dessous) présent sur le côté avant. Il réagirait en fonction du niveau sonore dans l'environnement autour de lui (écoute avec un microphone). D'autres motifs pourront être programmé par la suite.

Égaliseur audio

Objectifs

L'objectif principal est d'animer via des effets lumineux un vêtement pour attirer l’attention. Pour ce faire, nous allons découper le projet en différents objectifs :

  • Capter et analyser un signal sonore ambiant (musique)
  • Créer des animations lumineuses suivant les fréquences captées ou niveaux d'intensité
  • Établir une communication Bluetooth entre l'électronique embarqué et le smartphone de l'utilisateur
  • Réfléchir aux modules complémentaires pouvant être ajouté pour la suite du projet en IMA4

Ces premiers objectifs vont nous permettre de concevoir notre cahier des charges et par la suite nous guider dans le choix des technologies à choisir et à utiliser.

Analyse du projet

Positionnement par rapport à l'existant

Il existe déjà plusieurs fabricants de vêtements lumineux, cependant les prix sont très élevés, ou les animations sont limitées.

Nous allons donc essayer de trouver une solution abordable, et ajouter diverses animations lumineuses qui réagiront à l'environnement sonore.

Analyse du premier concurrent: LumiGram

LumiDress Sophia (robe lumineuse en tissu fibre optique) 1699.00EUR

LumiGram est une entreprise italienne créée en 2006. Elle est spécialisée dans le domaine des tissus et textiles lumineux (tissus fibre optique). L'entreprise commercialise ses produits sur sa boutique en ligne et peut également effectuer des commandes sur mesure.

Le tissu lumineux est fait de fibres optiques tissées avec des fibres synthétiques. Ces fibres sont traitées pour émettre de la lumière sur toute leur longueur. Elles sont ensuite connectées à des LEDs qui injectent de la lumière dans le tissu. Les produits sont alimentés par un adaptateur secteur 110/220 Volt pour les applications fixes, ou par piles et sont dirigés par un interrupteur.


Les tissus lumineux produits par LumiGram sont utilisés dans différents domaines:

  • L'habillement: ils créent des vêtements prévues pour des soirées ou des spectacles, utilisés par exemple, par certaines stars lors d’événements internationaux tel que le SuperBowl.
  • La décoration: de nombreux produits de décorations sont vendus tels que des coussins, rideaux, nappes, parures de chaises, etc. Ces éléments peuvent être utilisés à l'occasion de soirées mais également dans la vie quotidienne.


Avantages Inconvénients
  • Qualité
  • Rendu visuel
  • Prix
  • Fragilité (pas de pliage à 180°)


Site web LumiGram

Analyse du second concurrent : Lumiwear

Costume led Light1 RGB 339.00EUR

Le second concurrent est Lumiwear (marque française fondée en 2012) proposant des vestes lumineuses modulaires. Cette veste se veut totalement personnalisable avec ses bandes velcro équipé sur le torse, le dos et les manches permettant d'y accrocher des rubans leds monocouleurs ou RGB. Elle est ajustée de façon à rendre son utilisation agréable : poches de rangement (batteries rechargeables), câblage électrique, légèreté, démontable et lavable. Ce vêtement se définit comme "Plug and Play" dans la mesure où il est possible de créer son propre design lumineux sans aucune soudure ni outil.

Lumiwear propose par exemple la veste Light1 entièrement équipée et vendu au prix de 339€ sur leur boutique en ligne. Cette veste comprend à titre informatif:

  • 1 câblage électrique RGB adapté
  • 2 connecteurs 2 sorties et 2 connecteurs 4 sorties
  • 1 batterie rechargeable 4200mAh avec chargeur
  • 4 rubans led RGB de 20cm et 4 rubans led RGB de 40cm prêt à poser
  • 1 contrôleur RGB avec télécommande radiofréquence
Avantages Inconvénients
  • Tissus léger et élastique
  • Câblage optimisé
  • Fixation fiable
  • Prix
  • Personnalisation des LEDs limitée
  • Veste peu esthétique


Site web Lumiwear

Analyse du troisième concurrent : Heart Jacking

T-shirt led vert message lumineux 63.91EUR

Heart Jacking est une société française créée en 2006 par Alexandre Tete. La marque est spécialisée dans la création et le commerce de vêtements et accessoires, notamment lumineux. Elle propose des produits à prix abordables, avec des motifs illuminés sur l'avant des vêtements.


L'entreprise propose différents types de technologie, certains produits utilisent la fibre optique comme les produits Lumigram, alors que d'autres utilisent des leds, cachées derrières des motifs situés au niveau du torse sur les vêtements, et destinées à éclairer ces derniers. Les produits proposent des animations lumineuses fixes, chaque vêtement possède une animation lumineuse qui ne peut être modifié après l'achat, excepté un pull et un t-shirt qui permettent d'afficher un message que l'utilisateur programme au préalable.

Avantages Inconvénients
  • Prix
  • Confortable
  • Animation très limitée


Site web Heart Jacking

Scénario d'usage du produit ou du concept envisagé

Dans notre premier scénario d'usage, nous prenons le cas d'un jeune homme, nommé Jacques, qui veut rejoindre ses amis en soirée.

Jacques aime faire la fête et séduire des filles, or Jacques n'arrive pas à attirer leur attention, elle est déjà accaparée par son ami Franck.

Alors Jacques, enfile sa veste équipée de LEDs et part en soirée. Une fois arrivé, ni une ni deux il allume sa veste et tout le monde se tourne vers lui, en lui demandant de leur expliquer quelle est cette drôle de veste.

Ainsi Jacques a réussi à attirer l'attention de tout le monde, notamment celle des filles et peut maintenant s'amuser.


Dans notre second scénario d'usage, nous prendrons un jeune, nommé Thibault, faisant partie de la sono (association Polytech'Lille).

Thibault aime pendant les soirées mixer et user d'effets de lumière pour créer une bonne ambiance, mais pour s'investir encore plus, il a décidé d'être lui même les effets de lumière en portant un t-shirt agrémenté de led's réagissant au son mixé par Thibault.

Ainsi, Thibault n'en est que plus satisfait de sa prestation.


Procédé d'utilisation

L'utilisateur souhaite s'équiper de l'assortiment de LEDs. Pour ce faire, il branche les 2 connecteurs USB sur la batterie externe afin d'alimenter l'Arduino et le circuit électronique. Il enfile le harnais de poitrine au dessus d'un t-shirt et remet par dessus un autre t-shirt. Puis, il se connecte avec son smartphone Android à l'Arduino grâce à la communication Bluetooth. A partir de ce moment, l'utilisateur peut décider des modes qu'il souhaite afficher. Lorsqu'il décidera d'enlever l'équipement, il procédera aux mêmes étapes à l'envers, et pourra laver ses vêtements personnels. Enfin, pour une utilisation de longue durée, l'utilisateur devra recharger sa batterie externe au maximum pour profiter pleinement des animations lumineuses.

Réponses aux questions difficiles

- Quels moyens d'affichage existent-ils et lequel choisirez-vous ?

Il existe différents types d'affichage tels que des rubans leds, des écrans "flexible" à leds, des écrans rigides à leds. Dans notre projet, nous avons décidé de construire une matrice de leds à partir de rubans leds. Ce choix est détaillé dans la partie "Réalisation du Projet - Projet S6 - Semaine 5 à 8".


- Comment allez-vous procéder à la communication entre les modules ?

La communication sera filaire pour les modules présents sur le harnais de poitrine, puis sera piloter depuis un smartphone grâce à un module bluetooth pour contrôler le mode des animations.


- Quelle est la puissance requise pour votre conception ?

Nous savons qu'une led consomme à pleine luminosité 60 mA (20 mA par émission de couleur (Rouge, Vert, Bleu)) sous une tension de 5V. Ce qui donne une puissance de 0,06*5=0,3W pour un total de 0,3*144=43,2W. Cette puissance est évidemment très élevée et nécessite les pires conditions d'utilisation tels que l'allumage de toutes les leds en blanc avec la luminosité au maximum. Pour palier ce problème, nous limiterons la luminosité des leds à 10% de ses capacités maximales pour une utilisation standard, ce qui offre une expérience utilisateur toujours agréable. Egalement, nous serons rarement dans le cas où toutes les leds sont allumées au même moment.


- Quelle est la puissance de calcul nécessaire au fonctionnement de votre matrice de leds ?

Les programmes de pilotage de LEDs sont volumineux, pour éviter l'ajout d'un micro-contrôleur externe, nous nous sommes orientés vers une Arduino Mega 2560 offrant un espace de stockage plus conséquent. Voici un tableau comparatif entre deux cartes Arduino.

Carte SRAM EEPROM Flash
Uno 2Ko 1Ko 32Ko
Mega 2560 8Ko 4Ko 256Ko


- Comment comptez-vous rendre votre pull lavable ?

Nous collerons les leds sur un harnais de poitrine pouvant s'enfiler sous un vêtement pour que le système ne soit pas fixé à un vêtement. De cette manière, notre système n'empêche pas le lavage, et permet d'être utilisé sous différents vêtements.

Bibliographie et webographie

Sites web des concurrents:

Préparation du projet

Cahier des charges du groupe

Les différents points que nous souhaitons aboutir dans notre projet sont les suivants. Nous voulons des modules de LEDs modulables grâce à un harnais de poitrine (équipé de scratch) posé en dessous du t-shirt. Notre produit doit être simple d'utilisation et agréable (léger, souple) à porter pour le particulier. Il doit également être rechargeable et lavable. Les câbles et circuits électroniques doivent être résistants aux chocs et sans danger (court-circuit par exemple). L'extension doit avoir une autonomie d'au minimum 2 heures. La matrice de LEDs située sur le torse pourra comprendre plusieurs animations (égaliseur audio, drapeaux de pays, morpion ou autre mini-jeux, ...).

Cahier des charges des équipes

Equipe principale

Dû au départ de Baptiste GIBARU pour sa préparation militaire, le projet se composera d'une équipe principale, comprenant Robin COUBELLE et Quentin BARGIBANT. Par conséquent, le "Cahier des charges du groupe" est le "Cahier des charges de l'équipe principale".

Choix techniques : matériel et logiciel

Equipe principale

Le matériel nécessaire à la réalisation du prototype est le suivant :

  • 1 Arduino Mega 2560; les pixels seront gourmand en RAM, par conséquent l’utilisation de l’Arduino Uno sera par exemple limitée à 150 LEDs.
  • 1 Batterie externe (Varta Power Bank 57960); capable de délivrer 5V 2400mA et d’une capacité de 6000mAh, qui comporte 2 entrées USB pour alimenter la carte et les LEDs.
  • 1 Bandeau de LEDs (Adafruit NeoPixel Digital RGBW LED Strip - Black PCB 144 LED/m - 1m).
  • 1 capacité 1000 µF, 6.3V ou plus; entre les bornes + et – qui alimenteront le circuit électronique. Cela protège les NéoPixels des dommages du "torrent initial" de courant.
  • 1 résistance 470 Ohms; entre la broche de donnée du microcontrôleur et l'entrée de donnée NéoPixels ("data input") sur le ruban NéoPixel pour prévenir des pointes de tensions sur la ligne de donnée qui pourrait endommager le premier Pixel.
  • 1 microphone (Adafruit MAX4466) ; pour l’égaliseur audio.
  • 1 module Bluetooth (HC-05) ; pour la communication smartphone-arduino.
  • 1 harnais de poitrine qui sera conçu en IMA4.
  • Un multimètre pour faire des mesures de courant et de tension.


Les logiciels utilisés seront :

  • Arduino IDE pour la programmation de la carte électronique.
  • Fritzing pour les schémas de câblage.
  • Bluetooth Terminal est une application Android permettant de communiquer entre smartphone et un module Bluetooth.
  • MIT App Inventor 2 pour l'application Android développé en IMA4.

Liste des tâches à effectuer

Equipe principale

La liste des tâches à effectuer est énumérée dans le diagramme qui suit.

Calendrier prévisionnel

Veuillez trouver ci-dessous le calendrier prévisionnel sous la forme d'un diagramme de GANTT créé à partir du logiciel MindView.

Equipe principale

Update : 01/06/2019

P23 gantt 01-06-2019.png

Réalisation du Projet

Projet S6

Semaine 5 à 8

Modèle envisagé

Schéma du modèle envisagé

Nous avons décidé d'appuyer certains aspects de notre projet, qui en feront ses points forts:

  • Premièrement, notre vêtement sera composé de plusieurs modules d'animations: un module principal destiné à se situer au centre du vêtement, et deux modules plus petits, destinés à se trouver sur les cotés du vêtement (épaules par exemple). Ces modules d'animations seront alimentés par une batterie, et contrôlés par un microcontrôleur, situés tout deux au niveau de la nuque (ou sous forme de sac/sacoche) de l'usager, ce qui nous semble être le plus pratique (dans le cas où l'utilisateur s'assied, l'électronique n'est pas touché).
  • Deuxièmement, notre projet sera de type "Plug&Play", nous voulons mettre en avant le fait que le vêtement soit totalement modulable, aussi bien au niveau des animations qu'au niveau du placement de ces dernières. Pour ce faire, le vêtement sera orné de scratch à plusieurs niveaux, permettant de changer la position des modules.
  • Dernièrement le confort nous semble être un point primordial, nous avons donc décidé que le projet ne se situera pas à même le vêtement, mais il sera placé sur un harnais de poitrine, placé sous le vêtement à éclairer, et qui nous permettra d'éclairer n'importe quel vêtement assez fin pour faire passer la lumière.

Trois différentes possibilités s'offrent à nous pour réaliser ce projet: les matrice de leds, les circuits imprimés ainsi que les bandeaux leds.

- Matrice de leds

Les matrices de leds souple nous paraissent être une solution envisageable pour notre projet: elles permettent de programmer facilement des animations poussées, en commandant chacune des led de la matrice. Le rendu visuel nous parait être le meilleur.

Il existe différentes types de matrices, et différentes tailles, ce qui nous permettrait de choisir un module principal et plusieurs modules complémentaires facilement.


Cependant travailler avec des matrices de leds adressable une par une nous confronte à un gros problème: la gestion de la puissance utilisée par notre système. En effet, en prévoyant de coller 3 matrices sur le harnais de poitrine, utiliser chaque led à sa luminosité maximale et en couleur blanche nous oblige à fournir quasiment 9A au système, ce qui est impossible. Un second inconvénient des matrices de leds souples, est la rigidité, la matrice est flexible mais nécessite une pression plutôt forte pour être plier, utiliser cette technologie réduira fortement le confort de notre produit pour l'utilisateur.


Module principal possible: Matrice 16x16

Module complémentaire possible: Matrice 8x8

- Circuits imprimés

Les circuits imprimés comportant des leds sont également une possibilité pour notre projet, elles permettent d'utiliser beaucoup moins de puissance que les deux autres technologies. Cette technologie nous a été conseillé par les enseignants pour son énorme gain d'énergie (notamment si l'on multiplexait les leds).

Cependant, l'objectif de notre projet est de fabriquer un vêtement lumineux, nous avons pensé que les principales contraintes était le confort d'utilisation ainsi que le rendu visuel du projet (qui est subjectif). Les PCB possèdent trop de défauts pour notre projet: premièrement la rigidité de la carte empêche le confort de l'usager lorsqu'il utilise le vêtement. Dans un second temps, les leds multiplexées proposent trop peu d'animations. Nous avons donc préféré ne pas utiliser cette technologie dans notre projet.

- Bandeaux leds

La dernière technologie que nous avons envisagé d'utiliser sont les bandeaux de leds, ils existent de nombreux bandeaux, de plusieurs tailles et d'un nombre de leds différents. Le fonctionnement des bandeaux ressemble à celui des matrices, chaque led est adressable, ce qui nous permet de créer un nombre quasi-illimité d'animations.

Les bandeaux ont deux avantages par rapport aux matrices:

  • Premièrement, les bandeaux peuvent être coupés, cela nous permet d'avoir des modules modifiables, au niveau de la forme ou de la longueur par exemple.
  • Deuxièmement les bandeaux sont plus souples que les matrices, et permettent un confort excellent pour l'utilisateur.

Nous rencontrerons deux difficultés en utilisant les bandeaux:

  • En les coupant, nos modules seront plus fragiles qu'une matrice ou qu'un circuit imprimé.
  • Le système pourra demander une grande puissance selon les animations demandées si la luminosité est mal gérée (explication à la 3ème question difficile).

Semaine 9

Après avoir étudié les différents avantages et inconvénients de chaque possibilité, notre groupe a décidé d'utiliser les bandeaux leds pour réaliser le harnais de poitrine lumineux. Ce choix a été fait pour optimiser la modulation et les animations de notre projet, il faudra donc faire attention à la possible fragilité des bandeaux lorsqu'on les séparera en plusieurs morceaux.

Après avoir choisi notre technologie, nous avons tout d'abord préparé les modules principaux, indispensable au projet et qui nous serviront pour la réalisation de notre prototype. Trois modules seront donc réalisés en priorité:

  • L'alimentation et le microcontrôleur.
  • Le module d'animation principal, situé généralement sur le torse du harnais.
  • Le microphone.

A ces trois modules, il sera ajouté un module bluetooth, qui connectera le système à un téléphone. Nous allons créer une application (MIT App Inventor 2), pour le prototype nous nous limiterons à un terminal Android bluetooth, permettant à l'usager de choisir les animations sur son vêtement, et potentiellement une interaction pour des mini-jeux par exemple.


Pour créer les différentes animations sous Arduino, nous utiliserons 3 bibliothèques: Adafruit GFX Library, Adafruit NeoPixel, Adafruit NeoMatrix. Ces bibliothèques nous permettent de définir notre bandeau led (sous forme de matrice ou non) et de gérer facilement l'affichage led par led. Pour prendre en main la programmation du bandeau led, nous utiliserons les différents programmes de test présents dans les librairies, et nous les modifierons pour comprendre chaque fonction utilisée.

Semaine 10

Nous avons réalisé le schéma de câblage permettant la bonne utilisation de nos modules. Puis, nous avons commencé à mettre en place des programmes pour tester indépendamment chaque module.

Remarque: L'alimentation de la carte Arduino est bien fourni par la batterie portable qui comprend 2 ports USB.

Schéma de câblage

Semaine 11

Nous avons commencé cette semaine en mesurant la demande en courant de notre bandeau, en fonction du nombre de leds, de l'intensité lumineuse et de la couleur demandée. Nous avons obtenu les résultats suivants:

  • Mesures sur un programme d'exemple (strandtest) fourni par une des librairies utilisées, sur 144 LEDs.
Luminosité (0 à 255) Mode clignotement Mode multicouleurs Une couleur R/G/B au max
25 0,15A 0,33A Pas mesuré
155 0,3A 1,40A 1,13A
255 0,84A 2,24A 1,80A
  • Mesures de l'intensité avec la couleur "blanc", couleur demandant le plus de courant, sur un nombre de LEDs variables.
Luminosité (0 à 255) 10 LEDs 20 LEDs 144 LEDs
10 0,15A 0,16A 0,32A
25 0,17A 0,20A 0,60A
145 0,31A 0,52A 2,80A
255 0,46A 0,81A Pas assez de courant délivré

Remarque: Circuit alimenté avec sur le bandeau une seule LED blanche allumée consomme 0,13A.


Il faut également noter que l'intensité lumineuse maximale est utile uniquement si le bandeau est exposé au soleil, ce qui ne sera pas notre cas, car notre produit sera utilisé principalement lors de soirée, quand il fera sombre ou noir. L'intensité maximale ne sera donc quasiment jamais utilisée car elle sera désagréable à observer.

Les résultats nous montrent ce que le fabricant nous avait indiqué: le bandeau est très gourmand en énergie à pleine puissance. Cependant nous sommes satisfait du rendu à très faible intensité lumineuse (10% de l'intensité maximale est déjà très visible à travers un tissu fin), et étant donné que les animations allumeront les leds à tour de rôle, le courant demandé nous semble correct. Pour éviter toute demande d'énergie excessive, nous avons décidé qu'au début de chaque fonction correspondant à une animation, le niveau de luminosité sera ajusté en fonction du courant maximal demandé par l'animation (et du rendu désiré en second lieu).


Nous avons également écrit nos premiers programmes d'animations ayant un rendu visuel en lignes et/ou en colonnes, certains n'ont pas pu être testés correctement sur le bandeau, étant donné qu'il n'était pas encore sous forme matricielle. Les premiers programmes interagissent avec le micro, ils correspondent aux animations d'égaliseur lignes et colonnes.

Semaine 12

Soudure entre les bandeaux

Nous avons choisi de découper notre bandeau en une matrice 24*6, pour avoir des possibilités sur la hauteur (6 pixels) et garder une certaine longueur pour pouvoir moduler à nouveau notre bandeau si nous le désirons.

Durant la soudure, nous avons rencontré un problème car les pin du bandeau sont extrêmement petits, ce qui ne nous permettait pas de mettre assez d'étain sur chaque fil rendant la soudure fragile. Pour palier à ce problème nous utiliserons des barrettes, qui permettront aux trois fils d'être reliés physiquement entre eux (pas électriquement) et qui permettront d'être soudé en trois points, réduisant la fragilité rencontrée précédemment.

Nous avons également rendu la connexion Bluetooth smarpthone-Arduino opérationnelle.

Drapeau français


Voici par exemple un simple code pour montrer que toutes les LEDs fonctionnent.

  if(message == "fr"){
    matrix.clear();
    for (int i=0;i<8;i++){
        for (int j=0; j<lignes; j++){
          matrix.drawPixel(i,j,colors[0]); //colors[0] représente le rouge
        }
      }
    for (int i=8;i<16;i++){
        for (int j=0; j<lignes; j++){
          matrix.drawPixel(i,j,colors[12]); //colors[12] représente le blanc
        }
      }
    for (int i=16;i<24;i++){
        for (int j=0; j<lignes; j++){
          matrix.drawPixel(i,j,colors[8]); //colors[8] représente le bleu
        }
      }    
    matrix.show();
  }

Prototype

Voici un exemple d'utilisation de l'égaliseur dans un environnement sonore sur notre prototype final du S6, avec un tissu au-dessus de la matrice de LEDs.

Égaliseur en marche

Documents Rendus

Remarques suite à la soutenance

Suite à la soutenance de fin de semestre 6, les encadrants nous ont évoqués de potentiels problèmes, ainsi que de potentielles améliorations que nous devrons étudier:

  • La dissipation de chaleur du système, qui sera directement ressenti par l'utilisateur.
  • Le développement d'animations par l'utilisateur, pour lui permettre de personnaliser encore plus son produit.
  • L'utilisation de petits écrans pour les modules complémentaires.
  • La conception du PCB et la révision de notre microcontrôleur.

Projet S7

Préparation du projet

Réorganisation du projet

Suite aux remarques qui ont été faites lors de la soutenance du S6, nous avons fait un travail de reformulation de notre projet.

Entre temps, nous avons intégré Stephen Andriambolisoa et Simon Lecoutère dans notre groupe. Cela nous permettra de pousser davantages nos recherches et ainsi fournir un contenu plus abondant.

Nouveau cahier des charges

L'objectif principal de notre projet est de créer un support lumineux pouvant être porté sous un vêtement, réagissant aux sons audibles environnementaux.

Ainsi, plusieurs contraintes s'imposent pour ce projet, notamment suite aux remarques des professeurs:

- Faire réagir un certain nombre de LEDS en fonction de la fréquence écoutée en entrée
- Amoindrir la consommation énergétique de notre système: soit limiter la dissipation de chaleur
- Amoindrir le poids total du système pour pouvoir le porter sur une longue durée: soit limiter le nombre de composants

Pistes

Après quelques réunions, nous nous sommes concertés pour diviser ce rapport en deux parties. D'une part nous voulons assurer la réalisation de notre matrice de leds, d'autre part nous voulons explorer d'autres pistes, notamment avec un FPGA. C'est pour cela que nous créerons deux équipes pour essayer de réaliser les deux versions du projet, l'équipe 1 assurera la réalisation via un microcontrôleur alors que la seconde équipe approfondira le sujet via le FPGA.

Équipe 1 (Microcontrôleur) Équipe 2 (FPGA)

Quentin

Robin

Stephen

Simon

Recherches FPGA

Choix fenêtre : pas besoin d'une fenêtre de fréquences précise
Choix gestion du bruit : attention il faut un traitement instantané (pas forcément précis)

Principe

Le but principal du projet cette année est de récupérer le signal d'un enregistrement audio pour représenter sa gamme de fréquences échantillonnées sur des matrices de LEDs.

Dans un premier temps, à l'aide d'un CAN (convertisseur analogique - numérique), nous allons échantillonner le signal récupéré.
Par la suite, ce qui représentera l'étape la plus importante, à l'aide d'un FPGA nous nous sommes intéressés à la conception d'un algorithme de FFT sur notre signal échantillonné.

A partir des spectres obtenus, on voulait séparer les différentes raies en plage de fréquences pour ensuite additionner les amplitudes de toutes les raies de chaque plage.

Grâce aux amplitudes obtenues, on pense utiliser un microcontrôleur pour gérer les matrices de LEDs via une liaison série en adaptant le nombre de LEDs allumées en fonction de l'amplitude des différentes plages.

Faisabilité

Utiliser un FPGA permet d'effectuer les calculs de FFT en parallèle, ce qui améliore le rendu de notre projet en temps réel. Cependant, la complexité du langage de programmation VHDL ainsi que le manque de ressources nous ont pris beaucoup de temps et n'ont pas permis de simuler notre premier programme.

De plus, la consommation énergétique d'un FPGA est également trop élevée pour pouvoir l'utiliser dans un projet de wearable electronics. Un des points de notre cahier des charges n'est donc pas respecté. Nous allons tout de même nous lancer pour le point pédagogique et la curiosité. Nous pourrons préalablement trouver une solution plus tard.

Réalisation par microcontrôleur

Choix du microcontrôleur

Nous utiliserons le microcontrôleur ATMEGA328P-PU pour notre projet. Le nombre d'entrées/sorties du microcontrôleur est suffisant pour notre application.

La version PU de l'ATMEGA328P nous permettra d'implanter du nouveau code si nécessaire.

Analyseur spectral

Notre signal sonore sera récupéré par le microphone utilisé au Semestre 6, on traitera alors ce signal avant d'envoyer la donnée à utiliser au microcontrôleur.

La solution envisagée pour réaliser le traitement de signal est l'utilisation de circuits passe-bandes. A différentes bandes passantes comprises dans les fréquences audibles, nous identifierons le pic de fréquence maximal, et nous l'utiliserons pour notre analyseur spectral. Nous voulions utiliser des filtres passe-bande actifs comme ci-dessous, en parallèle pour chaque plage de fréquences.

Passe-bande

Il s'agit là d'un filtre passe-bas en cascade avec un filtre passe-haut. Le but était de retrouver les fréquences de coupures de chaque filtre pour en tirer une plage de fréquences. Il aurait fallu dimensionner chaque filtre passe-bande pour finalement avoir un circuit qui traite notre signal audio d'entrée. Cependant, avec ce schéma il nous aurait fallu 14 AOP pour 7 plages de fréquences (définies et pouvant être modifiées grâce à des résistances variables). La carte électronique serait assez grande et moins confortable à porter par conséquence.

L'utilisation de notre analyseur spectrale ne nécessite pas une précision extrême, et nous sera utile uniquement dans le domaine du visible: l'analyseur affichera les fréquences de la musique entendue par l'utilisateur. Pour cette raison les filtres passe-bandes peuvent être fixé dans le domaine audible. On utilisera alors un composant électronique composé de 7 passe-bandes: le MSGEQ7.

Alimentation du circuit

Notre projet sera toujours alimenté par une batterie externe possédant 2 sorties. Une sortie alimentera la carte et donc le microcontrôleur, l'autre alimentera les LEDs, qui consomment la plupart de l'énergie de notre système.

L'utilisation des batteries externes permet d'avoir une autonomie correcte (pas encore calculée), et permet une utilisation constante du produit si l'utilisateur possède une seconde batterie avec lui.

Schéma électronique et PCB

(en cours)

Projet S8

Documents Rendus