Rastreador de corrida de perna IDC2018IOT: 6 etapas
Rastreador de corrida de perna IDC2018IOT: 6 etapas
Anonim
Rastreador de corrida de pernas IDC2018IOT
Rastreador de corrida de pernas IDC2018IOT

Essa ideia surgiu como parte do curso "Internet Of Things" da IDC Herzliya.

O objetivo do projeto é aprimorar as atividades físicas que envolvem correr ou caminhar usando o NodeMCU, alguns sensores e um servidor de energia. O resultado deste projeto é um dispositivo IOT muito útil que pode ser transformado no futuro em um produto de produção real que será usado em qualquer lugar! Por favor deixe nos saber o que você pensa:)

Antes de começar, certifique-se de ter:

* Dispositivo NodeMCU.

* 1 Sensor piezoelétrico.

* Sensor MPU6050.

* Uma grande matriz.

* Corda elástica.

* Conta Firebase.

Opcional:

* Múltiplos sensores piezoelétricos

* multiplexer

Etapa 1: Configurando e Calibrando o MPU6050

Image
Image

"carregando =" preguiçoso"

Configurando o Piezo
Configurando o Piezo

Instruções:

  • Conecte o piezo com resistor de 1M (veja a imagem anexa).
  • Carregue o esboço em anexo.
  • Conecte o dispositivo a um pé usando a corda elástica.
  • Abra "plotter serial".
  • Assista ao vídeo que acompanha esta etapa.

Etapa 3: Integrando os Sensores ao Arduino

Image
Image
Integrando os Sensores ao Arduino
Integrando os Sensores ao Arduino

Vimos como calibrar os sensores, agora vamos integrar os dois sensores ao NodeMCU!

  • Conecte os dois sensores ao dispositivo, use os mesmos pinos das etapas 1 + 2.
  • Carregue o esboço anexado.
  • Conecte o dispositivo com os 2 sensores em um pé.
  • Abra "plotter serial".
  • Veja o vídeo em anexo.

Etapa 4: Enviando dados para a nuvem

Enviando dados para a nuvem!
Enviando dados para a nuvem!
Enviando dados para a nuvem!
Enviando dados para a nuvem!
Enviando dados para a nuvem!
Enviando dados para a nuvem!

Nesta etapa, conectaremos nosso dispositivo à nuvem e enviaremos dados para ver alguns gráficos incríveis!

Usaremos o protocolo MQTT e enviaremos os dados para um servidor gratuito chamado "Adafruit".

NOTA: Adafruit não suporta o envio de dados algumas vezes a cada segundo, ele funciona em ritmos mais lentos, portanto, enviaremos uma média de nossos pontos de dados, e não os próprios pontos de dados. Vamos transformar os dados de nossos 2 sensores em dados médios usando as seguintes transformações:

* O tempo de detecção da etapa será transformado em etapas por minuto. A duração de cada etapa pode ser encontrada por (millis () - step_timestamp), e a média pode ser feita usando um filtro, como vimos antes: val = val * 0.7 + new_val * 0.3.

* A potência de degrau será transformada em potência de degrau média. Usaremos a mesma metodologia de usar "max" para cada etapa, mas usaremos um filtro para fazer uma média usando o filtro média = média * 0,6 + novo_val * 0,4.

Instruções:

  • Entre no site da Adafruit no endereço io.adafruit.com e certifique-se de ter uma conta.
  • Crie um novo painel com o nome "Detector de meus passos".
  • Dentro do painel, pressione o botão + e selecione "gráfico de linha", e crie um feed chamado "steps_per_min".
  • Dentro do painel, pressione o botão + e selecione "gráfico de linha", e crie um feed chamado "média_padrão_power".
  • Agora você deve ver 2 gráficos vazios para cada um dos campos.
  • Use o esboço em anexo e defina a seguinte configuração:

USERNAME = seu nome de usuário Adafruit.

KEY = sua chave Adafruit

WLAN_SSID = nome WIFI

WLAN_PASS = passe WIFI

mpuStepThreshold = Threshold da etapa 2

Em seguida, você pode conectar o dispositivo a um pé e o esboço enviará os dados das etapas para o servidor!

Etapa 5: usar 2 dispositivos ao mesmo tempo

Usando 2 dispositivos ao mesmo tempo
Usando 2 dispositivos ao mesmo tempo
Usando 2 dispositivos ao mesmo tempo
Usando 2 dispositivos ao mesmo tempo

Nesta etapa, vamos simular 2 pessoas que andam com o aparelho ao mesmo tempo!

Usaremos 2 dispositivos diferentes - com os mesmos pontos de dados, conforme explicado na etapa 4.

Então, isso é realmente fácil, existem 3 tarefas simples:

1) criar feeds extras para os dados do segundo dispositivo, sugerimos dar uma correção posterior de "_2"

2) mude os blocos no painel para apresentar dados de ambos os feeds.

3) mude o nome dos feeds no esboço do segundo dispositivo.

4) Veja os resultados!

NOTA:

O Adafruit resiste aos dados que chegam muito rápido; pode ser necessário ajustar a frequência com que os dados são enviados ao servidor. faça isso encontrando o seguinte no esboço:

/ / Envie a cada 5 segundos, não exceda o limite da Adafruit para usuários gratuitos. // Se você usa premium ou seu próprio servidor, sinta-se à vontade para alterar. // Toda vez, envie um ponto de dados alternativo. if (millis () - lastTimeDataSent> 5000) {

Etapa 6: melhorias, notas e planos futuros

O principal desafio:

O principal desafio do projeto foi testar o NodeMCU em uma atividade física. O cabo USB é desconectado com frequência e, ao tentar se mover mais rápido, pode haver problemas de remoção dos pinos. Muitas vezes estávamos depurando um trecho de código que realmente funcionava, e o problema estava na esfera física.

Superamos esse desafio carregando o laptop perto do executor e escrevendo cada parte do código por vez.

Outro desafio era fazer com que os diferentes componentes interajam suavemente:

  • O piezo com o acelerômetro: Amamos isso, conforme descrito na etapa 3, com uma ideia criativa que tivemos.
  • Os sensores com o servidor: conforme descrito na etapa 4, transformamos os valores em outros valores que podem ser enviados a um servidor em um ritmo mais lento.

As limitações do sistema:

  • Necessita de calibração antes de ser usado.
  • Precisa ser transformado em um produto mais rígido, que não se quebre facilmente em uma atividade física.
  • O sensor piezoelétrico não é muito preciso.
  • Precisa de alguma conexão wi-fi. (Resolvido facilmente usando hotspot de telefone celular)

Planos futuros

Agora que temos um dispositivo de monitoramento de perna totalmente funcional, há outras melhorias que podem ser feitas!

Vários pizeos!

  • Conecte piezos a diferentes áreas do pé.
  • Use o multiplexador, pois o NodeMCU suporta apenas um pino analógico.
  • Pode mostrar um mapa térmico do pé para descrever as áreas de impacto.
  • Pode usar esses dados para criar alertas sobre postura incorreta e equilíbrio corporal.

Muitos dispositivos!

  • Mostramos como conectar 2 dispositivos ao mesmo tempo, mas você pode conectar 22 piezos a 22 jogadores de futebol!
  • Os dados podem ser expostos durante o jogo para mostrar algumas métricas interessantes sobre os jogadores!

Sensores avançados

Usamos piezo e acelerômetro, mas você pode adicionar outros dispositivos que irão enriquecer a saída e fornecer mais dados:

  • Preguiçosos precisos para detectar passos.
  • Meça a distância entre o pé e o solo.
  • Medir a distância entre diferentes jogadores (no caso de vários dispositivos)

Recomendado: