Índice:

Vestível - Projeto final: 7 etapas
Vestível - Projeto final: 7 etapas

Vídeo: Vestível - Projeto final: 7 etapas

Vídeo: Vestível - Projeto final: 7 etapas
Vídeo: Como fazer um Projeto de pesquisa passo a passo Aula completa 2024, Junho
Anonim
Vestível - Projeto Final
Vestível - Projeto Final

INTRODUÇÃO

Neste projeto tivemos a tarefa de fazer um protótipo vestível funcional baseado nas funções de um ciborgue. Você sabia que seu coração sincroniza com o BPM da música? Você pode tentar controlar seu humor por meio da música, mas e se deixarmos que a tecnologia nos ajude a nos acalmar? Precisamos apenas de alguns componentes, um Arduino e seus fones de ouvido. Vamos inovar!

Projeto de Marc Vila, Guillermo Stauffacher e Pau Carcellé

Etapa 1: Materiais e Componentes

Materiais e Componentes
Materiais e Componentes

Materiais de construção:

- pulseira impressa em 3D

- Parafusos M3 (x8)

- Porcas M3 (x12)

- Pacote de Fanny

Materiais eletrônicos:

- Sensor de frequência cardíaca BPM

- Botões (x2)

- Potenciômetro

- MÓDULO LCD C 1602

- MÓDULO DFPLAYER MINI MP3

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

- Cartão MicroSD

- Placa Arduino Uno

- Soldador

- Prato de baquelite

Etapa 2: projete uma pulseira

Desenhe uma pulseira
Desenhe uma pulseira
Desenhe uma pulseira
Desenhe uma pulseira

Primeiro, fazemos vários esboços para organizar os diferentes componentes da pulseira.

Com a ideia clara, tiramos medidas dos três braços dos membros do grupo, depois fizemos a média para encontrar a medida ótima para o projeto. Finalmente desenhamos o produto com um programa 3D e o imprimimos com uma impressora 3D.

Você pode baixar os arquivos. STL aqui.

Etapa 3: conexões eletrônicas

Conexões Eletrônicas
Conexões Eletrônicas

Continuamos fazendo as verificações necessárias do nosso projeto 3D, fizemos uma primeira montagem de todos os componentes do protótipo para ver se as medidas estavam corretas.

Para conectar todos os componentes à placa Arduino, fizemos conexões diferentes dos componentes usando cabos de 0, 5 metros, desta forma reduzimos a visibilidade da placa e organizamos melhor o protótipo.

Etapa 4: O Código

O código
O código
O código
O código
O código
O código

Este projeto é um protótipo de ciborgue. Obviamente, não introduzimos os componentes sob a pele, então o simulamos com uma pulseira como órtese (dispositivo externo aplicado ao corpo para modificar os aspectos funcionais).

Nosso código pega as teclas do usuário e as mostra usando a tela LCD. Além do BPM, a tela mostra a intensidade desejada para que o usuário possa comparar com sua frequência cardíaca. Existem muitas situações em que é interessante aumentar ou reduzir seu próprio BPM. Por exemplo, atletas de resistência devem controlar as pulsações para não se cansar excessivamente. Um exemplo do dia a dia seria querer dormir ou se acalmar em uma situação nervosa. Também pode ser aplicado como método terapêutico para pessoas com autismo para reduzir o estresse que sentem. Ao lado da tela há dois botões para controlar a intensidade desejada e aumentar ou diminuir a frequência cardíaca. Dependendo da intensidade, um tipo de música previamente estudado é tocado. Existem estudos que mostram que a música pode alterar o BPM. De acordo com o Beats per Minute da música, o corpo humano imita e corresponde àqueles BPM.

int SetResUp = 11; // pino 10 do Arduino com botão de aumento de intensidade.int SetResDown = 12; // pino 11 do Arduino com botão de diminuição de intensidade

int ResButtonCounter = 0; // contador de vezes que aumenta ou diminui a configuração de resistência, valor inicial de 0 int ResButtonUpState = 0; // estado atual do botão de aumento de intensidade int ResButtonDownState = 0; // estado atual do botão de diminuição de intensidade int lastResButtonUpState = 0; // último estado do botão de aumento de intensidade int lastResButtonDownState = 0; // último estado do botão de diminuição de intensidade

int pulsePin = 0; // Sensor de pulso conectado à porta A0 // Essas variáveis são voláteis porque são usadas durante a rotina de interrupção na segunda guia. volatile int BPM; // Batimentos por minuto volatile int Signal; // Entrada de dados do sensor de pulso volátil int IBI = 600; // Tempo de pulso volátil booleano Pulse = false; // Verdadeiro quando a onda de pulso é alta, falso quando é baixo volátil booleano QS = falso;

# define Start_Byte 0x7E # define Version_Byte 0xFF # define Command_Length 0x06 # define End_Byte 0xEF # define Acknowledge 0x00 // Retorna informações com o comando 0x41 [0x01: info, 0x00: sem informações]

// PANTALLA #include // Carregar a biblioteca para as funções da tela LCD #include #include

LiquidCrystal lcd (7, 6, 5, 4, 3, 2); // Declara as portas onde o LCD está conectado

// LECTOR #include #include // Carrega a biblioteca para as funções do módulo dfplayer mini MP3.

char serialData; int nsong; na TV;

Comunicação serial de software (9, 10); // Declara as portas onde o DFPlayer está conectado DFRobotDFPlayerMini mp3;

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

// Defina as dimensões do LCD (16x2) lcd.begin (16, 2); // Selecionamos em qual coluna e em qual linha o texto começa a mostrar // LECTOR comm.begin (9600);

mp3.begin (comunicação); // O componente inicia serialData = (char) (('')); mp3.start (); Serial.println ("Reproduzir"); // Toca uma música mp3.volume (25); // Definir o volume}

void loop () {if (digitalRead (11) == LOW) {mp3.next (); // Se o botão for pressionado, a música passa} if (digitalRead (12) == LOW) {mp3.previous (); // Se o botão for pressionado, a música anterior} // if (SetResUp && SetResDown == LOW) {

pulso interno = leitura analógica (A0); // Lê o valor do monitor de frequência cardíaca conectado à porta analógica A0

Serial.println (pulso / 6); if (QS == true) {// Flag of Quantified Self é true como a pesquisa do Arduino o BPM QS = false; // Redefina o sinalizador de Quantified Self}

lcd.setCursor (0, 0); // Mostra o texto desejado lcd.print ("BPM:"); lcd.setCursor (0, 1); // Mostra o texto desejado lcd.print ("INT:"); lcd.setCursor (5, 0); // Mostra o texto desejado lcd.print (pulso); lcd.setCursor (5, 1); // Mostra o texto desejado lcd.print (ResButtonCounter); atraso (50); lcd.clear (); ResButtonUpState = digitalRead (SetResUp); ResButtonDownState = digitalRead (SetResDown);

// compare TempButtonState com seu estado anterior

if (ResButtonUpState! = lastResButtonUpState && ResButtonUpState == LOW) {// se o último estado mudou, aumente o contador

ResButtonCounter ++; }

// salve o estado atual como o último estado, // para a próxima vez que o loop for executado lastResButtonUpState = ResButtonUpState;

// compare o estado do botão (aumentar ou diminuir) com o último estado

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

// se o último estado mudou, diminui o contador

ResButtonCounter--; }

// salve o estado atual como o último estado, // para a próxima vez que o loop for executado lastResButtonDownState = ResButtonDownState; {Serial.println (ResButtonCounter);

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

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

}

}

Etapa 5: Montagem Total

Com o código programado corretamente e as duas partes do nosso protótipo já montadas. Colocamos todos os componentes no lugar e os unimos com fita para fixá-los à pulseira. Os componentes que compõem a pulseira são o Sensor de Freqüência Cardíaca BPM, os dois botões, o potenciômetro e a Tela LCD, cada um em seu respectivo orifício previamente desenhado no arquivo 3D. Com a primeira parte feita, focamos no protoboard, cada conector no pino correto da placa Arduino. Finalmente, com o funcionamento verificado de cada componente, colocamos na pochete para esconder os fios.

Etapa 6: Vídeo

Etapa 7: Conclusão

O mais interessante neste projeto é aprender a imitar o corpo humano inconscientemente com música. Isso abre a porta para muitas opções para projetos futuros. Acho que este é um projeto completo, temos uma grande variedade de componentes com um código trabalhado. Se começarmos de novo, poderemos pensar em outras alternativas de componentes ou comprá-los de melhor qualidade. Tivemos muitos problemas com cabos rompidos e soldas, são pequenos e muito delicados (principalmente o BPM). Por outro lado deve-se ter cuidado ao conectar os componentes, eles possuem muitas saídas e é fácil cometer erros.

É um projeto muito enriquecedor no qual abordamos uma ampla variedade de opções de hardware e software do Arduino.

Recomendado: