Índice:

Controle de movimento com Raspberry Pi e LIS3DHTR, acelerômetro de 3 eixos, usando Python: 6 etapas
Controle de movimento com Raspberry Pi e LIS3DHTR, acelerômetro de 3 eixos, usando Python: 6 etapas
Anonim
Image
Image
Hardware básico que exigimos
Hardware básico que exigimos

A beleza nos rodeia, mas normalmente, precisamos estar caminhando em um jardim para conhecê-la. - Rumi

Como o grupo educado que parecemos ser, investimos a maior parte de nossa energia trabalhando antes de nossos PCs e telefones celulares. Portanto, frequentemente deixamos nosso bem-estar ficar em segundo plano, nunca encontrando realmente a oportunidade ideal para ir à academia ou a uma aula de fitness e, como regra, escolher o fast food em vez de opções muito mais benéficas. A notícia animadora é: se tudo de que você precisa é de alguma ajuda para manter registros ou para monitorar seu progresso, você pode utilizar a inovação de hoje para fabricar alguns gadgets para ajudar a si mesmo.

A tecnologia está se desenvolvendo rapidamente. De forma consistente, percebemos alguma inovação que mudará o mundo e a maneira como aprendemos nele. Quando você está em PCs, programação e robôs ou apenas gosta de mexer, há uma bênção tecnológica por aí. Raspberry Pi, o micro computador Linux de placa única, é dedicado a melhorar a maneira como você aprende com a tecnologia inovadora, mas também é a chave para melhorar a aprendizagem educacional em todo o mundo. Então, quais são os resultados possíveis que podemos fazer se tivermos um Raspberry Pi e um acelerômetro de 3 eixos por perto? Que tal encontrarmos isso! Nesta tarefa, verificaremos a aceleração em 3 eixos perpendiculares, X, Y e Z utilizando Raspberry Pi e LIS3DHTR, um acelerômetro de 3 eixos. Portanto, devemos ver nesta jornada para criar um sistema para verificar a aceleração tridimensional ou G-Force.

Etapa 1: Hardware básico que exigimos

Hardware básico que exigimos
Hardware básico que exigimos
Hardware básico que exigimos
Hardware básico que exigimos

Os problemas eram menores para nós, uma vez que temos uma grande quantidade de coisas por aí para trabalhar. Em qualquer caso, sabemos como é problemático para os outros juntar a parte certa em tempo imaculado do local útil e que é defendido prestando pouca atenção a cada centavo. Então, nós o ajudaríamos. Siga o anexo para obter uma lista de peças completa.

1. Raspberry Pi

O passo inicial foi conseguir uma placa Raspberry Pi. O Raspberry Pi é um PC baseado em Linux de placa única. Este pequeno PC tem um grande poder de computação, utilizado como parte das atividades de gadgets e operações diretas, como planilhas, preparação de palavras, digitalização da web e e-mail e jogos.

2. Escudo I2C para Raspberry Pi

A principal preocupação de que o Raspberry Pi esteja realmente ausente é uma porta I²C. Portanto, para isso, o conector TOUTPI2 I²C dá a sensação de usar Rasp Pi com QUALQUER um dos dispositivos I²C. Está disponível na DCUBE Store

3. Acelerômetro de 3 eixos, LIS3DHTR

O LIS3DH é um acelerômetro linear de três eixos de ultra baixo consumo de energia e alto desempenho pertencente à família “nano”, com saída padrão de interface serial digital I2C / SPI. Adquirimos este sensor da DCUBE Store

4. Cabo de conexão

Adquirimos o cabo de conexão I2C na DCUBE Store

5. Cabo micro USB

O menor desnorteado, mas o mais rigoroso quanto à necessidade de energia, é o Raspberry Pi! A maneira mais fácil de lidar com isso é usando o cabo Micro USB.

6. O acesso à web é uma necessidade

As crianças da INTERNET NUNCA dormem

Obtenha seu Raspberry Pi associado a um cabo Ethernet (LAN) e conecte-o ao seu roteador de rede. Opcional, procure um conector WiFi e utilize uma das portas USB para chegar ao sistema remoto. É uma decisão acertada, simples, pequena e de má qualidade!

7. Cabo HDMI / acesso remoto

O Raspberry Pi tem uma porta HDMI que você pode conectar especificamente a uma tela ou TV com um cabo HDMI. Opcionalmente, você pode utilizar o SSH para se associar ao Raspberry Pi de um PC Linux ou Macintosh a partir do terminal. Da mesma forma, PuTTY, um emulador de terminal gratuito e de código aberto, parece uma alternativa decente.

Etapa 2: Conectando o Hardware

Conectando o Hardware
Conectando o Hardware
Conectando o Hardware
Conectando o Hardware
Conectando o Hardware
Conectando o Hardware

Faça o circuito de acordo com o esquema apresentado. Desenhe um diagrama e siga o esboço com precisão. A imaginação é mais importante do que o Conhecimento.

Conexão do Raspberry Pi e Escudo I2C

Acima de tudo, pegue o Raspberry Pi e localize o escudo I2C nele. Pressione o escudo delicadamente sobre os pinos GPIO de Pi e terminaremos com essa progressão tão simples quanto uma torta (veja o snap).

Conexão do Sensor e Raspberry Pi

Pegue o sensor e faça a interface do cabo I2C com ele. Para a operação adequada deste cabo, recorde a saída I2C SEMPRE associada à entrada I2C. O mesmo deve ser feito para o Raspberry Pi com o escudo I2C montado sobre os pinos GPIO.

Endossamos o uso do cabo I2C, uma vez que elimina a necessidade de examinar pinagens, fixação e desconforto causado mesmo pelo menor parafuso. Com esse anexo fundamental e cabo de reprodução, você pode apresentar, trocar dispositivos ou adicionar mais dispositivos a um aplicativo de forma eficaz. Isso facilita o peso do trabalho até um nível significativo.

Observação: O fio marrom deve seguir de forma confiável a conexão de aterramento (GND) entre a saída de um dispositivo e a entrada de outro dispositivo

Rede web é a chave

Para tornar nosso esforço uma vitória, exigimos uma associação da Internet para o nosso Raspberry Pi. Para isso, você tem opções como fazer a interface de um cabo Ethernet (LAN) com a rede doméstica. Além disso, como alternativa, seja como for, um curso confortável é usar um conector USB WiFi. Como regra para isso, você precisa de um motorista para fazê-lo funcionar. Portanto, incline-se para aquele com Linux na descrição.

Fonte de energia

Conecte o cabo Micro USB ao conector de alimentação do Raspberry Pi. Dê um soco e estamos prontos.

Conexão com a tela

Podemos ter o cabo HDMI associado a outra tela. Em alguns casos, você precisa obter um Raspberry Pi sem conectá-lo a uma tela ou pode precisar visualizar alguns dados de outro lugar. É concebível que existam abordagens inovadoras e financeiramente experientes para fazer isso. Um deles está utilizando -SSH (login de linha de comando remoto). Você também pode utilizar o software PUTTY para isso. Estes são para usuários avançados. Portanto, os detalhes não estão incluídos aqui.

Etapa 3: codificação Python para Raspberry Pi

Codificação Python para Raspberry Pi
Codificação Python para Raspberry Pi

O código Python para o sensor Raspberry Pi e LIS3DHTR pode ser acessado em nosso GithubRepository.

Antes de prosseguir com o código, certifique-se de ler as regras fornecidas no arquivo Leiame e configurar seu Raspberry Pi de acordo com ele. Será apenas uma pausa por um momento para fazer todas as coisas consideradas.

Um acelerômetro é um dispositivo eletromecânico que mede as forças de aceleração. Esses poderes podem ser estáticos, semelhantes à força constante da gravidade puxando seus pés, ou podem ser alteráveis - provocados pelo movimento ou vibração do acelerômetro.

O que o acompanha é o código python e você pode clonar e ajustar o código de qualquer maneira que desejar.

# Distribuído com licença de livre arbítrio. # Use-o da maneira que quiser, com ou sem lucro, desde que se enquadre nas licenças das obras associadas. # LIS3DHTR # Este código foi desenvolvido para funcionar com o Mini Módulo LIS3DHTR_I2CS I2C disponível em dcubestore.com # https://dcubestore.com/product/lis3dhtr-3-axis-accelerometer-digital-output-motion-sensor-i%C2 % Mini-módulo B2c /

import smbus

tempo de importação

# Pegue o ônibus I2C

bus = smbus. SMBus (1)

# Endereço LIS3DHTR, 0x18 (24)

# Selecione o registro de controle 1, 0x20 (32) # 0x27 (39) Modo LIGADO, Seleção de taxa de dados = 10 Hz # X, Y, barramento habilitado do eixo Z.write_byte_data (0x18, 0x20, 0x27) # Endereço LIS3DHTR, 0x18 (24) # Selecione o registro de controle 4, 0x23 (35) # 0x00 (00) Atualização contínua, Seleção completa = +/- 2G bus.write_byte_data (0x18, 0x23, 0x00)

tempo.sono (0,5)

# Endereço LIS3DHTR, 0x18 (24)

# Leia os dados de 0x28 (40), 2 bytes # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x18, 0x28) data1 = bus.read_byte_data (0x18, 0x29)

# Converta os dados

xAccl = dados1 * 256 + dados0 se xAccl> 32767: xAccl - = 65536

# Endereço LIS3DHTR, 0x18 (24)

# Ler dados de 0x2A (42), 2 bytes # LSB do eixo Y, dados MSB do eixo Y0 = bus.read_byte_data (0x18, 0x2A) data1 = bus.read_byte_data (0x18, 0x2B)

# Converta os dados

yAccl = dados1 * 256 + dados0 se yAccl> 32767: yAccl - = 65536

# Endereço LIS3DHTR, 0x18 (24)

# Leia os dados de 0x2C (44), 2 bytes # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x18, 0x2C) data1 = bus.read_byte_data (0x18, 0x2D)

# Converta os dados

zAccl = data1 * 256 + data0 se zAccl> 32767: zAccl - = 65536

# Dados de saída para a tela

print "Aceleração no eixo X:% d"% xAccl print "Aceleração no eixo Y:% d"% yAccl print "Aceleração no eixo Z:% d"% zAccl

Etapa 4: A viabilidade do Código

A Viabilidade do Código
A Viabilidade do Código

Baixe (ou git pull) o código do Github e abra-o no Raspberry Pi.

Execute os comandos de Compilar e Upload do código no terminal e veja o rendimento na Tela. Após alguns minutos, ele demonstrará cada um dos parâmetros. Por garantir que tudo funcione sem problemas, você pode levar esse desafio para um empreendimento mais digno de nota.

Etapa 5: aplicativos e recursos

Fabricado pela STMicroelectronics, o LIS3DHTR tem escalas completas selecionáveis pelo usuário dinamicamente de ± 2g / ± 4g / ± 8g / ± 16g e é capaz de medir acelerações com taxas de dados de saída de 1Hz a 5kHz. O LIS3DHTR é apropriado para funções ativadas por movimento e detecção de queda livre. Ele quantifica a aceleração estática da gravidade em aplicações de detecção de inclinação e, além disso, a aceleração dinâmica que se aproxima devido ao movimento ou choque. Outras aplicações incluem reconhecimento de clique / duplo clique, economia inteligente de energia para dispositivos portáteis, pedômetro, orientação de exibição, dispositivos de entrada para jogos e realidade virtual, reconhecimento de impacto e registro e monitoramento e compensação de vibração.

Etapa 6: Conclusão

Acredite que este empreendimento estimula mais experimentação. Este sensor I2C é fenomenalmente adaptável, modesto e disponível. Uma vez que é uma estrutura impermanente de um grau incrível, existem maneiras interessantes de expandir essa tarefa e até mesmo melhorá-la.

Por exemplo, você pode começar com a ideia de um pedômetro usando o LIS3DHTR e o Raspberry Pi. Na tarefa acima, utilizamos cálculos fundamentais. A aceleração pode ser o parâmetro relevante para analisar a condução de uma caminhada. Você pode verificar os três componentes do movimento de um indivíduo que são para a frente (roll, X), lateral (pitch, Y) e vertical (eixo de yaw, Z). Um padrão típico de todos os 3 eixos é registrado. Pelo menos 1 eixo terá valores de aceleração periódica relativamente grandes. Portanto, a direção do pico e um algoritmo são essenciais. Levando em consideração o parâmetro de etapas (filtro digital, detecção de pico, janela de tempo, etc.) deste algoritmo, você pode reconhecer e contar etapas, bem como medir distância, velocidade e, até certo ponto, calorias queimadas. Portanto, você pode utilizar este sensor de várias maneiras que você pode considerar. Confiamos que todos gostem! Tentaremos fazer uma versão funcional deste pedômetro mais cedo ou mais tarde, a configuração, o código, a parte que calcula os meios para separar caminhada e corrida e calorias queimadas.

Para seu consolo, temos um vídeo intrigante no YouTube que pode ajudar em seu exame. Acredite, este empreendimento motiva mais exploração. Continue refletindo! Lembre-se de cuidar, pois mais está surgindo persistentemente.

Recomendado: