Innholdsfortegnelse:

PCBWay Arduino sykkelteller: 4 trinn
PCBWay Arduino sykkelteller: 4 trinn

Video: PCBWay Arduino sykkelteller: 4 trinn

Video: PCBWay Arduino sykkelteller: 4 trinn
Video: How to add more PINs to Arduino with custom PCB from @PCBWay #arduino #hardware #electronics #diy 2024, November
Anonim
PCBWay Arduino sykkelteller
PCBWay Arduino sykkelteller

I mange kjøretøyer er det enheter som beregner tilbakelagt distanse og er avgjørende for å presentere informasjon for sjåføren.

Dermed er det gjennom denne informasjonen mulig å overvåke avstanden mellom to punkter, for eksempel gjennom kjøretøyets kilometerteller.

Rekvisita

01 x PCBWay Custom PCB

01 x Arduino UNO - UTSOURCE

01 x LCD 16x2 Display - UTSOURCE

01 x Brødbrett - UTSOURCE

01 x Wire Jumpers - UTSOURCE

01 x 10kR Rotary Potentiometer - UTSOURCE

01 x UTSOURCE Reed Switch - UTSOURCE

Derfor vil vi gjennom denne artikkelen lære deg hvordan du monterer avstandsberegningsenheten ved hjelp av sivbryter -sensoren.

Trinn 1: Prosjektet

Prosjektet
Prosjektet

Følgende prosjekt ble opprettet for å beregne tilbakelagt distanse med sykkelen på treningsstudioet. I tillegg lærer du hvordan du lager programmering for prosjektet.

Dette prosjektet har tre funksjoner:

  • Beregn distansen som er reist på sykkel;
  • Enhetens oppstart radiuskonfigurasjon;
  • Kan tilpasses enhver sykkel.

For å få tilgang til disse funksjonene, bruker brukeren de tre knappene på systemet. Hver knapp har din funksjonalitet. I systemet har vi følgende knapper:

Inkrementsknapp: Den brukes til å angi alternativet for å konfigurere radien til hjulene og øke radiusverdien;

Reduksjonsknapp: Den vil bli brukt til å redusere alternativet for å konfigurere radien til hjulene;

Enter -knapp: Den brukes til å sette inn verdien av radius i systemet.

I tillegg har vi Reed Switch Sensor. Det er ansvarlig for å oppdage når hjulene gjør en hel sving. For å oppdage dette må den installere en magnet på hjulene.

Reed Switch er presentert i figuren ovenfor.

Steg 2:

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

Reist avstand = 2 * π * radius * TurnNumber

Gjennom denne ligningen vet vi hva som er den tilbakelagte distansen sykkelen utfører.

I ligningen settes radius av brukeren, og svingnummer beregnes gjennom antall omdreininger på hjulet.

Og for å oppdage svingene på hjulet er det nødvendig for å installere en magnet i sykkelhjulet og for å installere Reed Switch Sensor nær hjulet.

For å gjøre prosessen enklere, lager vi et kretskort for å koble Reed Switch Sensor og de tre knappene. Kretskortet er presentert nedenfor i figuren nedenfor.

Trinn 3:

Bilde
Bilde

Som det er vist i PCB er det mulig å se Arduino Nano. Det er ansvarlig for å kontrollere alle systemer. I tillegg har vi 5 JST -kontakter.

C1 til C4 -kontaktene brukes til å koble de tre knappene og Reed Switch Sensor. Nå brukes C5 -kontakten til å koble LCD 16x2 I2C.

Derfor kan du gjennom dette systemet installere prosjektet i sykkelen din og få verdien for tilbakelagt distanse.

For dette kan du bruke koden som presenteres nedenfor.

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

usignert lang int VoltaCompleta = 0;

usignert lang int tempo_atual = 0, ultimo_tempo = 0;

flyte DistKm = 0;

usignert int raio = 0; flyte Distancia = 0;

ugyldig oppsett ()

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

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

}

hulrom ()

{

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

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

// Regiao de codigo para acumular a distancia percorrida

if (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)");

gjøre

{

lcd.setCursor (6, 1);

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

komme tilbake; }

Fra denne koden vil den muligens beregne avstanden din med din Arduino.

Trinn 4: Konklusjon

Derfor, hvis du vil ha din egen PCB, kan du få tak i denne lenken på PCBWay.com -nettstedet. For dette kan du få tilgang til nettstedet, opprette kontoen din og skaffe dine egne PCB -er.

Silícios Lab takker UTSOURCE for å tilby de elektroniske komponentene for å lage dette prosjektet.

Anbefalt: