Outils pour utilisateurs

Outils du site


wiki:projets:vetementconnecte

Vêtement connecté

Porteurs du projet :

  • Lyna Saoucha
  • Mayura Subramaniam

Principe du projet

Nous avions au départ deux idées distinctes : utiliser un capteur cardiaque pour percevoir le pouls, et créer un vêtement de lumière qui change selon le mouvement de la personne qui le porte ou selon l'environnement.

Nous avons décidé de combiner ces idées et de créer un vêtement (t-shirt ou veste…, un vêtement unisexe et facile à mettre/enlever) équipé de LED reliées par ARDUINO à un capteur du rythme cardiaque.

Inspirations

Vêtement de lumière

  • Clara Daguin
  • Hussein Chalayan
  • Zac Posen
  • Behnaz Farahi

Capteur cardiaque

Avancement du projet

Vendredi 25 octobre 2019

Nous avons utilisé ARDUINO, un Base Shield V2 (Seeed studio), une LED et une résistance pour d'abord mesurer le rythme cardiaque, puis allumer la LED et changer son intensité selon le rythme cardiaque.

Programme utilisé :

const int capteur = A0;

void setup() {
// put your setup code here, to run once:
Serial.begin(9600); // initialise l'Arduino
pinMode(capteur, INPUT); // initialise le capteur INPUT
pinMode(11, OUTPUT); // initialise la LED sur le port 11 }

void loop() {
// put your main code here, to run repeatedly:
int pouls = digitalRead(capteur); // initialise la variable pouls qui aura pour valeur la valeur lue par le capteur (digitalRead = soit 1 soit 0)
Serial.print("Valeur capteur : "); // afficher dans le moniteur série "valeur capteur :  
Serial.print(pouls);
Serial.print("\n");
digitalWrite (11, pouls);}

Vendredi 8 novembre 2019

Essais de soudure et test du bandeau de LED, en s'aidant de ce site : http://www.fablabredon.org/wordpress/2017/12/17/lumiere-sur-larduino-avec-de-la-couleur-et-des-led/ et http://www.fablabredon.org/wordpress/2019/01/02/ruban-de-led-le-retour/

Structure de base du programme :

#include <Adafruit_NeoPixel.h> // Charge la librairie Neo Pixel d'Adafruit utilisé pour piloter le ruban de LED

#define PIXEL_PIN 6 // On définit le pin où est connecté la patte DATA du bandeau
#define PIXEL_COUNT 150 // On définit le nombre de LED compris sur le Ruban de LED soit 150 pour le ruban de 5m50

Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800); // Paramètre l'objet strip qui correspond à toute les LED du ruban 

void setup() {
   strip.begin(); // Lance la connection
   strip.show(); // Initialise toute les led à 'off'
}

/* Définition des couleurs */
int RED[3] = {255, 0, 0}; // Couleur Rouge
int GREEN[3] = {0, 255, 0}; // Couleur Verte
int CYAN[3] = {0, 255, 255}; // Couleur Cyan
int YELLOW[3] = {255, 125, 0}; // Couleur Jaune
int ORANGE[3] = {255, 40, 0}; // Couleur Orange
int PURPLE[3] = {255, 0 , 255}; // Couleur Violette
int PINK[3] = {255, 0, 100}; // Couleur Rose
int BLUE[3] = {0, 0, 255}; // Couleur Bleu
int WHITE[3] = {255, 255, 255}; // Couleur Blanche

void loop() {
  strip.setBrightness(100); // Règle la luminosité à 100 % de la luminosité maximale
}

On peut ensuite compléter ce code selon l'effet souhaité (“chenillard”, allumage progressif de toutes les LED etc…) Exemple : pour allumer toutes les LED en rouge, on complète avec

void allLeds(int COLOR[])
{
for(int i = 0 ; i < PIXEL_COUNT ; i++)
{
strip.setPixelColor(i, COLOR[0], COLOR[1], COLOR[2]);
}
strip.show();
}
void loop() {
strip.setBrightness(100) ;
allLeds(RED);
}

Vendredi 15 novembre 2019

Après avoir réussi à manipuler la guirlande de LED avec l'Arduino, on a écrit un programme qui permettait de relier la guirlande au capteur de rythme cardiaque. La guirlande s'allume et s'éteint en suivant les données du pouls. Ensuite, on a modifié le programme afin qu'à chaque battement, les lumières changent de couleurs : on a 8 couleurs en tout.

Programme utilisé :

#include <Adafruit_NeoPixel.h>
#define PIXEL_PIN 6 
#define PIXEL_COUNT 13
const int capteur = A0;
Adafruit_NeoPixel strip = Adafruit_NeoPixel(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
 Serial.begin(9600); // initialise l'Arduino
 pinMode(capteur, INPUT); // initialise le capteur INPUT
 strip.begin(); // Lance la connection
 strip.show(); // Initialise toute les led à 'off'
// put your setup code here, to run once:
}
int RED[3] = {255, 0, 0}; // Couleur Rouge
int GREEN[3] = {0, 255, 0}; // Couleur Verte
int CYAN[3] = {0, 255, 255}; // Couleur Cyan
int YELLOW[3] = {255, 125, 0}; // Couleur Jaune
int ORANGE[3] = {255, 40, 0}; // Couleur Orange
int PURPLE[3] = {255, 0 , 255}; // Couleur Violette
int PINK[3] = {255, 0, 100}; // Couleur Rose
int BLUE[3] = {0, 0, 255}; // Couleur Bleu
int WHITE[3] = {255, 255, 255}; // Couleur Blanche
int compteur = 0;
int valPoulsPrec = 0;
void allLeds(int COLOR[])
{
for(int i = 0 ; i < PIXEL_COUNT ; i++)
{
strip.setPixelColor(i, COLOR[0], COLOR[1], COLOR[2]);
}
strip.show();
}
void turnOff(){
  for(int i = 0; i<PIXEL_COUNT; i++){
  strip.setPixelColor(i, 0, 0, 0);
  }
  strip.show();  
}
void loop() {
  strip.setBrightness(100) ;
  int pouls = digitalRead(capteur); // initialise la variable pouls qui aura pour valeur la valeur lue par le capteur (digitalRead = soit 1 soit 0)
  Serial.print("Valeur capteur : "); // afficher dans le moniteur série "valeur capteur :  
  Serial.print(pouls);
  Serial.print("\n");
  Serial.print ("Compteur :");
  Serial.print (compteur);
  Serial.print ("\n");
  if (valPoulsPrec != pouls ){
  compteur ++;
  }
  if (pouls == 1){
    if (compteur % 9 == 0){
      allLeds(RED);
    } 
    else if (compteur % 8 == 0){
      allLeds(GREEN);
    }
    else if (compteur % 8 == 1){
      allLeds(CYAN);
    }
    else if (compteur % 8 == 2){
      allLeds(YELLOW);
    }
    else if (compteur % 8 == 3){
      allLeds(ORANGE);
    }
    else if (compteur %8 == 4){
      allLeds(PURPLE);
    }
    else if (compteur %8 == 5){
      allLeds(PINK);
    }
    else if (compteur %8 == 6){
      allLeds(BLUE);
    }
    else if (compteur %8 == 7){
      allLeds(WHITE);
    }
    valPoulsPrec = 1;
  } 
  else{
    valPoulsPrec = 0;
  }
}

Suite du projet :

  • réussir à trouver 2 rubans similaires pour la fabrication de la veste
  • souder le tout sur un Arduino Nano qui serait ensuite intégré à la veste
  • se mettre à la couture de la veste.

Vendredi 22 novembre 2019

  • Nous n'avons pas pu trouver un deuxième ruban Led
  • Essai pour changer le programme : faire en sorte que les battements soient traduits par des variations de l'intensité lumineuse, et que la couleur dépende de la fréquence cardiaque. Par exemple : entre 50 et 60 bpm = bleu / entre 60 et 70 bpm = vert / entre 70 et 80 bpm = orange, etc… (peut être avec un encadrement de valeurs moins étendu, pour avoir plus de variations de couleur)
  • Test sur Arduino Nano

Mercredi 18 novembre 2019

wiki/projets/vetementconnecte.txt · Dernière modification: 2019/12/19 23:03 de msubramaniam