Sisukord:

PCBWay Arduino jalgratta läbisõidumõõdik: 4 sammu
PCBWay Arduino jalgratta läbisõidumõõdik: 4 sammu

Video: PCBWay Arduino jalgratta läbisõidumõõdik: 4 sammu

Video: PCBWay Arduino jalgratta läbisõidumõõdik: 4 sammu
Video: Mercedes CLA250 cluster testing with arduino 2024, November
Anonim
PCBWay Arduino jalgratta odomeeter
PCBWay Arduino jalgratta odomeeter

Paljudes sõidukites on seadmeid, mis arvutavad läbitud vahemaa ja on juhile teabe esitamiseks hädavajalikud.

Seega on selle teabe kaudu võimalik jälgida kahe punkti vahel läbitud vahemaad, näiteks sõiduki läbisõidumõõdiku kaudu.

Tarvikud

01 x PCBWay kohandatud PCB

01 x Arduino UNO - UTSOURCE

01 x LCD 16x2 ekraan - UTSOURCE

01 x leivalaud - UTSOURCE

01 x traadist džemprid - UTSOURCE

01 x 10 kR pöörlev potentsiomeeter - UTSOURCE

01 x UTSOURCE Reed lüliti - UTSOURCE

Seetõttu õpetame selle artikli kaudu, kuidas oma vahemaa arvutamise seadet pilliroo lüliti anduri abil kokku panna.

Samm: projekt

Projekt
Projekt

Jõusaali jalgrattaga läbitud vahemaa arvutamiseks loodi järgmine projekt. Lisaks saate teada, kuidas projekti jaoks programmeerimist luua.

Sellel projektil on kolm funktsiooni:

  • Arvutage jalgrattaga läbitud vahemaa;
  • Seadme käivitusraadiuse seadistamine;
  • Sobib igale rattale.

Nendele funktsioonidele juurdepääsemiseks kasutab kasutaja süsteemi kolme nuppu. Igal nupul on oma funktsioonid. Süsteemis on meil järgmised nupud:

Suurendusnupp: seda kasutatakse rataste raadiuse seadistamiseks ja raadiuse väärtuse suurendamiseks;

Vähendamisnupp: seda kasutatakse rataste raadiuse seadistamise võimaluse vähendamiseks;

Sisestusnupp: seda kasutatakse raadiuse väärtuse sisestamiseks süsteemi.

Lisaks on meil Reed Switch Andur. See on kohustatud tuvastama, millal rattad teevad täieliku pöörde. Selle tuvastamiseks tuleb ratastele paigaldada magnet.

Reed lüliti on esitatud ülaltoodud joonisel.

2. samm:

Seega, iga kord, kui magnet läheneb andurile, käivitab see Reed Switchi anduri. Protsess töötab järgmise võrrandi abil:

Läbitud vahemaa = 2 * π * raadius * Pöördnumber

Selle võrrandi kaudu saame teada, milline on jalgratta läbitud vahemaa.

Võrrandisse lisab kasutaja raadiuse ja pöördenumber arvutatakse ratta pöörete arvu järgi.

Ja ratta pöörete tuvastamiseks on vaja paigaldada jalgratta rattale magnet ja paigaldada Reedi lüliti andur ratta lähedale.

Protsessi hõlbustamiseks loome trükkplaadi, et ühendada Reed Switch andur ja kolm nuppu. Trükkplaat on esitatud allpool oleval joonisel.

3. samm:

Pilt
Pilt

Nagu on näidatud trükkplaadil, on võimalik näha Arduino Nano. Ta vastutab kõigi süsteemide juhtimise eest. Lisaks on meil 5 JST pistikut.

Kolme nupu ja Reed Switchi anduri ühendamiseks kasutatakse pistikuid C1 kuni C4. Nüüd kasutatakse LCD 16x2 I2C ühendamiseks C5 -pistikut.

Seetõttu saate selle süsteemi kaudu projekti oma jalgrattale installida ja saada läbitud vahemaa väärtuse.

Selleks võite kasutada allpool esitatud koodi.

#kaasama #kaasama

/*

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

#defineeri 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;

bait cont = 0;

allkirjata pikk int VoltaCompleta = 0;

allkirjastamata pikk int tempo_atual = 0, ultimo_tempo = 0;

ujuk DistKm = 0;

allkirjastamata int raio = 0; ujuk Distancia = 0;

tühine seadistus ()

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

lcd.algus (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);

}

tühine tsükkel ()

{

// Regiao de codigo para realizar a leitura dos botoes e sensor do dispositivo

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

Regiao de codigo para acumular and distancia percorrida

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

Distancia = (ujuk) (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;

}

kui (andur == 1 && estado_anterior == 0)

{estado_anterior = 1; }

// Regiao de Codigo para Configurar või Raio

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

kui (Suurendus == 0 && EstadoAnteriorIncremento == 1)

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

tühine ConfiguraRaio ()

{

bait RaioRoda = 0;

// Imprimir mensagem para digitar o raio em cm

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

teha

{

lcd.setCursor (6, 1);

Suurendus = digitalRead (BotaoIncremento);

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

kui (juurdekasv == 1 && IncrementoAnterior == 0)

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

kui (juurdekasv == 0 && IncrementoAnterior == 1)

{IncrementoAnterior = 0; }

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

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

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

{DecrementoAnterior = 0; }

lcd.setCursor (6, 1);

lcd.print (RaioRoda);

} while (BotaoEnter == 0);

lcd.clear ();

EEPROM.write (PosRaio, RaioRoda);

tagasipöördumine; }

Selle koodi põhjal arvutab see tõenäoliselt teie kauguse teie Arduinoga.

4. samm: järeldus

Seega, kui soovite oma PCB -d, saate selle veebisaidi PCBWay.com lingi kaudu. Selleks pääsete veebisaidile juurde, loote oma konto ja hankite oma PCB -d.

Silíciose labor tänab UTSOURCE -d selle projekti loomiseks elektrooniliste komponentide pakkumise eest.

Soovitan: