======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 {{https://zupimages.net/up/19/44/4kwl.png}} ===Capteur cardiaque=== * https://www.instructables.com/id/Wireless-Heartbeat-Monitor-Part-I/ * https://www.instructables.com/id/ECG-Monitoring-System-by-Using-Arduino-or-AD8232/ ====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. {{https://zupimages.net/up/19/44/zjqb.png}} {{youtube>Lx0nLdErSyQ?medium}} 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 // 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); } {{https://zupimages.net/up/19/45/hvaw.png}} {{https://zupimages.net/up/19/45/nneo.png}} {{https://zupimages.net/up/19/45/r6x9.png}} {{youtube>twIl-URM1Go?medium}} ===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 #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; iMGCjHzaBHPc?medium}} {{ :wiki:projets:img_7439.jpg?400 |}} 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 {{https://zupimages.net/up/19/47/0cfn.png}} ===Mercredi 18 novembre 2019=== {{https://zupimages.net/up/19/51/pf8x.png}} {{https://zupimages.net/up/19/51/euo1.png}} {{youtube>OOlMzG-E_K8?medium}}