Sadržaj:
Video: PCBWay Arduino biciklistički brojač kilometara: 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
U mnogim vozilima postoje uređaji koji izračunavaju prijeđenu udaljenost i bitni su za prezentiranje informacija vozaču.
Tako je putem ovih informacija moguće pratiti udaljenost između dvije točke, na primjer, putem brojača kilometara.
Supplies
01 x PCBWay prilagođena PCB
01 x Arduino UNO - UTSOURCE
01 x LCD ekran 16x2 - UTSOURCE
01 x Breadboard - UTSOURCE
01 x Žičani kratkospojnici - UTSOURCE
Rotacijski potenciometar 01 x 10kR - UTSOURCE
01 x UTSOURCE Reed prekidač - UTSOURCE
Stoga ćemo vas kroz ovaj članak naučiti kako sastaviti uređaj za izračunavanje udaljenosti pomoću senzora trska.
Korak 1: Projekat
Sljedeći projekt nastao je za izračunavanje prijeđene udaljenosti biciklom u teretani. Osim toga, naučit ćete kako kreirati programiranje za projekt.
Ovaj projekt ima tri funkcionalnosti:
- Izračunajte udaljenost koju ste prešli biciklom;
- Konfiguracija radijusa pri pokretanju uređaja;
- Prilagodljiv svakom biciklu.
Za pristup ovim funkcijama, korisnik će koristiti tri tipke na sistemu. Svako dugme ima svoju funkcionalnost. U sistemu imamo sljedeće tipke:
Dugme za povećanje: Koristiće se za unos opcije za konfigurisanje radijusa točkova i povećanje vrednosti radijusa;
Dugme za smanjenje: Koristi se za smanjenje opcije za konfiguriranje radijusa kotača;
Dugme Enter: Koristiće se za unošenje vrijednosti radijusa u sistem.
Osim toga, imamo senzor sklopke za trstiku. On je odgovoran za otkrivanje kada se točkovi potpuno okreću. Da bi se to otkrilo, potrebno je postaviti magnet na kotače.
Trskasti prekidač predstavljen je na gornjoj slici.
Korak 2:
Stoga će svaki put kada se magnet približi senzoru aktivirati senzor Reed Switch. Proces funkcionira kroz sljedeću jednadžbu:
Pređena udaljenost = 2 * π * radijus * Broj skretanja
Kroz ovu jednadžbu saznat ćemo koliku je udaljenost prešao bicikl.
U jednadžbi korisnik ubacuje radijus, a broj zavoja izračunava se kroz broj okretaja kotača.
A za otkrivanje zavoja kotača potrebno je ugraditi magnet u kotač bicikla i postaviti senzor sklopke za trkače blizu kotača.
Kako bismo olakšali postupak, stvaramo tiskanu ploču za povezivanje senzora sklopke za trstiku i tri gumba. Štampana ploča je dole prikazana na donjoj slici.
Korak 3:
Kao što je prikazano na PCB -u moguće je vidjeti Arduino Nano. On je odgovoran za kontrolu svih sistema. Osim toga, imamo 5 JST konektora.
Priključci od C1 do C4 koriste se za povezivanje tri gumba i senzora sklopke. Sada se C5 konektor koristi za povezivanje LCD 16x2 I2C.
Stoga, putem ovog sistema, možete instalirati projekat na svoj bicikl i dobiti vrijednost pređene udaljenosti.
Za to možete koristiti dolje prikazani kôd.
#include #include
/*
Pinos de conex? O dos bot? Es senzor trskasti prekidač 8 - senzorski prekidač 9 - dekremento 12 - povećanje 11 - Enter */
#define MEMORIJA 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 senzor = 0, estado_anterior = 0, Incremento = 0, Decremento = 0;
bool IncrementoAnterior = 0, DecrementoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;
bajt cont = 0;
unsigned long int VoltaCompleta = 0;
unsigned long int tempo_atual = 0, ultimo_tempo = 0;
plovak DistKm = 0;
nepotpisani int raio = 0; plovak Distancia = 0;
void setup ()
{Serial.begin (9600); pinMode (8, INPUT); pinMode (9, INPUT); pinMode (10, INPUT); pinMode (12, INPUT);
lcd.begin (16, 2);
// Regiao de codigo para konfigurator o raio da roda do veiculo
if (EEPROM.čitano (MEMORIJA)! = 73) {ConfiguraRaio (); EEPROM.write (MEMORIJA, 73); }
lcd.setCursor (3, 0);
lcd.print (“Distancia”); lcd.setCursor (6, 1); lcd.print (Distancia);
lcd.setCursor (14, 1);
lcd.print (“km”);
raio = EEPROM.čitano (PosRaio);
}
void loop ()
{
// Regiao de codigo para realizar leitura dos botoes and sensor do dispositivo
senzor = digitalno čitanje (ReedSwitch); Decremento = digitalno čitanje (BotaoDecremento); Incremento = digitalno čitanje (BotaoIncremento);
// Regiao de codigo para acumular a distancia percorrida
if (senzor == 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;
}
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 (); }}
void ConfiguraRaio ()
{
bajt RaioRoda = 0;
// Imprimir mensagem para digitar o raio em cm
lcd.setCursor (0, 0); lcd.print (“Inserir Raio (cm)”);
do
{
lcd.setCursor (6, 1);
Incremento = digitalno čitanje (BotaoIncremento);
Decremento = digitalno čitanje (BotaoDecremento); BotaoEnter = digitalno čitanje (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);
return; }
Iz ovog koda moguće će izračunati vašu udaljenost od vašeg Arduina.
Korak 4: Zaključak
Stoga, u slučaju da želite vlastitu PCB, možete dobiti putem ove veze na web stranici PCBWay.com. U tu svrhu možete pristupiti web stranici, stvoriti svoj račun i nabaviti vlastite PCB -ove.
Silícios Lab zahvaljuje UTSOURCE -u što nudi elektroničke komponente za stvaranje ovog projekta.
Preporučuje se:
Kako napraviti brojač koraka?: 3 koraka (sa slikama)
Kako napraviti brojač koraka?: Nekada sam se dobro snašao u mnogim sportovima: hodanje, trčanje, vožnja bicikla, igranje badmintona itd. Volim jahanje da bih brzo putovao. Pa, pogledaj moj trbušni trbuh … Pa, u svakom slučaju, odlučujem ponovo početi vježbati. Koju opremu treba pripremiti?
Brojač koraka - Mikro: Bit: 12 koraka (sa slikama)
Brojač koraka - Micro: Bit: Ovaj projekat će biti brojač koraka. Za mjerenje koraka koristit ćemo senzor akcelerometra koji je ugrađen u Micro: Bit. Svaki put kada se Micro: Bit protrese, broju ćemo dodati 2 i prikazati ga na ekranu
Stvaranje Arduino brojača kilometara - Dio I: 4 koraka
Stvaranje Arduino mjerača kilometraže - dio I: Vrlo je uobičajeno da biciklisti i korisnici bicikala za vježbanje moraju mjeriti svoju brzinu i prijeđenu udaljenost. Za to nam je potreban uređaj poznat kao brojač kilometara. Mjerač kilometara je odgovoran za mjerenje ovih varijabli i prijenos ovih informacija
Otvoreni (biciklistički) simulator ocjene - OpenGradeSIM: 6 koraka
Otvoreni (biciklistički) razred simulatora - OpenGradeSIM: Uvod Određena poznata američka fitnes kompanija (Wahoo) nedavno je iznijela odlično pomagalo za vježbanje u zatvorenom koje podiže i spušta prednji dio bicikla na turbo trenažeru prema simuliranom nagibu brda koji korisnik jaše (th
Arduino biciklistički brzinomjer pomoću GPS -a: 8 koraka
Arduino biciklistički brzinomjer pomoću GPS -a: U ovom vodiču koristit ćemo Arduino i Visuino za prikaz trenutne brzine bicikla s GPS -a na ekranu ST7735. Pogledajte demonstracijski video