Table des matières:

Wearable - Projet final : 7 étapes
Wearable - Projet final : 7 étapes

Vidéo: Wearable - Projet final : 7 étapes

Vidéo: Wearable - Projet final : 7 étapes
Vidéo: Iron Man uses the Infinity Gauntlet✊ 2024, Juin
Anonim
Wearable - Projet final
Wearable - Projet final

INTRODUCTION

Dans ce projet, nous avions pour tâche de créer un prototype portable fonctionnel basé sur les fonctions d'un cyborg. Saviez-vous que votre cœur se synchronise avec le BPM de la musique ? Vous pouvez essayer de contrôler votre humeur à travers la musique, mais et si nous laissions la technologie nous aider à nous calmer ? Nous avons juste besoin de quelques composants, d'un Arduino et de vos écouteurs. Innovons !

Projet de Marc Vila, Guillermo Stauffacher et Pau Carcellé

Étape 1: Matériaux et composants

Matériaux et composants
Matériaux et composants

Matériaux de construction:

- Bracelet imprimé en 3D

- Vis M3 (x8)

- Écrous M3 (x12)

- Sac banane

Matériel électronique:

-Capteur de fréquence cardiaque BPM

- Boutons (x2)

- Potentiomètre

- MODULE LCD C1602

- MODULE DFPLAYER MINI MP3

- CASQUE TRRS stéréo Jack 3,5 mm

- Carte Micro SD

- Plaque Arduino Uno

- Soudeur

- Plaque en bakélite

Étape 2: Concevoir un bracelet

Concevoir un bracelet
Concevoir un bracelet
Concevoir un bracelet
Concevoir un bracelet

Tout d'abord, nous réalisons plusieurs croquis pour organiser les différents composants du bracelet.

Avec l'idée claire, nous avons pris les mesures des trois bras des membres du groupe, puis nous avons fait la moyenne pour trouver la mesure optimale pour le design. Enfin, nous concevons le produit avec un programme 3D et l'imprimons avec une imprimante 3D.

Vous pouvez télécharger les fichiers. STL ici.

Étape 3: Connexions électroniques

Connexions électroniques
Connexions électroniques

Nous continuons à faire les vérifications nécessaires de notre conception 3D, nous avons fait un premier assemblage de tous les composants du prototype pour voir que les mesures étaient correctes.

Pour connecter tous les composants à la carte Arduino, nous avons effectué différentes connexions à partir des composants à l'aide de câbles de 0,5 mètres, de cette manière nous réduisons la visibilité de la carte et nous organisons mieux le prototype.

Étape 4: le code

Le code
Le code
Le code
Le code
Le code
Le code

Ce projet est un prototype de cyborg. Évidemment, nous n'avons pas introduit les composants sous la peau, nous l'avons donc simulé avec un bracelet en guise d'orthèse (dispositif externe appliqué sur le corps pour modifier les aspects fonctionnels).

Notre code prend les frappes de l'utilisateur et les montre à l'aide de l'écran LCD. En plus du BPM, l'écran affiche l'intensité souhaitée afin que l'utilisateur puisse la comparer avec sa fréquence cardiaque. Il existe de nombreuses situations où il est intéressant d'augmenter ou de réduire son propre BPM. Par exemple, les sportifs d'endurance doivent contrôler les pulsations pour ne pas se fatiguer excessivement. Un exemple quotidien serait de vouloir dormir ou se calmer dans une situation nerveuse. Il pourrait également être appliqué comme méthode thérapeutique pour les personnes autistes afin de réduire le stress qu'elles ressentent. A côté de l'écran se trouvent deux boutons pour contrôler l'intensité souhaitée et augmenter ou diminuer la fréquence cardiaque. Selon l'intensité, un type de musique préalablement étudié est joué. Il existe des études qui montrent que la musique peut modifier le BPM. Selon Beats per Minute de la chanson, le corps humain imite et correspond à ces BPM.

int SetResUp = 11; // broche 10 d'Arduino avec bouton d'augmentation d'intensité.int SetResDown = 12; // broche 11 d'Arduino avec bouton de diminution de l'intensité

int ResButtonCounter = 0; // compteur de fois qui augmente ou diminue le paramètre de résistance, valeur initiale de 0 int ResButtonUpState = 0; // état actuel du bouton d'augmentation d'intensité int ResButtonDownState = 0; // état actuel du bouton de diminution de l'intensité int lastResButtonUpState = 0; // dernier état du bouton d'augmentation d'intensité int lastResButtonDownState = 0; // dernier état du bouton de diminution de l'intensité

int pulsePin = 0; // Pulse Sensor connecté au port A0 // Ces variables sont volatiles car elles sont utilisées lors de la routine d'interruption dans le deuxième onglet. volatil int BPM; // Battements par minute volatile int Signal; // Entrée de données du capteur d'impulsion volatile int IBI = 600; // Temps d'impulsion volatile booléen Pulse = false; // True lorsque l'onde de pouls est élevée, false lorsqu'elle est Low volatile boolean QS = false;

# define Start_Byte 0x7E # define Version_Byte 0xFF # define Command_Length 0x06 # define End_Byte 0xEF # define Acknowledge 0x00 // Renvoie les informations avec la commande 0x41 [0x01: info, 0x00: aucune info]

//PANTALLA #include // Téléchargez la bibliothèque pour les fonctions de l'écran LCD #include #include

LiquidCrystal LCD (7, 6, 5, 4, 3, 2); // Déclare les ports où le LCD est connecté

//LECTEUR #include #include // Téléchargez la librairie pour les fonctions du module dfplayer mini MP3.

char serialData; int nsong; à la TV;

Logiciel Comm. série (9, 10); // Déclarer les ports où le DFPlayer est connecté DFRobotDFPlayerMini mp3;

void setup() { Serial.begin(9600); pinMode(SetResUp, INPUT); pinMode(SetResDown, INPUT);

//Définir les dimensions de l'écran LCD (16x2) lcd.begin(16, 2); //Nous sélectionnons dans quelle colonne et dans quelle ligne le texte commence à s'afficher //LECTEUR comm.begin(9600);

mp3.begin(comm); //Le composant démarre serialData = (char)((' ')); mp3.start(); Serial.println("Jouer"); // Joue une chanson mp3.volume (25); //Définir le volume }

void loop() { if (digitalRead(11) == LOW){ mp3.next(); //Si le bouton est enfoncé, la chanson passe } if (digitalRead(12) == LOW){ mp3.previous(); //Si le bouton est enfoncé, la chanson précédente } //if (SetResUp && SetResDown == LOW) {

int pulso = analogRead(A0); //Lire la valeur du moniteur de fréquence cardiaque connecté au port analogique A0

Serial.println(pulso/6); if (QS == true) { // Flag of Quantified Self est vrai comme la recherche arduino le BPM QS = false; // Réinitialiser le drapeau de Quantified Self }

lcd.setCursor(0, 0); //Afficher le texte souhaité lcd.print("BPM:"); lcd.setCursor(0, 1); //Afficher le texte souhaité lcd.print("INT:"); lcd.setCursor(5, 0); //Afficher le texte souhaité lcd.print(pulso); lcd.setCursor(5, 1); //Afficher le texte souhaité lcd.print(ResButtonCounter); retard (50); lcd.clear(); ResButtonUpState = digitalRead(SetResUp); ResButtonDownState = digitalRead(SetResDown);

// compare TempButtonState avec son état précédent

if (ResButtonUpState != lastResButtonUpState && ResButtonUpState == LOW) { // si le dernier état a changé, augmente le compteur

ResButtonCounter++; }

// enregistre l'état actuel comme dernier état, // pour la prochaine exécution de la boucle lastResButtonUpState = ResButtonUpState;

// comparer l'état du bouton (augmenter ou diminuer) avec le dernier état

if (ResButtonDownState != lastResButtonDownState && ResButtonDownState == LOW) {

// si le dernier état a changé, décrémente le compteur

ResButtonCounter--; }

// enregistre l'état actuel comme dernier état, // pour la prochaine exécution de la boucle lastResButtonDownState = ResButtonDownState; { Serial.println(ResButtonCounter);

if (ResButtonCounter >= 10) { ResButtonCounter = 10; }

if (ResButtonCounter < 1) { ResButtonCounter = 1; }

}

}

Étape 5: Assemblage total

Avec le code correctement programmé et les deux parties de notre prototype déjà assemblées. Nous mettons tous les composants en place et les joignons avec du ruban adhésif pour le fixer au bracelet. Les composants qui se trouvent dans le bracelet sont le capteur de fréquence cardiaque BPM, les deux boutons, le potentiomètre et l'écran LCD, chacun dans son trou respectif préalablement conçu dans le fichier 3D. Une fois la première partie terminée, nous nous concentrons sur la protoboard, chaque connecteur sur la bonne broche de la carte Arduino. Enfin, avec le fonctionnement vérifié de chaque composant, nous le mettons dans le sac banane pour cacher les fils.

Étape 6: Vidéo

Étape 7: Conclusion

La chose la plus intéressante à propos de ce projet est d'apprendre à imiter le corps humain inconsciemment avec de la musique. Cela ouvre la porte à de nombreuses options pour de futurs projets. Je pense que c'est un projet complet, nous avons une assez grande variété de composants avec un code travaillé. Si nous recommençons, nous penserions à d'autres alternatives de composants ou les achèterions de meilleure qualité. Nous avons eu beaucoup de problèmes avec des câbles cassés et des soudures, ils sont petits et très délicats (surtout le BPM). Par contre il faut être prudent lors du branchement des composants, ils ont de nombreuses sorties et il est facile de se tromper.

C'est un projet très enrichissant dans lequel nous avons abordé une grande variété d'options matérielles et logicielles Arduino.

Conseillé: