Tabla de contenido:
Video: Odómetro de bicicleta PCBWay Arduino: 4 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
En muchos vehículos, existen dispositivos que calculan la distancia recorrida y son fundamentales para presentar información al conductor.
Así, a través de esta información, es posible monitorizar la distancia recorrida entre dos puntos, por ejemplo, a través del cuentakilómetros del vehículo.
Suministros
01 x PCBWay PCB personalizado
01 x Arduino UNO - UTSOURCE
01 x Pantalla LCD 16x2 - UTSOURCE
01 x Placa de pruebas - UTSOURCE
01 x puentes de alambre - UTSOURCE
Potenciómetro rotativo 01 x 10kR - UTSOURCE
01 x Interruptor de lengüeta UTSOURCE - UTSOURCE
Por lo tanto, a través de este artículo, le enseñaremos cómo ensamblar su dispositivo de cálculo de distancia utilizando el sensor de interruptor de láminas.
Paso 1: el proyecto
El siguiente proyecto fue creado para calcular la distancia recorrida por la bicicleta del gimnasio. Además, aprenderá a crear programación para el proyecto.
Este proyecto tiene tres funcionalidades:
- Calcule la distancia recorrida en bicicleta;
- Configuración del radio de inicio del dispositivo;
- Adaptable a cualquier bicicleta.
Para acceder a estas funcionalidades, el usuario utilizará los tres botones del sistema. Cada botón tiene su funcionalidad. En el sistema tenemos los siguientes botones:
Botón Incrementar: Se utilizará para ingresar en la opción de configurar el radio de las ruedas e incrementar el valor del radio;
Botón Disminuir: Se utilizará para disminuir la opción de configurar el radio de las ruedas;
Botón Enter: Se utilizará para insertar el valor del radio en el sistema.
Además, tenemos el Sensor Reed Switch. Se encarga de detectar cuando las ruedas hacen un giro completo. Para detectar esto, es necesario instalar un imán en las ruedas.
El interruptor de lengüeta se presenta en la Figura anterior.
Paso 2:
Por lo tanto, cada vez que el imán se acerca al sensor, activará el sensor del interruptor de lengüeta. El proceso funciona mediante la siguiente ecuación:
Distancia recorrida = 2 * π * radio * TurnNumber
A través de esta ecuación sabremos cuál es la distancia recorrida realizada por la bicicleta.
En la ecuación, el usuario inserta el radio y el número de giro se calcula mediante el número de vueltas de la rueda.
Y para detectar los giros de la rueda es necesario instalar un imán en la rueda de la bicicleta e instalar el Sensor Reed Switch cerca de la Rueda.
Para facilitar el proceso, creamos una placa de circuito impreso para conectar el sensor Reed Switch y los tres botones. La placa de circuito impreso se presenta a continuación en la figura siguiente.
Paso 3:
Como se muestra en la PCB es posible ver el Arduino Nano. Es responsable de controlar todos los sistemas. Además, contamos con 5 conectores JST.
Los conectores C1 a C4 se utilizan para conectar los tres botones y el sensor de interruptor de lengüeta. Ahora, el conector C5 se utiliza para conectar el LCD 16x2 I2C.
Por tanto, a través de este sistema, puede instalar el proyecto en su bicicleta y obtener el valor de la distancia recorrida.
Para ello, puede utilizar el código que se presenta a continuación.
#include #incluya
/*
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);
bool sensor = 0, estado_anterior = 0, Incremento = 0, Decremento = 0;
bool IncrementoAnterior = 0, DecrementoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;
byte cont = 0;
unsigned long int VoltaCompleta = 0;
unsigned long int tempo_atual = 0, ultimo_tempo = 0;
flotador DistKm = 0;
unsigned int raio = 0; flotar Distancia = 0;
configuración vacía ()
{Serial.begin (9600); pinMode (8, ENTRADA); pinMode (9, ENTRADA); pinMode (10, ENTRADA); pinMode (12, ENTRADA);
lcd. comienzo (16, 2);
// Regiao de codigo para configurar o raio da roda do veiculo
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);
}
bucle vacío ()
{
// Regiao de codigo para realizar una leitura dos botoes 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 = (flotar) (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;
}
si (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 (); }}
ConfiguraRaio vacío ()
{
byte RaioRoda = 0;
// Imprimir mensagem para digitar o raio em cm
lcd.setCursor (0, 0); lcd.print ("Inserir Raio (cm)");
hacer
{
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);
impresión lcd (RaioRoda);
} while (BotaoEnter == 0);
lcd.clear ();
EEPROM.write (PosRaio, RaioRoda);
regreso; }
A partir de este código, posiblemente calculará su distancia con su Arduino.
Paso 4: Conclusión
Por lo tanto, en caso de que desee su propia PCB, puede obtenerla a través de este enlace en el sitio web PCBWay.com. Para ello, puede acceder al sitio web, crear su cuenta y obtener sus propias PCB.
Silícios Lab agradece a UTSOURCE por ofrecer los componentes electrónicos para crear este proyecto.
Recomendado:
Luz de bicicleta: 7 pasos
Luz de bicicleta: En este proyecto, le mostraré cómo crear su propia luz de bicicleta que pueda iluminar su camino durante la noche, indique en qué dirección irá, incluida la luz de freno
DIY Police LED con PCBWAY: 6 pasos (con imágenes)
DIY Police LED con PCBWAY: el truco de HiDelta de hoy mostrará cómo ensamblar un intermitente de policía utilizando componentes electrónicos simples basados en una placa de circuito impreso.Al principio, puede ver el esquema de instalación de video y la plantilla de placa que puede descargar aquí. Vamos
Creación de un odómetro Arduino - Parte I: 4 pasos
Creación de un odómetro Arduino - Parte I: Es bastante común que los ciclistas y los usuarios de bicicletas estáticas necesiten medir su velocidad y la distancia recorrida. Para ello necesitamos un dispositivo conocido como cuentakilómetros, que se encarga de medir estas variables y transmitir esta información
Velocímetro de bicicleta Arduino con GPS: 8 pasos
Velocímetro de bicicleta Arduino usando GPS: En este tutorial usaremos Arduino y Visuino para mostrar una velocidad de bicicleta actual del GPS en la pantalla ST7735
Odómetro de monopatín eléctrico: 5 pasos
Odómetro de patineta eléctrica: Introducción La mayoría de las patinetas eléctricas de gama alta con un rango de mil dólares viene con una aplicación de teléfono que muestra información de patineta en tiempo real y, desafortunadamente, las patinetas más rentables de China no vienen con ellas. Entonces por qué no