Índice:

Raspberry Pi Impact Force Monitor !: 16 etapas (com imagens)
Raspberry Pi Impact Force Monitor !: 16 etapas (com imagens)

Vídeo: Raspberry Pi Impact Force Monitor !: 16 etapas (com imagens)

Vídeo: Raspberry Pi Impact Force Monitor !: 16 etapas (com imagens)
Vídeo: Increased Frame Rate on a cheap Raspberry Pi LCD - Make Your SPI Display Playable 2024, Novembro
Anonim
Image
Image
Leitura sugerida
Leitura sugerida

Quanto impacto o corpo humano pode suportar? Seja futebol, escalada ou acidente de bicicleta, saber quando procurar atendimento médico imediato após uma colisão é extremamente importante, especialmente se não houver sinais óbvios de trauma. Este tutorial irá ensiná-lo a construir seu próprio monitor de força de impacto!

Tempo de leitura: ~ 15 min

Tempo de construção: ~ 60-90 min

Este projeto de código aberto usa um Raspberry Pi Zero W e um acelerômetro LIS331 para monitorar e alertar o usuário sobre forças G potencialmente perigosas. Claro, sinta-se à vontade para modificar e adaptar o sistema para atender às suas várias necessidades de ciência cidadã.

Nota: Crie coisas divertidas com o Impact Force Monitor! No entanto, não o use como um substituto para aconselhamento médico profissional e diagnóstico. Se você sentir que sofreu uma queda grave, visite um profissional qualificado e licenciado para o tratamento adequado.

Etapa 1: Leitura sugerida

Para manter este tutorial curto e agradável (er, bem, tanto quanto possível), estou assumindo que você está começando com um Pi Zero W funcional. Precisa de ajuda? Sem problemas! Aqui está um tutorial de configuração completo.

Também estaremos nos conectando ao Pi remotamente (também conhecido como sem fio). Para uma visão geral mais completa sobre este processo, confira este tutorial.

** Preso ou quer saber mais? Aqui estão alguns recursos úteis: **

1. Excelente guia de "Primeiros passos" para o Pi.

2. Guia de conexão completo para a placa de breakout do acelerômetro LIS331.

3. Mais sobre acelerômetros!

4. Visão geral dos pinos GPIO do Raspberry Pi.

5. Usando os barramentos seriais SPI e I2C no Pi.

6. Folha de dados LIS331

Etapa 2: Materiais

Materiais
Materiais
Materiais
Materiais
  • Kit Básico Raspberry Pi Zero W

    • Este kit inclui o seguinte: Cartão SD com sistema operacional NOOBS; Cabo USB OTG (microUSB para USB fêmea); Mini HDMI para HDMI; Fonte de alimentação MicroUSB (~ 5V)
    • Também recomendado: hub USB
  • Alfinetes de cabeçalho Raspberry Pi 3
  • LIS331 Acelerômetro Breakout Board
  • Pacote de bateria com conector MicroUSB
  • LED vermelho 5mm
  • Resistor 1k
  • 6 "Tubo termorretrátil ou fita isolante
  • Pinos de cabeçalho para acelerômetro (4 - 8) e LED (2)
  • Fios de ligação fêmea para fêmea (6)

Ferramentas

  • Ferro de soldar e acessórios
  • Epóxi (ou outro adesivo líquido permanente e não condutor)
  • Provavelmente também tesouras:)

Etapa 3: Mas espere! O que é força de impacto?

Felizmente, o termo "força de impacto" é bastante direto: a quantidade de força em um impacto. Como a maioria das coisas, porém, medi-lo requer uma definição mais precisa. A equação para força de impacto é:

F = KE / d

onde F é a força de impacto, KE é a energia cinética (energia do movimento) e d é a distância de impacto, ou o quanto o objeto tritura. Existem duas conclusões principais desta equação:

1. A força de impacto é diretamente proporcional à energia cinética, o que significa que a força de impacto aumenta se a energia cinética aumentar.

2. A força de impacto é inversamente proporcional à distância de impacto, o que significa que a força de impacto diminui se a distância de impacto aumentar. (É por isso que temos airbags: para aumentar a distância do nosso impacto.)

A força é normalmente medida em Newtons (N), mas a força de impacto pode ser discutida em termos de uma "Força G", um número expresso como um múltiplo de g, ou aceleração gravitacional da Terra (9,8 m / s ^ 2). Quando usamos unidades de força G, estamos medindo a aceleração de um objeto em relação à queda livre em direção à Terra.

Tecnicamente falando, g é uma aceleração, não uma força, mas é útil quando se fala em colisões porque a aceleração * é o que danifica o corpo humano.

Para este projeto, usaremos unidades de força G para determinar se um impacto é potencialmente perigoso e merece atenção médica. Pesquisas descobriram que forças g acima de 9G podem ser fatais para a maioria dos humanos (sem treinamento especial), e 4-6G podem ser perigosas se sustentadas por mais de alguns segundos.

Sabendo disso, podemos programar nosso monitor de força de impacto para nos alertar se nosso acelerômetro medir uma força G acima de qualquer um desses limites. Hooray, ciência!

Para obter mais informações, leia sobre força de impacto e força G na Wikipedia!

A aceleração é uma mudança na velocidade e / ou direção

Etapa 4: configurar o Pi Zero W

Configure o Pi Zero W
Configure o Pi Zero W

Reúna seu Raspberry Pi Zero e periféricos para configurar o Pi para ser sem cabeça!

  • Conecte o Pi a um monitor e periféricos associados (teclado, mouse), conecte a fonte de alimentação e faça login.
  • Atualize o software para manter seu Pi rápido e seguro. Abra a janela do terminal e digite estes comandos:

    Digite e insira:

sudo apt-get update

Digite e insira:

sudo apt-get upgrade

Redefinir:

sudo shutdown -r now

Etapa 5: habilitar WiFi e I2C

Ativar WiFi e I2C
Ativar WiFi e I2C
Ativar WiFi e I2C
Ativar WiFi e I2C
Ativar WiFi e I2C
Ativar WiFi e I2C
  • Clique no ícone WiFi no canto superior direito da área de trabalho e conecte-se à sua rede WiFi.
  • No terminal, digite este comando para abrir a ferramenta de configuração de software do Pi:

sudo raspi-config

  • Selecione “Opções de interface”, depois “SSH” e escolha “Sim” na parte inferior para habilitar.
  • Volte para “Opções de interface”, depois “I2C” e selecione “Sim” para ativar.
  • No terminal, instale o software de conexão de área de trabalho remota:

sudo apt-get install xrdp

  • Digite ‘S’ (sim) em seu teclado para ambos os prompts.
  • Encontre o endereço IP do Pi passando o mouse sobre a conexão WiFi (você também pode querer anotá-lo).
  • Altere a senha do Pi com o comando passwd.

Etapa 6: reinicie o Pi e faça login remotamente

Reinicie o Pi e faça login remotamente
Reinicie o Pi e faça login remotamente

Agora podemos abandonar o HDMI e periféricos, woohoo!

  • Configure uma conexão de área de trabalho remota.

    • Em um PC, abra a Conexão de Área de Trabalho Remota (ou PuTTY se você se sentir confortável com isso).
    • Para Mac / Linux, você pode instalar este programa ou usar um programa VNC.
  • Digite o IP para o Pi e clique em “Conectar” (ignorar avisos sobre dispositivo desconhecido).
  • Faça login no Pi usando suas credenciais e pronto!

Etapa 7: Construa: Eletrônica

Construa: Eletrônica!
Construa: Eletrônica!
Construa: Eletrônica!
Construa: Eletrônica!

As duas fotos acima mostram o esquema elétrico deste projeto e a Pinagem Pi Zero. Precisaremos de ambos para lidar com as conexões de hardware.

Nota: A placa de breakout LIS331 no esquema é uma versão mais antiga - use as etiquetas dos pinos para orientação

Etapa 8: conecte o acelerômetro ao GPIO do Pi

Conecte o acelerômetro ao GPIO do Pi
Conecte o acelerômetro ao GPIO do Pi
Conecte o acelerômetro ao GPIO do Pi
Conecte o acelerômetro ao GPIO do Pi
Conecte o acelerômetro ao GPIO do Pi
Conecte o acelerômetro ao GPIO do Pi
  • Solde e remova cuidadosamente qualquer resíduo de fluxo no acelerômetro e pinos de cabeçalho Pi GPIO.
  • Em seguida, conecte os fios de jumper entre a placa de interrupção LIS331 e Pi entre os seguintes pinos:

LIS331 Breakout Board Raspberry Pi GPIO Pin

GND GPIO 9 (GND)

VCC GPIO 1 (3,3V)

SDA GPIO 3 (SDA)

SCL GPIO 5 (SCL)

Para tornar mais fácil conectar o sensor ao Pi Zero, um adaptador personalizado foi feito usando um conector fêmea e fios de jumper. O termoencolhível foi adicionado após testar as conexões

Etapa 9: Adicionar um LED de alerta

Adicione um LED de alerta!
Adicione um LED de alerta!
Adicione um LED de alerta!
Adicione um LED de alerta!
Adicione um LED de alerta!
Adicione um LED de alerta!
Adicione um LED de alerta!
Adicione um LED de alerta!
  • Solde um resistor limitador de corrente na perna negativa do LED (perna mais curta) e adicione filme retrátil (ou fita isolante) para isolar.
  • Use dois cabos de jumper ou pinos de cabeçalho para conectar a perna positiva do LED ao GPIO26 e o resistor ao GND (posições de cabeçalho 37 e 39, respectivamente).
  • Conecte a bateria à alimentação de entrada do Pi para completar a configuração!

Etapa 10: programe

Programe!
Programe!

O código Python para este projeto é de código aberto! Aqui está um link para o repositório GitHub.

Para pessoas novas em programação:

Leia o código do programa e comentários. Coisas que são fáceis de modificar estão na seção “Parâmetros do usuário” na parte superior

Para pessoas mais confortáveis com os detalhes técnicos:

Este programa inicializa o acelerômetro LIS331 com as configurações padrão, incluindo modo de energia normal e taxa de dados de 50Hz. Leia a folha de dados do LIS331 e modifique as configurações de inicialização conforme desejado

Tudo

  • A escala de aceleração máxima usada neste projeto é 24G, porque a força de impacto aumenta muito rápido!
  • É recomendável comentar as instruções de impressão de aceleração na função principal quando você estiver pronto para a implantação completa.

Antes de executar o programa, verifique se o endereço do acelerômetro é 0x19. Abra a janela do terminal e instale algumas ferramentas úteis com este comando:

sudo apt-get install -y i2c-tools

Em seguida, execute o programa i2cdetect:

i2cdetect -y 1

Você verá uma tabela de endereços I2C exibida conforme mostrado na imagem acima. Supondo que este seja o único dispositivo I2C conectado, o número que você vê (neste caso: 19) é o endereço do acelerômetro! Se você vir um número diferente, anote e mude no programa (variável addr).

Etapa 11: Visão geral rápida do programa

Visão geral rápida do programa
Visão geral rápida do programa

O programa lê a aceleração x, y e z, calcula uma força g e, em seguida, salva os dados em dois arquivos (na mesma pasta do código do programa) conforme apropriado:

  • AllSensorData.txt - fornece um carimbo de data / hora seguido pela força-g nos eixos x, y e z.
  • AlertData.txt - igual ao anterior, mas apenas para leituras acima de nossos limites de segurança (limite absoluto de 9G ou 4G por mais de 3 segundos).

As forças G acima de nossos limites de segurança também irão ligar nosso LED de alerta e mantê-lo ligado até reiniciarmos o programa. Pare o programa digitando “CTRL + c” (interrupção do teclado) no terminal de comando.

A foto acima mostra os dois arquivos de dados criados durante o teste.

Etapa 12: Teste o sistema

Teste o sistema!
Teste o sistema!
Teste o sistema!
Teste o sistema!

Abra a janela do terminal, navegue até a pasta onde você salvou o código do programa usando o comando cd.

caminho do cd / para / pasta

Execute o programa usando privilégios de root:

sudo python NameOfFile.py

Verifique se os valores de aceleração nas direções x, y e z estão sendo impressos na janela do terminal, são razoáveis e ligue a luz do LED se a força g estiver acima de nossos limites.

  • Para testar, gire o acelerômetro de forma que cada eixo aponte para a terra e verifique se os valores medidos são 1 ou -1 (corresponde à aceleração da gravidade).
  • Agite o acelerômetro para garantir que as leituras aumentem (o sinal indica a direção do eixo, estamos mais interessados na magnitude da leitura).

Etapa 13: Proteja as conexões elétricas e instale-as

Proteja as conexões elétricas e instale-as!
Proteja as conexões elétricas e instale-as!

Depois que tudo estiver funcionando corretamente, vamos nos certificar de que o monitor de força de impacto pode realmente suportar o impacto!

  • Use tubo termorretrátil e / ou cubra as conexões elétricas do acelerômetro e do LED com epóxi.
  • Para instalações superduráveis e permanentes, considere revestir todo o material com epóxi: o Pi Zero, o LED e o acelerômetro (mas NÃO os conectores de cabo Pi ou o cartão SD).

    Aviso! Você ainda pode acessar o Pi e fazer todas as coisas do computador, mas uma camada completa de epóxi impedirá o uso dos pinos GPIO em projetos futuros. Como alternativa, você pode fazer ou comprar uma caixa personalizada para o Pi Zero, embora verifique a durabilidade

Fixe a um capacete, sua pessoa ou um meio de transporte como seu skate, bicicleta ou gato *!

Teste totalmente se o Pi está preso com segurança ou os pinos GPIO podem se soltar, causando o travamento do programa.

* Observação: originalmente, eu pretendia digitar "carro", mas percebi que um monitor de força de impacto para um gato também pode fornecer alguns dados interessantes (com o consentimento do gatinho, é claro).

Etapa 14: Incorporando o circuito em um capacete

Incorporando o circuito em um capacete
Incorporando o circuito em um capacete
Incorporando o circuito em um capacete
Incorporando o circuito em um capacete
Incorporando o circuito em um capacete
Incorporando o circuito em um capacete

Existem alguns métodos de embutir o circuito em um capacete. Esta é minha abordagem para a instalação de um capacete:

  • Se ainda não o fez, conecte a bateria ao Pi (com a bateria desligada). Prenda o acelerômetro na parte de trás do Pi com isolamento não condutivo (como plástico bolha ou espuma de embalagem fina).
  • Meça as dimensões da combinação de Pi Zero, acelerômetro, LED e conector de bateria. Adicione 10% de cada lado.
  • Desenhe um recorte para o projeto em um lado do capacete, com o conector da bateria voltado para o topo do capacete. Corte o acolchoamento do capacete deixando alguns milímetros (~ 1/8 pol.).
  • Coloque o sensor, Pi e LED no recorte. Corte pedaços do excesso de acolchoamento do capacete ou use espuma de embalagem para isolar, proteger e manter os componentes eletrônicos no lugar.
  • Meça as dimensões da bateria, adicione 10% e siga o mesmo corte para a bateria. Insira a bateria no bolso.
  • Repita a técnica de isolamento para a bateria do outro lado do capacete.
  • Segure o forro do capacete no lugar com fita adesiva (sua cabeça os manterá no lugar quando você o estiver usando).

Etapa 15: implantar

Implantar!
Implantar!
Implantar!
Implantar!

Ligue a bateria!

Agora você pode fazer login remotamente no Pi por meio de SSH ou área de trabalho remota e executar o programa por meio do terminal. Assim que o programa estiver em execução, ele começa a registrar os dados.

Quando você se desconecta do WiFi doméstico, a conexão SSH é interrompida, mas o programa ainda deve registrar os dados. Considere conectar o Pi ao hotspot WiFi do seu smartphone ou apenas faça login novamente e pegue os dados quando chegar em casa.

Para acessar os dados, faça login remotamente no Pi e leia os arquivos de texto. O programa atual sempre anexará dados aos arquivos existentes - se você quiser excluir dados (como de teste), exclua o arquivo de texto (por meio da área de trabalho ou use o comando rm no terminal) ou crie um novo nome de arquivo no programa código (em parâmetros do usuário).

Se o LED estiver aceso, reiniciar o programa irá desligá-lo.

Agora vá em frente, divirta-se na vida e verifique os dados de vez em quando, se acontecer de você esbarrar em algo. Esperançosamente, é um pequeno solavanco, mas pelo menos você saberá!

Etapa 16: Adicionando mais recursos

Adicionando mais recursos
Adicionando mais recursos

Procurando melhorias para o monitor de força de impacto? Está fora do escopo do tutorial, mas tente olhar a lista abaixo para ter ideias!

Faça algumas análises em seus dados de força g em Python!

O Pi Zero tem recursos de Bluetooth e WiFi - escreva um aplicativo para enviar os dados do acelerômetro para o seu smartphone! Para começar, aqui está um tutorial para um Pi Twitter Monitor.

Adicione outros sensores, como um sensor de temperatura ou um microfone *!

Edifício feliz

* Nota: Para ouvir os sons sibilantes associados à sua aceleração!: D

Recomendado: