Tabla de contenido:

Wearable - Proyecto final: 7 pasos
Wearable - Proyecto final: 7 pasos

Video: Wearable - Proyecto final: 7 pasos

Video: Wearable - Proyecto final: 7 pasos
Video: Make It Wearable | Episode 2: Human Health 2024, Junio
Anonim
Wearable - Proyecto final
Wearable - Proyecto final

INTRODUCCIÓN

En este proyecto teníamos la tarea de realizar un prototipo de wearable funcional basado en funciones de un cyborg. ¿Sabías que tu corazón se sincroniza con los BPM de la música? Puedes intentar controlar tu estado de ánimo a través de la música, pero ¿y si dejamos que la tecnología nos ayude a calmarnos? Solo necesitamos algunos componentes, un Arduino y tus auriculares. ¡Innovemos!

Proyecto de Marc Vila, Guillermo Stauffacher y Pau Carcellé

Paso 1: Materiales y componentes

Materiales y componentes
Materiales y componentes

Materiales de construcción:

- pulsera impresa en 3d

- Tornillos M3 (x8)

- Tuercas M3 (x12)

- Riñonera

Materiales electrónicos:

-Sensor de frecuencia cardíaca BPM

- Botones (x2)

- potenciómetro

- MÓDULO LCD C 1602

- MÓDULO DFPLAYER MINI MP3

- AURICULARES TRRS estéreo Jack de 3,5 mm

- Tarjeta micro SD

- Placa Arduino Uno

- soldador

- Plato de baquelita

Paso 2: diseña una pulsera

Diseñar una pulsera
Diseñar una pulsera
Diseñar una pulsera
Diseñar una pulsera

Primero realizamos varios bocetos para organizar los diferentes componentes de la pulsera.

Con la idea clara, tomamos medidas de los tres brazos de los integrantes del grupo, luego hicimos el promedio para encontrar la medida óptima para el diseño. Finalmente diseñamos el producto con un programa 3d y lo imprimimos con una impresora 3D.

Puede descargar los archivos. STL aquí.

Paso 3: Conexiones electrónicas

Conexiones electronicas
Conexiones electronicas

Seguimos haciendo las comprobaciones necesarias de nuestro diseño 3d, realizamos un primer montaje de todos los componentes del prototipo para ver que las medidas eran las correctas.

Para conectar todos los componentes a la placa Arduino, realizamos diferentes conexiones de los componentes utilizando cables de 0, 5 metros, de esta forma reducimos la visibilidad de la placa y organizamos mejor el prototipo.

Paso 4: el código

El código
El código
El código
El código
El código
El código

Este proyecto es un prototipo de cyborg. Evidentemente no hemos introducido los componentes debajo de la piel, así que lo hemos simulado con una pulsera a modo de órtesis (dispositivo externo aplicado al cuerpo para modificar los aspectos funcionales).

Nuestro código toma las pulsaciones de teclas del usuario y las muestra usando la pantalla LCD. Además del BPM, la pantalla muestra la intensidad deseada para que el usuario pueda compararla con su frecuencia cardíaca. Hay muchas situaciones en las que es interesante aumentar o reducir su propio BPM. Por ejemplo, los deportistas de resistencia deben controlar las pulsaciones para no cansarse excesivamente. Un ejemplo cotidiano sería querer dormir o calmarse en una situación de nerviosismo. También podría aplicarse como método terapéutico para que las personas con autismo reduzcan el estrés que sienten. Junto a la pantalla hay dos botones para controlar la intensidad deseada y aumentar o disminuir la frecuencia cardíaca. Dependiendo de la intensidad, se toca un tipo de música previamente estudiado. Hay estudios que demuestran que la música puede alterar el BPM. Según Beats per Minute de la canción, el cuerpo humano imita y coincide con esos BPM.

int SetResUp = 11; // pin 10 de Arduino con botón de aumento de intensidad.int SetResDown = 12; // pin 11 de Arduino con botón de disminución de intensidad

int ResButtonCounter = 0; // contador de tiempos que aumenta o disminuye el ajuste de resistencia, valor inicial de 0 int ResButtonUpState = 0; // estado actual del botón de aumento de intensidad int ResButtonDownState = 0; // estado actual del botón de disminución de intensidad int lastResButtonUpState = 0; // último estado del botón de aumento de intensidad int lastResButtonDownState = 0; // último estado del botón de disminución de intensidad

int pulsePin = 0; // Sensor de pulso conectado al puerto A0 // Estas variables son volátiles porque se utilizan durante la rutina de interrupción en la segunda pestaña. volátil int BPM; // Latidos por minuto volátil int Señal; // Entrada de datos del sensor de pulso volátil int IBI = 600; // Tiempo de pulso volátil booleano Pulse = false; // Verdadero cuando la onda de pulso es alta, falso cuando es Baja volátil booleano QS = falso;

# define Start_Byte 0x7E # define Version_Byte 0xFF # define Command_Length 0x06 # define End_Byte 0xEF # define Acknowledge 0x00 // Devuelve información con el comando 0x41 [0x01: info, 0x00: no info]

// PANTALLA #include // Carga la librería para las funciones de la pantalla LCD #include #include

LiquidCrystal lcd (7, 6, 5, 4, 3, 2); // Declara los puertos donde está conectada la pantalla LCD

// LECTOR #include #include // Carga la librería para las funciones del módulo dfplayer mini MP3.

char serialData; int nsong; En televisión;

SoftwareSerial comm (9, 10); // Declare los puertos donde está conectado DFPlayer DFRobotDFPlayerMini mp3;

configuración vacía () {Serial.begin (9600); pinMode (SetResUp, INPUT); pinMode (SetResDown, INPUT);

// Definir las dimensiones de la pantalla LCD (16x2) lcd.begin (16, 2); // Seleccionamos en qué columna y en qué línea comienza a mostrarse el texto // LECTOR comm.begin (9600);

mp3.begin (comm); // El componente comienza serialData = (char) (('')); mp3.start (); Serial.println ("Reproducir"); // Reproduce una canción mp3.volume (25); // Definir volumen}

bucle vacío () {if (digitalRead (11) == BAJO) {mp3.next (); // Si se presiona el botón, la canción pasa} if (digitalRead (12) == LOW) {mp3.previous (); // Si se presiona el botón, la canción anterior} // if (SetResUp && SetResDown == LOW) {

int pulso = analogRead (A0); // Leer el valor del monitor de frecuencia cardíaca conectado al puerto analógico A0

Serial.println (pulso / 6); if (QS == true) {// Flag of Quantified Self es true como la búsqueda de arduino el BPM QS = false; // Restablecer la bandera del yo cuantificado}

lcd.setCursor (0, 0); // Muestra el texto deseado lcd.print ("BPM:"); lcd.setCursor (0, 1); // Muestra el texto deseado lcd.print ("INT:"); lcd.setCursor (5, 0); // Muestra el texto deseado lcd.print (pulso); lcd.setCursor (5, 1); // Muestra el texto deseado lcd.print (ResButtonCounter); retraso (50); lcd.clear (); ResButtonUpState = digitalRead (SetResUp); ResButtonDownState = digitalRead (SetResDown);

// compara TempButtonState con su estado anterior

if (ResButtonUpState! = lastResButtonUpState && ResButtonUpState == LOW) {// si el último estado cambió, aumente el contador

ResButtonCounter ++; }

// guarda el estado actual como el último estado, // para la próxima vez que se ejecute el bucle lastResButtonUpState = ResButtonUpState;

// compara el estado del botón (aumentar o disminuir) con el último estado

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

// si el último estado cambió, decrementar el contador

ResButtonCounter--; }

// guarda el estado actual como el último estado, // para la próxima vez que se ejecute el bucle lastResButtonDownState = ResButtonDownState; {Serial.println (ResButtonCounter);

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

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

}

}

Paso 5: Ensamblaje total

Con el código programado correctamente y las dos partes de nuestro prototipo ya ensambladas. Colocamos todos los componentes en su lugar y lo unimos con cinta para fijarlo a la pulsera. Los componentes que se encuentran en la pulsera son el Sensor de Frecuencia Cardíaca BPM, los dos botones, el potenciómetro y la Pantalla LCD, cada uno en su respectivo orificio diseñado previamente en el archivo 3D. Con la primera parte hecha, nos enfocamos en la protoboard, cada conector en el pin correcto de la placa Arduino. Finalmente, con el funcionamiento verificado de cada componente, lo metemos en la riñonera para ocultar los cables.

Paso 6: video

Paso 7: Conclusión

Lo más interesante de este proyecto es aprender a imitar inconscientemente el cuerpo humano con música. Esto abre la puerta a muchas opciones para proyectos futuros. Creo que este es un proyecto completo, tenemos una gran variedad de componentes con un código trabajado. Si volvemos a empezar pensaríamos en otras alternativas de componentes o las compraríamos de mejor calidad. Hemos tenido muchos problemas con cables rotos y soldaduras, son pequeños y muy delicados (especialmente el BPM). Por otro lado debes tener cuidado a la hora de conectar los componentes, tienen muchas salidas y es fácil cometer errores.

Es un proyecto muy enriquecedor en el que hemos abordado una amplia variedad de opciones de hardware y software de Arduino.

Recomendado: