Índice:
- Suprimentos
- Etapa 1: instalar IDEs e bibliotecas necessárias
- Etapa 2: conecte os acelerômetros à pena
- Etapa 3: Anexe acelerômetros à camisa
- Etapa 4: executando o código no Arduino
- Etapa 5: executando o código no Android
- Etapa 6: Testar a conexão de sinal Bluetooth
- Etapa 7: Coletando Seus Próprios Dados
- Etapa 8: treinar seus dados no Jupyter Notebook
- Etapa 9: Modificando o aplicativo Android com o novo modelo
Vídeo: Post-shirt: Detecção de postura vestível em tempo real: 9 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
O Postshirt é um sistema de detecção de postura sem fio em tempo real que transmite e classifica dados do acelerômetro de um Adafruit Feather para um aplicativo Android via Bluetooth. O sistema completo pode detectar em tempo real se o usuário está com postura incorreta e cria uma notificação push quando o usuário começa a ficar desleixado, a detecção também funciona durante a caminhada.
Suprimentos
Eletrônicos
1 x smartphone Android
1 x Pena Adafruit
1 x bateria de polímero de íon de lítio - 3,7v 100mAh (opcional para uso sem fio)
2 acelerômetro de eixo triplo ADXL335
Materiais
Fio de conexão
Rolo de fita
Etapa 1: instalar IDEs e bibliotecas necessárias
Pena Adafruit
Primeiro instale o Arduino IDE e depois siga as etapas para instalar a biblioteca Adafruit nRF51 BLE
Notebook Jupyter
Primeiro instale o Jupyter Notebook e, em seguida, as seguintes bibliotecas necessárias
- https://scikit-learn.org/stable/
- https://github.com/nok/sklearn-porter
Android
Instale o Android Studio
Código do projeto
Baixe todo o código do projeto do GitHub
Etapa 2: conecte os acelerômetros à pena
Para ler os dados do ADXL335s, conecte o fio de conexão aos pinos Vin, terra, Xout, Yout e Zout. Para ambos os acelerômetros, conecte as outras extremidades dos fios Vin ao pino de 3 V do Feather e as outras extremidades dos pinos de aterramento ao pino de aterramento do Feather. Conecte os fios Xout, Yout e Zout do primeiro acelerômetro aos pinos A0, A1 e A2 do Feather. Conecte os fios Xout, Yout e Zout do segundo acelerômetro aos pinos A3, A4 e A5 do Feather.
Os acelerômetros podem ser conectados de qualquer maneira, mas recomenda-se soldar os fios e encolher ou enrolar fita elétrica em torno dos pontos de conexão para evitar que as seções expostas entrem em contato umas com as outras.
Etapa 3: Anexe acelerômetros à camisa
Usando fita adesiva, prenda os acelerômetros na parte de trás da camisa. O acelerômetro conectado aos pinos A0-2 deve ser colocado horizontalmente no centro na parte inferior das costas. O acelerômetro conectado aos pinos A3-5 deve ser colocado horizontalmente no centro da nuca. Ambos os acelerômetros devem ser alinhados de forma que os pinos fiquem ao longo do lado inferior e os sensores devem ser bem colados e seguros contra a camisa.
Nota: Para um uso mais permanente, os sensores podem ser costurados na roupa, mas eles devem ser colados e testados primeiro para garantir que os posicionamentos dos sensores estejam efetivamente posicionados.
Etapa 4: executando o código no Arduino
Para começar a coletar dados no Feather, inicie o IDE do Arduino e abra o arquivo GestureDataSender na seção Arduino do código do projeto. Com este arquivo aberto defina a placa e a porta que está sendo usada e selecione "Verificar" e "Upload" para fazer o upload do código para o Feather.
Etapa 5: executando o código no Android
Para executar o aplicativo no Android, primeiro inicie o Android Studio e selecione a opção para abrir um projeto Android existente. Navegue até o código do projeto e selecione a pasta "Android". O Android Studio vai demorar um pouco para sincronizar os arquivos do projeto e pode solicitar a instalação de algumas bibliotecas necessárias, aceite essas opções. Assim que o projeto estiver pronto, conecte o dispositivo Android ao computador e selecione a opção de execução na parte superior da janela. Selecione o dispositivo no prompt exibido e deixe o aplicativo ser criado para o dispositivo.
Etapa 6: Testar a conexão de sinal Bluetooth
Assim que o aplicativo estiver aberto, certifique-se de que o Feather esteja ligado e selecione o Adafruit Bluefruit LE na lista de dispositivos que aparece no telefone. Aguarde até que o dispositivo se conecte; se a conexão falhar na primeira vez, tente conectar novamente antes de realizar outras etapas de depuração. Após o dispositivo ter sido conectado, selecione o módulo "Detector de postura" que, se estiver funcionando corretamente, exibirá um gráfico de atualização ao vivo, bem como as previsões atuais de postura e movimento. Para testar se o arduino está comunicando os dados do sensor, mova corretamente os dois acelerômetros em direções aleatórias e verifique se todas as linhas no gráfico mudam. Se algumas linhas permanecerem constantemente planas, certifique-se de que os acelerômetros estejam conectados corretamente ao Feather. Se tudo estiver funcionando, coloque a camiseta e teste se a detecção de postura está prevendo corretamente sua postura. Parabéns! Você configurou com sucesso um wearable de detecção de postura. Continue com este instrutível para aprender como criar seu próprio conjunto de dados e personalizar sua própria detecção de postura.
Etapa 7: Coletando Seus Próprios Dados
Para coletar seus próprios dados, volte para a tela de seleção do módulo e abra o módulo Gravador de Dados. Assim que esta tela for aberta, preencha o rótulo dos dados que você coletará; para treinar facilmente com seus dados você deve incluir a palavra "bom" no nome de todas as gravações com boa postura e "ruim" em todas as gravações com postura. Para iniciar a coleta, toque no botão "Coletar Dados" e execute a ação pretendida; quando terminar, toque no botão novamente para finalizar e salvar os dados. Todos os dados gravados serão armazenados em uma pasta chamada "GestureData" na pasta de documentos do seu sistema de arquivos. Quando terminar de gravar todos os seus dados, copie os arquivos para o seu computador para o treinamento do modelo.
Etapa 8: treinar seus dados no Jupyter Notebook
O código do projeto inicial contém os dados originais usados para treinamento na pasta "dados" na seção do Jupyter Notebook. Para treinar seus próprios dados, exclua todos os arquivos nesta pasta e, em seguida, copie seus próprios dados para a pasta. Em seguida, execute o Jupyter Notebook e abra "PostureDetectorTrainer.ipynb". Este notebook é projetado para separar automaticamente todos os arquivos na pasta de dados por boa e má postura e, em seguida, treinar um SVM linear para classificação para treinar o modelo, basta selecionar o menu suspenso "Célula" e selecionar "Executar tudo". O notebook pode demorar um pouco para ser executado, mas uma vez completo, role até o ponto que fornece a precisão da previsão da postura para o modelo, se a precisão for baixa, você pode querer garantir que suas gravações anteriores sejam verdades precisas e consistentes. Se os resultados parecerem bons, role para a próxima célula onde uma classe Java terá sido gerada. Role até o final desta célula até ver uma parte comentada como parâmetros. Copie esses valores, pois você precisará deles na próxima etapa.
Etapa 9: Modificando o aplicativo Android com o novo modelo
Para alterar o modelo no aplicativo Android, use o Android Studio para navegar até o arquivo "PostureDetectorFragment.java" na seção java da estrutura do projeto. Neste arquivo, role para baixo até a seção comentada como "Classificador de postura", que terá as mesmas 4 variáveis correspondentes que as 4 geradas no Jupyter Notebook. Substitua os valores dessas 4 variáveis pelos valores copiados do Jupyter Notebook, certificando-se de que os nomes das variáveis não sejam alterados de p_vectors, p_coefficients, etc. Feito isso, salve o arquivo e selecione a opção Executar novamente para construir o aplicativo para o seu dispositivo. Agora siga as mesmas etapas de antes para abrir o módulo Detector de postura e você deverá ver o classificador trabalhando com seu modelo recém-treinado. Se ainda não parecer ter um bom desempenho, você deve considerar gravar mais dados e recriar o modelo. Caso contrário, parabéns! Agora você importou seu classificador treinado pessoalmente para o Postshirt!
Recomendado:
Pipboy / IronMan real: aquecedor vestível + luz de utilitário do corredor: 10 etapas
Pipboy / Homem de Ferro: Aquecedor Vestível + Corredor Luz Utilitária: Antecedentes: A Criação do Homem por Prometeu (por JM Hunt): " Prometeu atribuiu a Epimeteu a tarefa de dar às criaturas da terra suas várias qualidades, como rapidez, astúcia , força, pele e asas. Infelizmente, por
Anel de detecção de mentiras Arduino vestível: 7 etapas
Anel de detecção de mentiras Arduino vestível: Para começar com … fofoca☺: Tom, um aluno da 5ª série que voltou da escola primária. Uma vez que ele voltou para casa pressionado para se sentar ao lado de seu pai. Então o pai vasculha por um longo tempo, finalmente consegue uma coisinha coberta por poeira. Seu pai liga e
Detecção de rosto em tempo real no RaspberryPi-4: 6 etapas (com imagens)
Detecção de rosto em tempo real no RaspberryPi-4: Neste Instructable, vamos realizar a detecção de rosto em tempo real no Raspberry Pi 4 com Shunya O / S usando a Biblioteca Shunyaface. Você pode atingir uma taxa de quadros de detecção de 15-17 no RaspberryPi-4 seguindo este tutorial
Exibição de tempo e tempo do Arduino 3 em 1: 11 etapas
Arduino 3 em 1 Time and Weather Display: Eu gosto de microcontroladores PIC e gosto de programar em linguagem assembly. Na verdade, nos últimos dois anos, postei cerca de 40 projetos em meu site com base nessa combinação. Recentemente, eu estava encomendando algumas peças de um dos meus favoritos dos EUA v
Pulseira de detecção de tempo: 6 etapas (com fotos)
Pulseira de detecção de tempo: A pulseira de detecção de tempo é um potenciômetro de tecido. Você seleciona a hora do dia desejada fazendo contato na posição correspondente em seu pulso - onde seu relógio normalmente estaria. Não há sentido para isso, mas divertido. Atualização: Usando algum fio wr