- Componentes necessários
- Acelerômetro ADXL335
- Diagrama de circuito
- Como funciona o pedômetro?
- Programando o contador de passos do Arduino
- Testando o Pedômetro Arduino
As bandas de fitness estão ficando muito populares hoje em dia, o que não apenas conta os passos, mas também rastreia as calorias queimadas, exibe a frequência cardíaca, o horário do show e muito mais. E esses dispositivos IoT são sincronizados com a nuvem para que você possa facilmente obter todo o histórico de sua atividade física em um smartphone. Também construímos um sistema de monitoramento de pacientes baseado em IoT, onde os dados críticos foram enviados ao ThingSpeak para serem monitorados de qualquer lugar.
Pedômetros são os dispositivos usados apenas para contar passos. Portanto, neste tutorial, vamos construir um pedômetro DIY fácil e barato usando Arduino e acelerômetro. Este pedômetro contará o número de passos e os exibirá em um módulo LCD 16x2. Este pedômetro pode ser integrado a este Arduino Smart Watch.
Componentes necessários
- Arduino Nano
- Acelerômetro ADXL 335
- 16 * 2 LCD
- Módulo LCD I2C
- Bateria
Acelerômetro ADXL335
O ADXL335 é um acelerômetro analógico de 3 eixos completo e funciona com base no princípio de detecção capacitiva. É um módulo pequeno, fino e de baixa potência com um sensor micro usinado de superfície de polissilício e circuito de condicionamento de sinais. O acelerômetro ADXL335 pode medir a aceleração estática e dinâmica. Aqui neste projeto do pedômetro Arduino, o acelerômetro ADXL335 atuará como um sensor do pedômetro.
Um acelerômetro é um dispositivo que pode converter a aceleração em qualquer direção para sua respectiva tensão variável. Isso é feito por meio de capacitores (consulte a imagem), à medida que o Accel se move, o capacitor presente nele também sofrerá alterações (consulte a imagem) com base no movimento, como a capacitância é variada, uma tensão variável também pode ser obtida.
Abaixo estão as imagens do acelerômetro da frente e de trás junto com a descrição do pino
Descrição do pino do acelerômetro:
- A alimentação Vcc- 5 volts deve ser conectada neste pino.
- X-OUT- Este pino fornece uma saída analógica na direção x
- Y-OUT- Este pino fornece uma saída analógica na direção y
- Z-OUT- Este pino fornece uma saída analógica na direção z
- GND- Ground
- ST- Este pino é usado para definir a sensibilidade do sensor
Construímos muitos projetos usando acelerômetro ADXL335, incluindo robô controlado por gestos, alarme detector de terremoto, jogo de pingue-pongue, etc.
Diagrama de circuito
O diagrama de circuito do contador de passos do acelerômetro Arduino é fornecido abaixo.
Neste circuito, estamos interagindo com o Arduino Nano com o acelerômetro ADXL335. Os pinos X, Y e Z do acelerômetro são conectados aos pinos analógicos (A1, A2 e A3) do Arduino Nano. Para fazer a interface dos módulos LCD 16x2 com o Arduino, estamos usando o módulo I2C. Os pinos SCL e SDA do módulo I2C são conectados aos pinos A5 e A4 do Arduino Nano, respectivamente. As conexões completas são fornecidas na tabela abaixo:
Arduino Nano | ADXL335 |
3,3 V | VCC |
GND | GND |
A1 | X |
A2 | Y |
A3 | Z |
Arduino Nano | Módulo LCD I2C |
5V | VCC |
GND | GND |
A4 | SDA |
A5 | SCL |
Primeiro construímos este Pedômetro usando a configuração do Arduino em uma placa de ensaio
E após o teste bem-sucedido, nós o replicamos no Perfboard, soldando todos os componentes no Perfboard, conforme mostrado abaixo:
Como funciona o pedômetro?
Um pedômetro calcula o número total de passos dados por uma pessoa usando os três componentes do movimento que são para frente, vertical e lateral. O sistema de pedômetro usa um acelerômetro para obter esses valores. O acelerômetro atualiza continuamente os valores máximo e mínimo da aceleração de 3 eixos após cada n ° definido. de amostras. O valor médio desses 3 eixos (Max + Min) / 2, é chamado de nível de limite dinâmico, e esse valor de limite é usado para decidir se a etapa é realizada ou não.
Durante a corrida, o pedômetro pode estar em qualquer orientação, então o pedômetro calcula os passos usando o eixo cuja mudança de aceleração é a maior.
Agora, deixe-me dar um rápido passo a passo do funcionamento deste Pedômetro Arduino:
- Primeiramente, o pedômetro inicia a calibração assim que é ligado.
- Em seguida, na função de loop vazio , ele obtém continuamente os dados dos eixos X, Y e Z.
- Depois disso, ele calcula o vetor de aceleração total a partir do ponto de partida.
- O vetor de aceleração é a raiz quadrada (x ^ 2 + y ^ 2 + z ^ 2) dos valores dos eixos X, Y e Z.
- Em seguida, ele compara os valores médios de aceleração com os valores de limite para contar o número do passo.
- Se o vetor de aceleração ultrapassar o valor limite, ele aumentará a contagem de passos; caso contrário, ele descarta as vibrações inválidas.
Programando o contador de passos do Arduino
O código completo do contador de passos do Arduino é fornecido no final deste documento. Aqui estamos explicando alguns trechos importantes deste código.
Como de costume, inicie o código incluindo todas as bibliotecas necessárias. O acelerômetro ADXL335 não requer nenhuma biblioteca, pois fornece uma saída analógica.
#incluir
Depois disso, defina os Arduino Pins, onde o acelerômetro está conectado.
const int xpin = A1; const int ypin = A2; const int zpin = A3;
Defina o valor limite para o acelerômetro. Este valor limite será comparado com o vetor de aceleração para calcular o número de etapas.
limite de flutuação = 6;
Dentro da configuração vazia , a função calibra o sistema quando ele é ligado.
calibrar();
Dentro da função de loop vazio , ele lerá os valores dos eixos X, Y e Z para 100 amostras.
para (int a = 0; a <100; a ++) {xaccl = float (analogRead (xpin) - 345); atraso (1); yaccl = float (analogRead (ypin) - 346); atraso (1); zaccl = float (analogRead (zpin) - 416); atraso (1);
Depois de obter os valores dos 3 eixos, calcule o vetor de aceleração total tirando a raiz quadrada dos valores dos eixos X, Y e Z.
totvect = sqrt (((xaccl - xavg) * (xaccl - xavg)) + ((yaccl - yavg) * (yaccl - yavg)) + ((zval - zavg) * (zval - zavg)));
Em seguida, calcule a média dos valores máximos e mínimos do vetor de aceleração.
totave = (totvect + totvect) / 2;
Agora compare a aceleração média com o limite. Se a média for maior que o limite, aumente a contagem de passos e levante o sinalizador.
if (totave> threshold && flag == 0) {steps = steps + 1; bandeira = 1; }
Se a média for maior que o limite, mas o sinalizador for levantado, não faça nada.
else if (totave> threshold && flag == 1) {// Não conta}
Se a média total for menor que o limite e a bandeira for levantada, coloque a bandeira para baixo.
if (totave <threshold && flag == 1) {flag = 0; }
Imprima o número de etapas no monitor serial e LCD.
Serial.println (etapas); lcd.print ("Passos:"); lcd.print (etapas);
Testando o Pedômetro Arduino
Quando seu hardware e código estiverem prontos, conecte o Arduino ao laptop e faça upload do código. Agora pegue o pedômetro em suas mãos e comece a caminhar passo a passo, ele deve exibir o número de passos no LCD. Às vezes, aumenta o número de passos quando o pedômetro vibra muito rapidamente ou muito lentamente.
O vídeo de trabalho completo e o código para o pedômetro ADXL335 Arduino são fornecidos abaixo.