Taula de continguts:
- Pas 1: materials i components
- Pas 2: dissenyar una polsera
- Pas 3: connexions electròniques
- Pas 4: el codi
- Pas 5: Muntatge total
- Pas 6: vídeo
- Pas 7: Conclusió
Vídeo: Wearable - Projecte final: 7 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:13
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 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
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
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
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:
Wearable Light-Up Jack-O-Lantern: 5 passos (amb imatges)
Wearable Light Up Jack-O-Lantern: aquí teniu un fantàstic projecte imprès en 3D que hauríeu de prendre just abans de Halloween. Seguiu els passos següents per convertir-vos en un Jack-O-Lantern imprès en 3D Wearable Light Up, que podeu dur al coll o col·loqueu-lo al vostre escriptori per portar-vos al Hallowe
[Wearable Mouse] Controlador de ratolí portable basat en Bluetooth per a Windows 10 i Linux: 5 passos
[Wearable Mouse] Wearable Mouse Controller basat en Bluetooth per a Windows 10 i Linux: vaig fabricar un controlador de ratolí basat en Bluetooth que es pot utilitzar per controlar el punter del ratolí i realitzar operacions relacionades amb el ratolí del PC sobre la marxa, sense tocar cap superfície. Els circuits electrònics, que estan incrustats en un guant, es poden utilitzar per rastrejar h
Wearable Tech per a nens: braçalet Hero: 4 passos
Wearable Tech for Kids: Hero Braçalet: aquest instructiu explicarà com fer un "braçalet heroi" que s'encengui quan es porta. Utilitzant cinta de tela conductiva, fil conductor i LEDs cosibles, aquesta és una gran activitat per als estudiants de l’escola per aprendre els conceptes bàsics dels circuits i de la tecnologia de la tecnologia usable. Te
Wearable Tech: Tambors d’aire: 5 passos
Wearable Tech: Air Drums: El nostre objectiu per a aquest projecte era fabricar un kit de bateria portable amb alguns acceleròmetres i discos piezoelèctrics. La idea era que, donat un cop de mà, es produís un soroll de trampes; o, si es prem un peu, es reproduiria un so de barret o bombo. Per controlar
Cat Whisker Sensory Extension Wearable (2.0): 6 passos (amb imatges)
Cat Whisker Sensory Extension Wearable (2.0): aquest projecte és la continuació i la reimaginació del "Whisker Sensory Extension Wearable" del meu antic company (metaterra). L'objectiu d'aquest projecte era centrar-se en la creació de noves "extensions sensorials" enriquides computacionalment que