Orodha ya maudhui:

PCBWay Arduino Baiskeli Odometer: 4 Hatua
PCBWay Arduino Baiskeli Odometer: 4 Hatua

Video: PCBWay Arduino Baiskeli Odometer: 4 Hatua

Video: PCBWay Arduino Baiskeli Odometer: 4 Hatua
Video: How to add more PINs to Arduino with custom PCB from @PCBWay #arduino #hardware #electronics #diy 2024, Novemba
Anonim
PCBWay Arduino Baiskeli Odometer
PCBWay Arduino Baiskeli Odometer

Katika magari mengi, kuna vifaa ambavyo huhesabu umbali uliosafiri na ni muhimu kwa kuwasilisha habari kwa dereva.

Kwa hivyo, kupitia habari hii, inawezekana kufuatilia umbali uliosafiri kati ya alama mbili, kwa mfano, kupitia odometer ya gari.

Vifaa

01 x PCB Njia maalum ya PCB

01 x Arduino UNO - UTSOURCE

01 x LCD 16x2 Onyesha - UTSOURCE

01 x Bodi ya mkate - UTSOURCE

01 x Rukia za waya - UTSOURCE

01 x 10kR Potentiometer Rotary - UTSOURCE

01 x UTSOURCE Kubadilisha Reed - UTSOURCE

Kwa hivyo, kupitia nakala hii, tutakufundisha jinsi ya kukusanya kifaa chako cha hesabu ya umbali ukitumia sensorer ya kubadili mwanzi.

Hatua ya 1: Mradi

Mradi
Mradi

Mradi ufuatao uliundwa kuhesabu umbali uliosafiri na baiskeli ya mazoezi. Kwa kuongeza, utajifunza jinsi ya kuunda programu ya mradi huo.

Mradi huu una utendaji tatu:

  • Hesabu umbali uliosafiri kwa baiskeli;
  • Usanidi wa Radius ya Kuanzisha Kifaa;
  • Inabadilika kwa baiskeli yoyote.

Kupata huduma hizi, mtumiaji atatumia vifungo vitatu vya mfumo. Kila kifungo kina utendaji wako. Katika mfumo tuna vifungo vifuatavyo:

Kitufe cha Kuongeza: Itatumika kuingia katika chaguo kusanidi eneo la magurudumu na kuongeza thamani ya radius;

Kitufe cha Kupunguza: Itatumika kupunguza chaguo kusanidi eneo la magurudumu;

Ingiza Kitufe: Itatumika kuingiza thamani ya eneo katika mfumo.

Kwa kuongeza, tuna Sensorer ya Kubadilisha Reed. Ni jukumu la kugundua wakati magurudumu hufanya zamu kamili. Kwa kugundua hii, inahitaji kutumia sumaku kwenye magurudumu.

Kubadilisha Reed imewasilishwa kwenye Kielelezo hapo juu.

Hatua ya 2:

Kwa hivyo, kila wakati sumaku inakaribia sensorer, itaimarisha sensorer ya Reed switch. Mchakato huo unafanya kazi kupitia equation ifuatayo:

Kusafiri Umbali = 2 * π * radius * TurnNumber

Kupitia usawa huu, tutajua ni umbali gani uliosafiri unaofanywa na baiskeli.

Katika equation, radius imeingizwa na mtumiaji, na Nambari ya Zamu imehesabiwa kupitia idadi ya zamu ya gurudumu.

Na kugundua zamu ya gurudumu inahitajika kusanikisha sumaku kwenye gurudumu la baiskeli na kusanikisha sensorer ya Reed switch karibu na Gurudumu.

Ili kurahisisha mchakato, tunaunda bodi ya mzunguko iliyochapishwa ili kuungana na Sensor ya Reed switch na vifungo vitatu. Bodi ya Mzunguko Iliyochapishwa imewasilishwa hapa chini kwenye Kielelezo hapa chini.

Hatua ya 3:

Picha
Picha

Kama inavyoonyeshwa kwenye PCB inawezekana kuona Arduino Nano. Ni jukumu la kudhibiti mifumo yote. Kwa kuongeza, tuna viunganisho 5 vya JST.

C1 hadi viunganisho vya C4 vinatumiwa kuunganisha vifungo vitatu na sensorer ya Reed Reed. Sasa, Kontakt C5 hutumiwa kuunganisha LCD 16x2 I2C.

Kwa hivyo, kupitia mfumo huu, unaweza kusanikisha mradi kwenye baiskeli yako na upate thamani ya umbali uliosafiri.

Kwa hili, unaweza kutumia nambari iliyowasilishwa hapa chini.

#jumuisha #jumuisha

/*

Pinos de conex? O bot bot? Es sensor reed switch 8 - Sensor Reed switch 9 - Decremento 12 - Incremento 11 - Enter * /

#fafanua MEMORIA 120

#fafanua PosRaio 125

#fafanua Sura ya 8

#fafanua BotaoEnterOk 11 #fafanua BotaoIncremento 12 #fafanua BotaoDecremento 9

const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7;

LiquidCrystal LCD (rs, sw, d4, d5, d6, d7);

sensa ya bool = 0, estado_anterior = 0, Incremento = 0, Decremento = 0;

nyongeza ya boolAnterior = 0, DecrementoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;

byte cont = 0;

unsigned long int VoltaCompleta = 0;

unsigned long int tempo_atual = 0, ultimo_tempo = 0;

kuelea DistKm = 0;

unsigned int raio = 0; kuelea Distancia = 0;

kuanzisha batili ()

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

lcd kuanza (16, 2);

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

ikiwa (EEPROM.read (MEMORIA)! = 73) {ConfiguraRaio (); EEPROM.andika (MEMORIA, 73); }

lcd.setCursor (3, 0);

lcd.print ("Distancia"); lcd.setCursor (6, 1); lcd.print (Distancia);

lcd.setCursor (14, 1);

lcd.print ("km");

raio = soma EEPROM (PosRaio);

}

kitanzi batili ()

{

// Regiao de codigo kwa ajili ya kutambuliwa na orodha ya vifaa na sensa hufanya utaftaji

sensor = digitalRead (ReedSwitch); Kushuka = digitalRead (BotaoDecremento); Kuongeza = digitalRead (BotaoIncremento);

// Regiao de codigo kwa acumular a distancia percorrida

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

Distancia = (kuelea) (2 * 3.14 * raio * VoltaCompleta) /100000.0;

lcd.setCursor (0, 1);

lcd.print (""); lcd.setCursor (6, 1); lcd.print (Distancia);

lcd.set Mshale (14, 1);

lcd.print ("km");

estado_anterior = 0;

}

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

{estado_anterior = 1; }

// Regiao de Codigo para Configurar o Raio

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

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

{EstadoAnteriorIncremento = 0; lcd wazi (); ConfiguraRaio (); }}

batili ConfiguraRaio ()

{

Byte RaioRoda = 0;

// Imprimir mensagem para digitar o raio em cm

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

fanya

{

lcd.setCursor (6, 1);

Kuongeza = digitalRead (BotaoIncremento);

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

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

{RaioRoda = RaioRoda + 1; KuongezaNyumbani = 1; }

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

{Kuongeza Mambo ya Ndani = 0; }

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

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

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

{DecrementoAnterior = 0; }

lcd.setCursor (6, 1);

lcd.print (RaioRoda);

} wakati (BotaoEnter == 0);

lcd wazi ();

Andika EEPROM (PosRaio, RaioRoda);

kurudi; }

Kutoka kwa nambari hii itahesabu umbali wako na Arduino yako.

Hatua ya 4: Hitimisho

Kwa hivyo, ikiwa unataka PCB yako mwenyewe, unaweza kupata kupitia kiunga hiki kwenye wavuti ya PCBWay.com. Kwa hili, unaweza kupata wavuti, kuunda akaunti yako, na kupata PCB yako mwenyewe.

Maabara ya Silícios inashukuru UTSOURCE kutoa vifaa vya elektroniki kuunda mradi huu.

Ilipendekeza: