Índice:

Acelerômetro de 3 eixos, ADXL345 com Raspberry Pi usando Python: 6 etapas
Acelerômetro de 3 eixos, ADXL345 com Raspberry Pi usando Python: 6 etapas

Vídeo: Acelerômetro de 3 eixos, ADXL345 com Raspberry Pi usando Python: 6 etapas

Vídeo: Acelerômetro de 3 eixos, ADXL345 com Raspberry Pi usando Python: 6 etapas
Vídeo: Home Automation Using Accelecrometer 2024, Novembro
Anonim
Acelerômetro de 3 eixos, ADXL345 com Raspberry Pi usando Python
Acelerômetro de 3 eixos, ADXL345 com Raspberry Pi usando Python

Pensar em um gadget que pode verificar o ponto em que seu Offroader está inclinado para demorou. Não seria agradável se alguém se ajustasse quando existe a possibilidade de tombar? Obviamente sim. Seria realmente útil para pessoas que amam ir para as montanhas e viagens empresariais.

Sem dúvida, um verdadeiro período brilhante de avaliação de figuras avançadas, a IoT está sobre nós. Como amantes de Gadgets e Programação, acreditamos, Raspberry Pi, o micro Linux PC tratou as habilidades criativas das pessoas em geral, trazendo consigo uma explosão em metodologias inovadoras. Então, quais são os resultados concebíveis que podemos fazer caso tenhamos um Raspberry Pi e um acelerômetro de 3 eixos por perto? Devemos descobrir! Nesta tarefa, sentiremos a aceleração em 3 eixos, X, Y e Z utilizando Raspberry Pi e ADXL345, um acelerômetro de 3 eixos. Portanto, devemos observar nesta excursão para fabricar uma estrutura para medir a aceleração tridimensional para cima ou Força G.

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
Hardware básico que exigimos
Hardware básico que exigimos

Os problemas eram menores para nós, uma vez que temos uma tonelada de coisas por aí para trabalhar. No entanto, sabemos como é incômodo para os outros montar a peça certa no momento certo e no local oportuno e que se justifica independentemente de cada centavo. Portanto, iremos ajudá-lo em todas as regiões. Leia o seguinte para obter uma lista de peças completa.

1. Raspberry Pi

O passo inicial foi adquirir uma placa Raspberry Pi. Este computador minúsculo e de baixa potência fornece uma base barata e geralmente simples para empreendimentos eletrônicos, Internet das Coisas (IoT), Cidades Inteligentes, Educação Escolar.

2. Escudo I2C para Raspberry Pi

A principal coisa que falta genuinamente ao Raspberry Pi é uma porta I²C. Portanto, para isso, o conector TOUTPI2 I²C oferece a oportunidade de utilizar o Rasp Pi com dispositivos MULTIPLE I²C. É acessível na DCUBE Store

3. Acelerômetro de 3 eixos, ADXL345

Fabricado pela Analog Devices, o ADXL345 é um acelerômetro de 3 eixos de baixa potência com medição de 13 bits de alta resolução em até ± 16g. Adquirimos este sensor da DCUBE Store

4. Cabo de conexão

Tínhamos o cabo de conexão I2C acessível na loja DCUBE

5. Cabo micro USB

O mais leve confuso, mas o mais rigoroso no que diz respeito à necessidade de energia, é o Raspberry Pi! A abordagem mais fácil para ligar o Raspberry Pi é por meio do cabo Micro USB.

6. O acesso à web é uma necessidade

O acesso à web pode ser habilitado por meio de um cabo Ethernet (LAN) associado a uma rede local e à web. Por outro lado, você pode se associar a uma rede sem fio usando um dongle sem fio USB, que exigirá configuração.

7. Cabo HDMI / acesso remoto

Com o cabo HDMI a bordo, você pode conectá-lo a uma TV digital ou a um monitor. Precisa poupar dinheiro! O Raspberry Pi pode ser levado a utilizar remotamente estratégias distintas, como SSH e acesso pela web. Você pode usar o software de origem PuTTYopen.

Etapa 2: Conectando o Hardware

Conectando o Hardware
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. Faça um esboço e siga a configuração deliberadamente.

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.

Nós prescrevemos a utilização do cabo I2C, pois ele refuta a necessidade de examinar as pinagens, soldas e mal-estar causados até mesmo pelo menor erro crasso. Com este cabo plug and play básico, você pode introduzir, trocar dispositivos ou adicionar mais dispositivos a um aplicativo facilmente. Isso torna as coisas simples.

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 empreendimento uma vitória, exigimos uma conexão da web para o nosso Raspberry Pi. Para isso, você tem alternativas como a interface de um cabo Ethernet (LAN) com o sistema doméstico. Além disso, como uma opção, no entanto, uma rota útil é utilizar um conector WiFi. Algumas vezes para isso, você precisa de um driver para fazer funcionar. Portanto, incline-se para aquele com Linux na representação.

Fonte de energia

Conecte o cabo Micro USB ao conector de alimentação do Raspberry Pi. Ilumine-o e estamos prontos para ir.

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.

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 ADXL345 pode ser acessado em nosso repositório Github.

Antes de prosseguir com o código, certifique-se de ler as diretrizes fornecidas no documento Leiame e configure seu Raspberry Pi de acordo com ele. Ele simplesmente fará uma pausa de um minuto para fazer isso.

Um acelerômetro é um dispositivo que mede a aceleração adequada; a aceleração adequada não é o mesmo que a aceleração coordenada (taxa de variação da velocidade). Modelos de eixo único e múltiplo do acelerômetro são acessíveis para identificar a magnitude e a direção da aceleração adequada, como uma quantidade vetorial, e podem ser utilizados para detectar a orientação, coordenar a aceleração, vibração, choque e queda em um meio resistivo.

O código está claro para você e está na estrutura mais direta que você pode imaginar e você não deve ter problemas.

# 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. # ADXL345 # Este código foi desenvolvido para funcionar com o Mini Módulo ADXL345_I2CS I2C disponível em dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -módulo/

import smbus

tempo de importação

# Pegue o ônibus I2C

bus = smbus. SMBus (1)

# Endereço ADXL345, 0x53 (83)

# Selecione o registro da taxa de largura de banda, 0x2C (44) # 0x0A (10) Modo normal, Taxa de dados de saída = 100 Hz bus.write_byte_data (0x53, 0x2C, 0x0A) # ADXL345 endereço, 0x53 (83) # Selecione o registro de controle de energia, 0x2D (45) # 0x08 (08) Auto Sleep desabilitar bus.write_byte_data (0x53, 0x2D, 0x08) # ADXL345 endereço, 0x53 (83) # Selecione o registro de formato de dados, 0x31 (49) # 0x08 (08) Autoteste desabilitado, 4 fios interface # resolução total, intervalo = +/- 2g bus.write_byte_data (0x53, 0x31, 0x08)

tempo.sono (0,5)

# Endereço ADXL345, 0x53 (83)

# Ler dados de 0x32 (50), 2 bytes # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x53, 0x32) data1 = bus.read_byte_data (0x53, 0x33)

# Converta os dados para 10 bits

xAccl = ((dados1 & 0x03) * 256) + dados0 se xAccl> 511: xAccl - = 1024

# Endereço ADXL345, 0x53 (83)

# Ler dados de 0x34 (52), 2 bytes # LSB do eixo Y, dados MSB do eixo Y0 = bus.read_byte_data (0x53, 0x34) data1 = bus.read_byte_data (0x53, 0x35)

# Converta os dados para 10 bits

yAccl = ((dados1 & 0x03) * 256) + dados0 se yAccl> 511: yAccl - = 1024

# Endereço ADXL345, 0x53 (83)

# Ler dados de 0x36 (54), 2 bytes # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x53, 0x36) data1 = bus.read_byte_data (0x53, 0x37)

# Converta os dados para 10 bits

zAccl = ((dados1 & 0x03) * 256) + dados0 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 para Compilar e Carregar o código no terminal e veja a saída no Monitor. Após alguns instantes, ele mostrará cada um dos parâmetros. Depois de garantir que tudo funcione facilmente, você pode levar esse empreendimento a uma tarefa ainda maior.

Etapa 5: aplicativos e recursos

O ADXL345 é um acelerômetro de 3 eixos pequeno, fino e de potência ultrabaixa com medição de alta resolução (13 bits) de até ± 16 g. O ADXL345 é apropriado para aplicativos de telefones celulares. 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 handsets, instrumentação médica, jogos e dispositivos apontadores, instrumentação industrial, dispositivos de navegação pessoal e proteção de unidade de disco rígido (HDD).

Etapa 6: Conclusão

Espero que esta tarefa motive mais experimentação. Este sensor I2C é extraordinariamente flexível, barato e acessível. Como é um sistema impermanente em grande parte, existem maneiras interessantes de ampliar essa tarefa e até mesmo melhorá-la.

Por exemplo, você pode começar com a ideia de um Inclinômetro usando o ADXL345 e o Raspberry Pi. No projeto acima, usamos cálculos básicos. Você pode improvisar o código para valores G, ângulos de inclinação (ou inclinação), elevação ou depressão de um objeto em relação à gravidade. Em seguida, você pode verificar as opções de avanço, como ângulos de rotação para roll (eixo frontal para trás, X), pitch (eixo lateral, Y) e guinada (eixo vertical, Z). Este acelerômetro exibe as Forças G 3-D. Portanto, você pode utilizar este sensor de várias maneiras que você pode considerar.

Para sua comodidade, temos um fascinante exercício de instrução em vídeo no YouTube que pode ajudar na sua investigação. Acredite, este empreendimento motiva mais exploração. Continue contemplando! Lembre-se de buscar, pois mais está surgindo continuamente.

Recomendado: