Taula de continguts:

Wearable - Projecte final: 7 passos
Wearable - Projecte final: 7 passos

Vídeo: Wearable - Projecte final: 7 passos

Vídeo: Wearable - Projecte final: 7 passos
Vídeo: как связать носки САМЫМ ПРОСТЫМ СПОСОБОМ! Ты не поверишь! 2024, Desembre
Anonim
Wearable - Projecte final
Wearable - Projecte final

INTRODUCCIÓ

En aquest projecte vam tenir la tasca de fer un prototip portable funcional basat en funcions de cyborg. Sabíeu que el vostre cor es sincronitza amb el BPM de la música? Podeu intentar controlar el vostre estat d’ànim mitjançant la música, però, i si deixem que la tecnologia ens ajudi a calmar-nos? Només necessitem alguns components, un Arduino i els vostres auriculars. Innovem!

Projecte de Marc Vila, Guillermo Stauffacher i Pau Carcellé

Pas 1: materials i components

Materials i components
Materials i components

Materials de construcció:

- Polsera impresa en 3D

Cargols M3 (x8)

Femelles M3 (x12)

- Pack Fanny

Materials electrònics:

-Sensor de freqüència cardíaca BPM

- Botons (x2)

- Potenciòmetre

- M MODDUL LCD C 1602

- MUDUL DFPLAYER MINI MP3

Auricular TRRS Jack Stereo de 3,5 mm

- Targeta MicroSD

- Placa Arduino Uno

- Soldador

- Plat de baquelita

Pas 2: dissenyar una polsera

Dissenya una polsera
Dissenya una polsera
Dissenya una polsera
Dissenya una polsera

Primer fem diversos esbossos per organitzar els diferents components de la polsera.

Amb la idea clara, vam prendre mesures dels tres braços dels membres del grup i vam fer la mitjana per trobar la mesura òptima per al disseny. Finalment dissenyem el producte amb un programa 3D i l’imprimim amb una impressora 3D.

Podeu descarregar els fitxers. STL aquí.

Pas 3: connexions electròniques

Connexions electròniques
Connexions electròniques

Seguim fent les comprovacions necessàries del nostre disseny en 3D, vam fer un primer muntatge de tots els components del prototip per veure que les mesures eren correctes.

Per connectar tots els components a la placa Arduino, hem fet diferents connexions dels components mitjançant cables de 0, 5 metres, d’aquesta manera reduïm la visibilitat de la placa i organitzem millor el prototip.

Pas 4: el codi

El codi
El codi
El codi
El codi
El codi
El codi

Aquest projecte és un prototip de cyborg. Evidentment, no hem introduït els components sota la pell, de manera que l’hem simulat amb una polsera com a ortesi (dispositiu extern aplicat al cos per modificar els aspectes funcionals).

El nostre codi pren les pulsacions de tecla de l'usuari i les mostra mitjançant la pantalla LCD. A més del BPM, la pantalla mostra la intensitat desitjada perquè l'usuari pugui comparar-la amb la seva freqüència cardíaca. Hi ha moltes situacions en què és interessant augmentar o reduir el vostre propi BPM. Per exemple, els atletes de resistència han de controlar les pulsacions per no cansar-se excessivament. Un exemple quotidià seria voler dormir o calmar-se en una situació nerviosa. També es podria aplicar com a mètode terapèutic per a persones amb autisme per reduir l’estrès que senten. Al costat de la pantalla hi ha dos botons per controlar la intensitat desitjada i augmentar o disminuir la freqüència cardíaca. Depenent de la intensitat, es reprodueix un tipus de música estudiat prèviament. Hi ha estudis que demostren que la música pot alterar el BPM. Segons Beats per Minute de la cançó, el cos humà imita i fa coincidir aquests BPM.

int SetResUp = 11; // pin 10 d'Arduino amb el botó d'augment d'intensitat.int SetResDown = 12; // pin 11 d'Arduino amb el botó de disminució d'intensitat

int ResButtonCounter = 0; // comptador de vegades que augmenta o disminueix la configuració de resistència, valor inicial de 0 int ResButtonUpState = 0; // estat actual del botó d'augment d'intensitat int ResButtonDownState = 0; // estat actual del botó de disminució d'intensitat int lastResButtonUpState = 0; // últim estat del botó d'augment d'intensitat int lastResButtonDownState = 0; // últim estat del botó de disminució d'intensitat

int pulsePin = 0; // Sensor de pols connectat al port A0 // Aquestes variables són volàtils perquè s’utilitzen durant la rutina d’interrupcions de la segona pestanya. BPM int volàtil; // Batecs per minut int volàtils Senyal; // Entrada de dades del sensor de pols volàtil int IBI = 600; // Temps pols booleà volàtil Pols = fals; // És cert quan l'ona de pols és alta, és fals quan és boolean volàtil baix QS = fals;

# defineix Start_Byte 0x7E # defineix Version_Byte 0xFF # defineix Comanda_Longitud 0x06 # defineix Final_Byte 0xEF # define Reconeix 0x00 // Retorna informació amb l'ordre 0x41 [0x01: info, 0x00: sense informació]

// PANTALLA #include // Pengeu la biblioteca per a les funcions de la pantalla LCD #include #include

LiquidCrystal lcd (7, 6, 5, 4, 3, 2); // Declareu els ports on està connectat el LCD

// LECTOR #include #include // Pengeu la biblioteca per a les funcions del mòdul dfplayer mini MP3.

char serialData; int nsong; int v;

SoftwareSerial comm (9, 10); // Declarar els ports on està connectat el DFPlayer DFRobotDFPlayerMini mp3;

configuració nul·la () {Serial.begin (9600); pinMode (SetResUp, INPUT); pinMode (SetResDown, INPUT);

// Definiu les dimensions de la pantalla LCD (16x2) lcd.begin (16, 2); // Seleccionem en quina columna i en quina línia comença a aparèixer el text // LECTOR comm.begin (9600);

mp3.begin (comm); // El component inicia serialData = (char) (('')); mp3.start (); Serial.println ("Reprodueix"); // Reproduir una cançó mp3.volume (25); // Defineix el volum}

bucle buit () {if (digitalRead (11) == BAIX) {mp3.next (); // Si es prem el botó, la cançó passa} if (digitalRead (12) == BAIX) {mp3.previous (); // Si es prem el botó, la cançó anterior} // if (SetResUp && SetResDown == LOW) {

int pulso = analogRead (A0); // Llegiu el valor del pulsòmetre connectat al port analògic A0

Serial.println (pulso / 6); if (QS == true) {// Flag of Quantified Self és cert com la cerca arduino, el BPM QS = false; // Restableix la bandera del jo quantificat}

lcd.setCursor (0, 0); // Mostra el text desitjat lcd.print ("BPM:"); lcd.setCursor (0, 1); // Mostra el text desitjat lcd.print ("INT:"); lcd.setCursor (5, 0); // Mostra el text desitjat lcd.print (pulso); lcd.setCursor (5, 1); // Mostra el text desitjat lcd.print (ResButtonCounter); retard (50); lcd.clear (); ResButtonUpState = DigitalRead (SetResUp); ResButtonDownState = DigitalRead (SetResDown);

// compareu TempButtonState amb el seu estat anterior

if (ResButtonUpState! = lastResButtonUpState && ResButtonUpState == BAIX) {// si l'últim estat ha canviat, augmenta el comptador

ResButtonCounter ++; }

// deseu l'estat actual com a últim estat, // per a la propera vegada que s'executa el bucle lastResButtonUpState = ResButtonUpState;

// compareu l’estat del botó (augmentar o disminuir) amb l’últim estat

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

// si l'últim estat ha canviat, decrementeu el comptador

ResButtonCounter--; }

// desa l'estat actual com a últim estat, // per a la propera vegada que s'executa el bucle lastResButtonDownState = ResButtonDownState; {Serial.println (ResButtonCounter);

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

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

}

}

Pas 5: Muntatge total

Amb el codi programat correctament i les dues parts del nostre prototip ja muntades. Posem tots els components al seu lloc i els unim amb cinta adhesiva per fixar-lo al braçalet. Els components que hi ha a la polsera són el sensor de ritme cardíac BPM, els dos botons, el potenciòmetre i la pantalla LCD, cadascun al seu forat respectiu dissenyat prèviament al fitxer 3D. Un cop feta la primera part, ens centrem en el protoboard, cada connector del pin correcte de la placa Arduino. Finalment, amb el funcionament verificat de cada component, el posem al paquet per ocultar els cables.

Pas 6: vídeo

Pas 7: Conclusió

El més interessant d’aquest projecte és aprendre a imitar inconscientment el cos humà amb la música. Això obre la porta a moltes opcions per a futurs projectes. Crec que aquest és un projecte complet, tenim una gran varietat de components amb un codi treballat. Si tornem a començar, pensaríem en altres alternatives de components o les compraríem de millor qualitat. Hem tingut molts problemes amb cables i soldadures trencats, són petits i molt delicats (sobretot el BPM). D'altra banda, heu de tenir precaució a l'hora de connectar els components, tenen moltes sortides i és fàcil cometre errors.

És un projecte molt enriquidor en el qual hem abordat una àmplia varietat de maquinari i opcions de programari Arduino.

Recomanat: