Índice:

Odômetro de bicicleta PCBWay Arduino: 4 etapas
Odômetro de bicicleta PCBWay Arduino: 4 etapas

Vídeo: Odômetro de bicicleta PCBWay Arduino: 4 etapas

Vídeo: Odômetro de bicicleta PCBWay Arduino: 4 etapas
Vídeo: Como fazer um Odômetro com Arduino para Bicicleta 2024, Novembro
Anonim
Odômetro de bicicleta PCBWay Arduino
Odômetro de bicicleta PCBWay Arduino

Em muitos veículos, existem dispositivos que calculam a distância percorrida e são essenciais para apresentar as informações ao motorista.

Assim, por meio dessas informações, é possível monitorar a distância percorrida entre dois pontos, por exemplo, por meio do hodômetro do veículo.

Suprimentos

01 x PCB personalizado PCBWay

01 x Arduino UNO - UTSOURCE

01 x Display LCD 16x2 - UTSOURCE

01 x breadboard - UTSOURCE

01 x Jumpers de fio - UTSOURCE

01 x 10kR Potenciômetro Rotativo - UTSOURCE

01 x Interruptor de palheta UTSOURCE - UTSOURCE

Portanto, através deste artigo, ensinaremos como montar seu dispositivo de cálculo de distância usando o sensor reed switch.

Etapa 1: O Projeto

O projeto
O projeto

O seguinte projeto foi criado para calcular a distância percorrida pela bicicleta da academia. Além disso, você aprenderá como criar programação para o projeto.

Este projeto possui três funcionalidades:

  • Calcule a distância percorrida de bicicleta;
  • Configuração do Radius de inicialização do dispositivo;
  • Adaptável a qualquer bicicleta.

Para acessar essas funcionalidades, o usuário utilizará os três botões do sistema. Cada botão tem sua funcionalidade. No sistema temos os seguintes botões:

Botão Incrementar: Será utilizado para entrar na opção de configurar o raio das rodas e incrementar o valor do raio;

Botão Decrementar: servirá para diminuir a opção de configurar o raio das rodas;

Botão Enter: será utilizado para inserir o valor do raio no sistema.

Além disso, temos o sensor Reed Switch. É responsável por detectar quando as rodas fazem uma volta completa. Para detectar isso, é necessário instalar um ímã nas rodas.

O Reed Switch é apresentado na Figura acima.

Passo 2:

Assim, toda vez que o ímã se aproximar do sensor, ele acionará o sensor Reed Switch. O processo funciona por meio da seguinte equação:

Distância percorrida = 2 * π * raio * TurnNumber

Por meio dessa equação, saberemos qual é a distância percorrida pela bicicleta.

Na equação, o raio é inserido pelo usuário e o número da volta é calculado através do número de voltas da roda.

E para detectar os giros da roda é necessário instalar um ímã na roda da bicicleta e instalar o Reed Switch Sensor próximo à roda.

Para facilitar o processo, criamos uma placa de circuito impresso para conectar o Reed Switch Sensor e os três botões. A placa de circuito impresso é apresentada a seguir na figura abaixo.

Etapa 3:

Imagem
Imagem

Como é mostrado na placa de circuito impresso é possível ver o Arduino Nano. É responsável por controlar todos os sistemas. Além disso, temos 5 conectores JST.

Os conectores C1 a C4 são usados para conectar os três botões e o Reed Switch Sensor. Agora, o Conector C5 é usado para conectar o LCD 16x2 I2C.

Portanto, através deste sistema, você pode instalar o projeto na sua bicicleta e obter o valor da distância percorrida.

Para isso, você pode usar o código apresentado a seguir.

#include #include

/*

Pinos de conex? O dos bot? Es e sensor reed switch 8 - Sensor Reed Switch 9 - Decremento 12 - Incremento 11 - Enter * /

#define MEMORIA 120

# define PosRaio 125

# define ReedSwitch 8

#define BotaoEnterOk 11 #define BotaoIncremento 12 #define BotaoDecremento 9

const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7;

LiquidCrystal lcd (rs, en, d4, d5, d6, d7);

sensor bool = 0, estado_anterior = 0, Incremento = 0, Decremento = 0;

bool IncrementoAnterior = 0, DecrementoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;

byte cont = 0;

sem sinal longo int VoltaCompleta = 0;

sem sinal longo int tempo_atual = 0, ultimo_tempo = 0;

float DistKm = 0;

sem sinal int raio = 0; float Distancia = 0;

void setup ()

{Serial.begin (9600); pinMode (8, INPUT); pinMode (9, INPUT); pinMode (10, INPUT); pinMode (12, INPUT);

lcd.begin (16, 2);

// Região de código para configurar o raio da roda do veículo

if (EEPROM.read (MEMORIA)! = 73) {ConfiguraRaio (); EEPROM.write (MEMORIA, 73); }

lcd.setCursor (3, 0);

lcd.print (“Distancia”); lcd.setCursor (6, 1); lcd.print (Distancia);

lcd.setCursor (14, 1);

lcd.print (“km”);

raio = EEPROM.read (PosRaio);

}

void loop ()

{

// Região de código para realizar a leitura dos botões e sensor do dispositivo

sensor = digitalRead (ReedSwitch); Decremento = digitalRead (BotaoDecremento); Incremento = digitalRead (BotaoIncremento);

// Regiao de codigo para acumular a distancia percorrida

if (sensor == 0 && estado_anterior == 1) {VoltaCompleta ++;

Distancia = (flutuante) (2 * 3,14 * raio * VoltaCompleta) /100000,0;

lcd.setCursor (0, 1);

lcd.print (““); lcd.setCursor (6, 1); lcd.print (Distancia);

lcd.setCursor (14, 1);

lcd.print (“km”);

estado_anterior = 0;

}

if (sensor == 1 && estado_anterior == 0)

{estado_anterior = 1; }

// Regiao de Codigo para configurar o Raio

if (Incremento == 1 && EstadoAnteriorIncremento == 0) {EstadoAnteriorIncremento = 1; }

if (Incremento == 0 && EstadoAnteriorIncremento == 1)

{EstadoAnteriorIncremento = 0; lcd.clear (); ConfiguraRaio (); }}

void ConfiguraRaio ()

{

byte RaioRoda = 0;

// Imprimir mensagem para digitar o raio em cm

lcd.setCursor (0, 0); lcd.print (“Inserir Raio (cm)”);

Faz

{

lcd.setCursor (6, 1);

Incremento = digitalRead (BotaoIncremento);

Decremento = digitalRead (BotaoDecremento); BotaoEnter = digitalRead (BotaoEnterOk);

if (Incremento == 1 && IncrementoAnterior == 0)

{RaioRoda = RaioRoda + 1; IncrementoAnterior = 1; }

if (Incremento == 0 && IncrementoAnterior == 1)

{IncrementoAnterior = 0; }

if (Decremento == 1 && DecrementoAnterior == 0)

{RaioRoda = RaioRoda - 1; DecrementoAnterior = 1; }

if (Decremento == 0 && DecrementoAnterior == 1)

{DecrementoAnterior = 0; }

lcd.setCursor (6, 1);

lcd.print (RaioRoda);

} enquanto (BotaoEnter == 0);

lcd.clear ();

EEPROM.write (PosRaio, RaioRoda);

Retorna; }

A partir desse código, ele possivelmente calculará sua distância com seu Arduino.

Etapa 4: Conclusão

Portanto, caso você queira seu próprio PCB, você pode obter através deste link no site PCBWay.com. Para isso, você pode acessar o site, criar sua conta e obter seus próprios PCBs.

O Silícios Lab agradece à UTSOURCE por oferecer os componentes eletrônicos para a realização deste projeto.

Recomendado: