Indholdsfortegnelse:

PCBWay Arduino Cykeltæller: 4 trin
PCBWay Arduino Cykeltæller: 4 trin

Video: PCBWay Arduino Cykeltæller: 4 trin

Video: PCBWay Arduino Cykeltæller: 4 trin
Video: How to add more PINs to Arduino with custom PCB from @PCBWay #arduino #hardware #electronics #diy 2024, Juli
Anonim
PCBWay Arduino Cykeltæller
PCBWay Arduino Cykeltæller

I mange køretøjer er der enheder, der beregner den tilbagelagte afstand og er afgørende for at præsentere oplysninger for føreren.

Gennem disse oplysninger er det således muligt at overvåge den tilbagelagte afstand mellem to punkter, for eksempel gennem køretøjets kilometertæller.

Forbrugsvarer

01 x PCBWay Custom PCB

01 x Arduino UNO - UTSOURCE

01 x LCD 16x2 Display - UTSOURCE

01 x Brødbræt - UTSOURCE

01 x Wire Jumpers - UTSOURCE

01 x 10kR Rotationspotentiometer - UTSOURCE

01 x UTSOURCE Reed Switch - UTSOURCE

Derfor vil vi gennem denne artikel lære dig, hvordan du samler din afstandsberegningsenhed ved hjælp af reed switch sensoren.

Trin 1: Projektet

Projektet
Projektet

Følgende projekt blev oprettet for at beregne den tilbagelagte afstand med cyklen i fitnesscentret. Derudover lærer du, hvordan du opretter programmering til projektet.

Dette projekt har tre funktioner:

  • Beregn den tilbagelagte afstand på cykel;
  • Enhedens startradiuskonfiguration;
  • Kan tilpasses enhver cykel.

For at få adgang til disse funktioner bruger brugeren systemets tre knapper. Hver knap har din funktionalitet. I systemet har vi følgende knapper:

Forøgelsesknap: Den bruges til at indtaste muligheden for at konfigurere radius på hjulene og øge radiusværdien;

Dekrement -knap: Den bruges til at reducere muligheden for at konfigurere radius af hjulene;

Enter -knap: Den bruges til at indsætte værdien af radius i systemet.

Derudover har vi Reed Switch Sensor. Det er ansvarligt at registrere, hvornår hjulene drejer fuldstændigt. For at opdage dette skal den installere en magnet på hjulene.

Reed Switch er vist i figuren ovenfor.

Trin 2:

Hver gang magneten nærmer sig sensoren, vil den således aktivere Reed Switch -sensoren. Processen fungerer gennem følgende ligning:

Kørt afstand = 2 * π * radius * TurnNumber

Gennem denne ligning ved vi, hvad den tilbagelagte afstand udføres af cyklen.

I ligningen indsættes radius af brugeren, og Turn Number beregnes ud fra hjulets antal omdrejninger.

Og for at registrere hjulets drejninger er det nødvendigt at installere en magnet i cykelhjulet og for at installere Reed Switch Sensor nær hjulet.

For at lette processen opretter vi et printkort til tilslutning af Reed Switch Sensor og de tre knapper. Printkortet er præsenteret nedenfor i nedenstående figur.

Trin 3:

Billede
Billede

Som det er vist i printkortet er det muligt at se Arduino Nano. Det er ansvarligt at kontrollere alle systemer. Derudover har vi 5 JST -stik.

C1 indtil C4 -stik bruges til at forbinde de tre knapper og Reed Switch Sensor. Nu bruges C5 -stikket til at forbinde LCD 16x2 I2C.

Derfor kan du gennem dette system installere projektet på din cykel og få værdien for tilbagelagt afstand.

Til dette kan du bruge nedenstående kode.

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

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

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

byte kont = 0;

usigneret lang int VoltaCompleta = 0;

usigneret lang int tempo_atual = 0, ultimo_tempo = 0;

float DistKm = 0;

usigneret int raio = 0; float Distancia = 0;

ugyldig opsætning ()

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

lcd.begin (16, 2);

// Regiao de codigo para configurar o raio da roda do veiculo

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

}

hulrum ()

{

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

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

// Regiao de codigo para acumular a distancia percorrida

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

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

}

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

{estado_anterior = 1; }

// Regiao de Codigo para Configurar o Raio

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

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

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

ugyldig ConfiguraRaio ()

{

byte RaioRoda = 0;

// Imprimir mensagem para digitar o raio em cm

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

gøre

{

lcd.setCursor (6, 1);

Incremento = digitalRead (BotaoIncremento);

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

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

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

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

{IncrementoAnterior = 0; }

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

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

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

{DecrementoAnterior = 0; }

lcd.setCursor (6, 1);

lcd.print (RaioRoda);

} mens (BotaoEnter == 0);

lcd.clear ();

EEPROM.write (PosRaio, RaioRoda);

Vend tilbage; }

Fra denne kode vil den muligvis beregne din afstand med din Arduino.

Trin 4: Konklusion

Derfor, hvis du ønsker dit eget printkort, kan du få det via dette link på PCBWay.com -webstedet. Til dette kan du få adgang til webstedet, oprette din konto og få dine egne printkort.

Silícios Lab takker UTSOURCE for at tilbyde de elektroniske komponenter til at oprette dette projekt.

Anbefalede: