Índice:

Acompanhamento de variações de aceleração com Raspberry Pi e MMA7455 usando Python: 6 etapas
Acompanhamento de variações de aceleração com Raspberry Pi e MMA7455 usando Python: 6 etapas

Vídeo: Acompanhamento de variações de aceleração com Raspberry Pi e MMA7455 usando Python: 6 etapas

Vídeo: Acompanhamento de variações de aceleração com Raspberry Pi e MMA7455 usando Python: 6 etapas
Vídeo: Qt: um toolkit, um código-fonte, múltiplas plataformas 2024, Novembro
Anonim
Image
Image

Eu não tropecei, estava testando a gravidade. Ainda funciona …

A representação de um ônibus espacial em aceleração esclareceu que um relógio no ponto mais alto do ônibus pegaria mais rápido do que um na base devido à expansão do tempo gravitacional. Alguns argumentaram que acelerar a bordo do ônibus espacial seria o mesmo para os dois relógios, então eles deveriam funcionar na mesma velocidade. Pense um pouco sobre isso.

Pensamentos, motivação e até mesmo diretrizes podem se originar de qualquer lugar - entretanto, quando sua atenção está na inovação, ela obtém a contribuição dos indivíduos que se concentram naquele ponto. Raspberry Pi, o mini PC Linux de placa única, oferece empreendimentos únicos e conselhos mestres sobre organização, programação e empreendimentos eletrônicos. Por sermos Raspberry Pi e criadores de tutoriais de dispositivos, aproveitamos a chance de programar, mexer e fazer coisas surpreendentes com Ciência da Computação e Eletrônica. Recentemente, tivemos a alegria de realizar uma tarefa utilizando um acelerômetro e os pensamentos por trás do que você poderia fazer com este gadget são realmente legais. Portanto, nesta tarefa, iremos incorporar MMA7455, um sensor acelerômetro digital de 3 eixos, para medir a aceleração em 3 dimensões, X, Y e Z, com o Raspberry Pi usando Python. Vamos ver se vale a pena.

Etapa 1: Hardware que exigimos

Hardware que exigimos
Hardware que exigimos
Hardware que exigimos
Hardware que exigimos

Nós sabemos como pode ser problemático tentar e continuar sem saber quais peças obter, onde providenciar e quanto tudo vai custar antecipadamente. Então, fizemos todo esse trabalho para você. Depois de ter todas as partes alinhadas, deve ser muito fácil realizar essa tarefa. Siga para obter uma lista completa de peças.

1. Raspberry Pi

O passo inicial foi conseguir uma placa Raspberry Pi. O Raspberry Pi é um PC baseado em Linux de placa solitária. Este pequeno PC tem um grande impacto no registro de poder, usado como uma peça de exercícios eletrônicos e operações de PC como planilhas, processamento de texto, navegação na web e e-mail e jogos. Você pode comprar um em qualquer loja de eletrônicos ou amadores.

2. Escudo I2C para Raspberry Pi

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

3. Acelerômetro de 3 eixos, MMA7455

Produzido pela Freescale Semiconductor, Inc., o acelerômetro digital de 3 eixos MMA7455 é um sensor usinado de baixa potência e menor escala, adequado para medir a aceleração ao longo de seus eixos X, Y e Z. Obtivemos 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 mais leve emaranhado, no entanto, o mais estrito em relação à necessidade de energia é o Raspberry Pi! A abordagem mais prescrita e menos exigente para gerenciar a estratégia é pela utilização do cabo Micro USB. Um caminho mais avançado e especializado é fornecer energia especificamente por meio de portas GPIO ou USB.

6. Suporte de rede

Associe o Raspberry Pi a um cabo Ethernet (LAN) e faça a interface com sua rede doméstica. Por outro lado, procure um conector WiFi e utilize uma das portas USB para acessar a rede remota. É uma decisão acertada, fundamental, pequena e simples!

7. Cabo HDMI / acesso remoto

O Raspberry Pi tem uma porta HDMI que pode ser conectada principalmente a uma tela ou TV com um cabo HDMI. Opcionalmente, você pode usar SSH para estabelecer com seu Raspberry Pi de um PC Linux ou Mac a partir do terminal. Da mesma forma, PuTTY, um emulador de terminal gratuito e de código aberto parece uma ideia inteligente.

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 conforme indicado pelo esquema mostrado. No esquema, você verá as conexões de vários componentes eletrônicos, fios de conexão, cabos de alimentação e sensor I2C.

Raspberry Pi e conexão de blindagem I2C

Como questão de primeira importância, pegue o Raspberry Pi e coloque o Escudo I2C nele. Pressione o escudo suavemente sobre os pinos GPIO de Pi e terminaremos com essa progressão tão fácil quanto torta (veja o snap).

Raspberry Pi e conexão do sensor

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

Recomendamos o uso do cabo I2C, pois ele nega a necessidade de dissecar pinagens, proteger e incomodar até mesmo a mais humilde bagunça. Com esta associação significativa e play cable, você pode apresentar, trocar engenhocas ou adicionar mais gadgets a um aplicativo adequado. Isso suporta o peso do trabalho até um nível imenso.

Nota: O fio marrom deve ser confiável após a conexão de aterramento (GND) entre a saída de um dispositivo e a entrada de outro dispositivo

Acesso à Internet é a chave

Para tornar nosso esforço uma vitória, exigimos uma conexão com a Internet para o nosso Raspberry Pi. Para isso, você tem alternativas como a interface de uma conexão Ethernet (LAN) com a rede doméstica. Além disso, como alternativa, um curso satisfatório é usar um conector USB WiFi. Em geral, representando isso, você precisa de um driver para fazê-lo funcionar. Portanto, incline-se para aquele com Linux no delineamento.

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 conectado a outro monitor / TV. Às vezes, você precisa obter um Raspberry Pi sem conectá-lo a uma tela ou pode precisar ver as informações dele de outro lugar. Possivelmente, existem maneiras criativas e fiscalmente inteligentes de lidar com todas as coisas consideradas. Um deles está usando - SSH (login de linha de comando remoto). Você também pode usar o software PuTTY para isso.

Etapa 3: codificação Python para Raspberry Pi

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

Você pode ver o código Python para o sensor Raspberry Pi e MMA7455 em nosso GithubRepository.

Antes de continuar com o código, certifique-se de ler os padrões fornecidos na crônica Leiame e configurar seu Raspberry Pi conforme indicado por ele. Será simplesmente um alívio por um minuto, levando-se em consideração as circunstâncias atuais.

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 próximo passo é o código python e você pode clonar e alterar 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. # MMA7455L # Este código foi projetado para funcionar com o Mini Módulo MMA7455L_I2CS I2C disponível em dcubestore.com # https://dcubestore.com/product/mma7455l-3-axis-low-g-digital-output-accelerometer-i%C2 % Mini-módulo B2c /

import smbus

tempo de importação

# Pegue o ônibus I2C

bus = smbus. SMBus (1)

Endereço # MMA7455L, 0x1D (16)

# Selecione o registro de controle do modo, 0x16 (22) # 0x01 (01) Modo de medição, +/- 8g bus.write_byte_data (0x1D, 0x16, 0x01)

tempo.sono (0,5)

Endereço # MMA7455L, 0x1D (16)

# Ler dados de 0x00 (00), 6 bytes # LSB do eixo X, MSB do eixo X, LSB do eixo Y, MSB do eixo Y, LSB do eixo Z, dados MSB do eixo Z = bus.read_i2c_block_data (0x1D, 0x00, 6)

# Converta os dados para 10 bits

xAccl = (dados [1] e 0x03) * 256 + dados [0] se xAccl> 511: xAccl - = 1024 yAccl = (dados [3] e 0x03) * 256 + dados [2] se yAccl> 511: yAccl - = 1024 zAccl = (dados [5] e 0x03) * 256 + dados [4] se zAccl> 511: zAccl - = 1024

# 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 praticidade do código

A praticidade do código
A praticidade 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 exibirá cada um dos parâmetros. Para garantir que tudo funcione facilmente, você pode utilizar essa jornada todos os dias ou torná-la uma pequena parte de uma tarefa muito mais importante. Quaisquer que sejam suas necessidades, agora você tem mais uma engenhoca em seu encontro.

Etapa 5: aplicativos e recursos

O MMA7455, fabricado pela Freescale Semiconductor, um acelerômetro digital de 3 eixos de baixa potência e alto desempenho pode ser usado para alterações de dados do sensor, orientação do produto e detecção de gestos. É perfeito para aplicativos como telefone celular / PMP / PDA: detecção de orientação (retrato / paisagem), estabilidade de imagem, rolagem de texto, discagem por movimento, toque para silenciar, laptop: antifurto, jogos: detecção de movimento, ativação automática / Suspensão para baixo consumo de energia e câmera fotográfica digital: Estabilidade de imagem.

Etapa 6: Conclusão

Se você está pensando em explorar o universo dos sensores Raspberry Pi e I2C, então você pode se chocar usando os fundamentos do hardware, codificação, organização, autoridade, etc. Quando você está tentando ser mais criativo em seu pequeno empreendimento, nunca danifica balançar para fontes externas. Neste método, pode haver algumas incumbências que podem ser diretas, enquanto alguns podem testá-lo, movê-lo. Em qualquer caso, você pode fazer um caminho perfeito mudando e fazendo uma formação sua.

Por exemplo, você pode começar pensando em um Protótipo de Gravímetro para medir o Campo Gravitacional Local da Terra com MMA7455 e Raspberry Pi usando Python. No empreendimento acima, utilizamos cálculos fundamentais. O princípio básico do projeto é medir mudanças fracionárias muito pequenas dentro da gravidade da Terra de 1 g. Portanto, você pode utilizar este sensor de várias maneiras que você pode considerar. O algoritmo mede a taxa de variação do vetor de gravidade vertical em todas as três direções perpendiculares, dando origem a um tensor de gradiente de gravidade. Ela pode ser deduzida diferenciando o valor da gravidade em dois pontos separados por uma pequena distância vertical, l, e dividindo por essa distância. Tentaremos fazer uma versão funcional deste protótipo mais cedo ou mais tarde, a configuração, o código e a modelagem funcionam para análise de ruído e vibração da estrutura. Acreditamos que todos vocês gostam!

Para seu consolo, temos um vídeo encantador no YouTub que pode ajudar no seu exame. Confie neste empreendimento direciona uma investigação mais aprofundada. Se a oportunidade não bater, construa uma porta.

Recomendado: