Índice:
- Etapa 1: Hardware básico que exigimos
- Etapa 2: Conectando o Hardware
- Etapa 3: codificação Python para Raspberry Pi
- Etapa 4: a praticidade do código
- Etapa 5: aplicativos e recursos
- Etapa 6: Conclusão
Vídeo: Acelerômetro de 3 eixos, ADXL345 com Raspberry Pi usando Python: 6 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
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
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
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
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
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:
Raspberry Pi - ADXL345 Acelerômetro de 3 eixos Python Tutorial: 4 etapas
Raspberry Pi - ADXL345 Acelerômetro de 3 eixos em Python Tutorial: 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. Os dados de saída digital são formatados como complemento de dois de 16 bits e são acessíveis por meio da interface digital I2C. Ele mede o
Raspberry Pi - ADXL345 Acelerômetro de 3 eixos Java Tutorial: 4 etapas
Raspberry Pi - ADXL345 3-Axis Accelerometer Java Tutorial: O ADXL345 é um acelerômetro de 3 eixos pequeno, fino e ultrabaixo com medição de alta resolução (13 bits) de até ± 16 g. Os dados de saída digital são formatados como complemento de dois de 16 bits e são acessíveis por meio da interface digital I2C. Ele mede o
Raspberry Pi MMA8452Q 3 eixos 12 bits / 8 bits acelerômetro digital Python Tutorial: 4 etapas
Raspberry Pi MMA8452Q 3 eixos 12 bits / 8 bits Acelerômetro digital Python Tutorial: O MMA8452Q é um acelerômetro inteligente, de baixo consumo de energia, capacitivo, microusinado e de três eixos com 12 bits de resolução. Opções flexíveis programáveis pelo usuário são fornecidas com o auxílio de funções incorporadas no acelerômetro, configuráveis para duas interrupções
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: a beleza nos cerca, mas normalmente, precisamos estar caminhando em um jardim para conhecê-la. - RumiComo 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
Preliminar * SPI no Pi: comunicando-se com um acelerômetro de 3 eixos SPI usando um Raspberry Pi: 10 etapas
Preliminar * SPI no Pi: comunicando-se com um acelerômetro de 3 eixos SPI usando um Raspberry Pi: guia passo a passo sobre como configurar o Raspbian e comunicar-se com um dispositivo SPI usando a biblioteca SPI bcm2835 (NÃO bit banged!). muito preliminar … Preciso adicionar imagens melhores de conexões físicas e trabalhar alguns dos códigos estranhos