Obsah:

Počitadlo kol PCBWay Arduino: 4 kroky
Počitadlo kol PCBWay Arduino: 4 kroky

Video: Počitadlo kol PCBWay Arduino: 4 kroky

Video: Počitadlo kol PCBWay Arduino: 4 kroky
Video: VUT FEKT DE2, Počítadlo kol a času na autodráze pomocí HC-SR04 2024, Červenec
Anonim
Počitadlo kol PCBWay Arduino
Počitadlo kol PCBWay Arduino

V mnoha vozidlech existují zařízení, která počítají ujetou vzdálenost a jsou nezbytná pro předkládání informací řidiči.

Prostřednictvím těchto informací je tedy možné sledovat ujetou vzdálenost mezi dvěma body, například pomocí počítadla ujetých kilometrů vozidla.

Zásoby

01 x PCBWay Vlastní PCB

01 x Arduino UNO - UTSOURCE

01 x LCD 16x2 displej - UTSOURCE

01 x Breadboard - UTSOURCE

01 x Drátěné propojky - UTSOURCE

Otočný potenciometr 01 x 10kR - UTSOURCE

01 x jazýčkový spínač UTSOURCE - UTSOURCE

V tomto článku vás proto naučíme, jak sestavit zařízení pro výpočet vzdálenosti pomocí senzoru jazýčkového spínače.

Krok 1: Projekt

Projekt
Projekt

Následující projekt byl vytvořen pro výpočet ujeté vzdálenosti na kole posilovny. Kromě toho se naučíte, jak vytvořit programování projektu.

Tento projekt má tři funkce:

  • Vypočítejte vzdálenost ujetou na kole;
  • Konfigurace poloměru při spuštění zařízení;
  • Přizpůsobitelný na jakékoli kolo.

Pro přístup k těmto funkcím bude uživatel používat tři tlačítka systému. Každé tlačítko má vaši funkci. V systému máme následující tlačítka:

Tlačítko přírůstku: Slouží k zadání možnosti konfigurace poloměru kol a zvýšení hodnoty poloměru;

Tlačítko Decrement: Slouží ke snížení možnosti konfigurace poloměru kol;

Tlačítko Enter: Slouží k vložení hodnoty poloměru do systému.

Kromě toho máme snímač jazýčkového spínače. Je zodpovědný za detekci, kdy kola úplně zatočí. Aby to bylo možné zjistit, je třeba na kola nainstalovat magnet.

Jazýčkový spínač je uveden na obrázku výše.

Krok 2:

Takže pokaždé, když se magnet přiblíží k senzoru, aktivuje senzor Reed Switch. Proces funguje podle následující rovnice:

Ujetá vzdálenost = 2 * π * poloměr * TurnNumber

Prostřednictvím této rovnice budeme vědět, jakou vzdálenost ujede kolo.

V rovnici je poloměr vložen uživatelem a počet otáček je vypočítán z počtu otáček kola.

A aby bylo možné detekovat otáčky kola, je třeba nainstalovat magnet do kola jízdního kola a instalovat snímač jazýčkového spínače poblíž kola.

Abychom tento proces usnadnili, vytvoříme desku s plošnými spoji pro připojení senzoru jazýčkového spínače a tří tlačítek. Deska s plošnými spoji je uvedena níže na obrázku níže.

Krok 3:

obraz
obraz

Jak je ukázáno na DPS, je možné vidět Arduino Nano. Je zodpovědný za ovládání všech systémů. Kromě toho máme 5 konektorů JST.

K připojení tří tlačítek a senzoru jazýčkového spínače se používají konektory C1 až C4. Nyní konektor C5 slouží k připojení LCD 16x2 I2C.

Prostřednictvím tohoto systému tedy můžete nainstalovat projekt na své kolo a získat hodnotu ujeté vzdálenosti.

K tomu můžete použít níže uvedený kód.

#include #include

/*

Pinos de conex? O dos bot? Es senzor jazýčkový spínač 8 - senzorový jazýčkový spínač 9 - decremento 12 - incremento 11 - enter */

#define MEMORIA 120

#definovat 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 senzor = 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;

float DistKm = 0;

nepodepsané int raio = 0; float Distancia = 0;

neplatné nastavení ()

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

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

}

prázdná smyčka ()

{

// Regulační kód pro dosažení nejlepšího možného senzoru a odstranění

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

// Regiao de codigo para acumular a distancia percorrida

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

Vzdálenost = (float) (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 (senzor == 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 (); }}

neplatné ConfiguraRaio ()

{

bajt RaioRoda = 0;

// Mensagem para mens digitar o raio em cm

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

dělat

{

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);

} while (BotaoEnter == 0);

lcd.clear ();

EEPROM.write (PosRaio, RaioRoda);

vrátit se; }

Z tohoto kódu případně vypočítá vaši vzdálenost s vaším Arduino.

Krok 4: Závěr

Pokud tedy chcete vlastní desku plošných spojů, můžete ji získat prostřednictvím tohoto odkazu na webových stránkách PCBWay.com. Za tímto účelem můžete navštívit webovou stránku, vytvořit si účet a získat vlastní PCB.

Laboratoř Silícios Lab děkuje společnosti UTSOURCE za nabídku elektronických součástek k vytvoření tohoto projektu.

Doporučuje: