Përmbajtje:
Video: Odometri i biçikletës PCBWay Arduino: 4 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:10
Në shumë automjete, ka pajisje që llogaritin distancën e përshkuar dhe janë thelbësore për paraqitjen e informacionit tek shoferi.
Kështu, përmes këtij informacioni, është e mundur të monitorohet distanca e përshkuar midis dy pikave, për shembull, përmes odometrit të automjetit.
Furnizimet
01 x PCBWay PCB me porosi
01 x Arduino UNO - UTSOURCE
01 x Ekran LCD 16x2 - UTSOURCE
01 x Breadboard - UTSOURCE
01 x Jumpers Wire - UTSOURCE
Potenciometër rrotullues 01 x 10kR - UTSOURCE
01 x UTSOURCE Ndërprerës kallami - UTSOURCE
Prandaj, përmes këtij artikulli, ne do t'ju mësojmë se si të montoni pajisjen tuaj të llogaritjes së distancës duke përdorur sensorin e kalimit të kallamit.
Hapi 1: Projekti
Projekti i mëposhtëm u krijua për të llogaritur distancën e përshkuar me biçikletën e palestrës. Përveç kësaj, do të mësoni se si të krijoni programim për projektin.
Ky projekt ka tre funksione:
- Llogaritni distancën e përshkuar me biçikletë;
- Konfigurimi i rrezeve të fillimit të pajisjes;
- I përshtatshëm për çdo biçikletë.
Për të hyrë në këto funksionalitete, përdoruesi do të përdorë tre butonat e sistemit. Çdo buton ka funksionalitetin tuaj. Në sistem kemi butonat e mëposhtëm:
Butoni i Rritjes: Do të përdoret për të futur në opsionin për të konfiguruar rrezen e rrotave dhe për të rritur vlerën e rrezes;
Butoni i zbritjes: Do të përdoret për të zvogëluar opsionin për të konfiguruar rrezen e rrotave;
Butoni Enter: Do të përdoret për të futur vlerën e rrezes në sistem.
Përveç kësaj, ne kemi sensorin e kalimit të kallamit. Shtë përgjegjës për të zbuluar kur rrotat bëjnë një kthesë të plotë. Për ta zbuluar këtë, duhet të instaloni një magnet në rrota.
Ndërprerësi i kallamishteve paraqitet në Figurën e mësipërme.
Hapi 2:
Kështu, sa herë që magneti i afrohet sensorit, ai do të aktivizojë sensorin Reed Switch. Procesi funksionon përmes ekuacionit të mëposhtëm:
Distanca e Udhëtuar = 2 * π * rreze * TurnNumber
Përmes këtij ekuacioni, ne do të dimë se cila është distanca e përshkuar e kryer nga biçikleta.
Në ekuacion, rrezja futet nga përdoruesi, dhe Numri i Kthesës llogaritet përmes numrit të kthesave të rrotës.
Dhe për të zbuluar kthesat e rrotës nevojitet për të instaluar një magnet në timonin e biçikletës dhe për të instaluar sensorin e kalimit të kallamit pranë Rrotës.
Për të lehtësuar procesin, ne krijojmë një tabelë qarku të shtypur për të lidhur sensorin e kalimit të kallamishteve dhe tre butonat. Bordi i Qarkut të Shtypur është paraqitur më poshtë në Figurën më poshtë.
Hapi 3:
Siç tregohet në PCB është e mundur të shihni Arduino Nano. Shtë përgjegjës për të kontrolluar të gjitha sistemet. Përveç kësaj, ne kemi 5 lidhje JST.
Lidhësit C1 deri në C4 përdoren për të lidhur tre butonat dhe sensorin e kalimit Reed. Tani, C5 Connector përdoret për të lidhur LCD 16x2 I2C.
Prandaj, përmes këtij sistemi, ju mund ta instaloni projektin në biçikletën tuaj dhe të merrni vlerën e distancës së përshkuar.
Për këtë, mund të përdorni kodin e paraqitur më poshtë.
#përfshi #përfshi
/*
Pinos de conex? O dos bot? Es e kaloni i kallamit të sensorit 8 - Ndërprerës i kallamit të sensorit 9 - Dekret 12 - Rritje 11 - Shkruani */
#përcakto MEMORIA 120
#përcaktoni PosRaio 125
#përcaktoni ReedSwitch 8
#përcakto BotaoEnterOk 11 #përcakto BotaoIncremento 12 #përcakto BotaoDecremento 9
const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7;
LiquidCrystal LCD (rs, en, d4, d5, d6, d7);
sensor bool = 0, estado_anterior = 0, incremento = 0, Decremento = 0;
bool IncrementoAnterior = 0, DecrementoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;
bajt kont = 0;
int pa shenjë gjatë VoltaCompleta = 0;
i panënshkruar i gjatë int tempo_atual = 0, ultimo_tempo = 0;
noton DistKm = 0;
int raio pa shenjë = 0; noton Distancia = 0;
void setup ()
{Serial.fillo (9600); pinMode (8, INPUT); pinMode (9, INPUT); pinMode (10, INPUT); pinMode (12, INPUT);
lcd.filloni (16, 2);
// Regiao de codigo para configurar o raio da roda do veiculo
nëse (EEPROM.lex (MEMORIA)! = 73) {ConfiguraRaio (); EEPROM.shkruaj (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.lex (PosRaio);
}
lak void ()
{
// Regiao de codigo para realizar a leitura dos botoes dhe sensor do disponimi
sensor = digitalRead (ReedSwitch); Decremento = digitalRead (BotaoDecremento); Rritje = digitalRead (BotaoIncremento);
// Regiao de codigo para acumular a distancia percorrida
nëse (sensor == 0 && estado_anterior == 1) {VoltaCompleta ++;
Distancia = (noton) (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;
}
nëse (sensor == 1 && estado_anterior == 0)
{estado_anterior = 1; }
// Regiao de Codigo para Configurar o Raio
nëse (Rritje == 1 && EstadoAnteriorIncremento == 0) {EstadoAnteriorIncremento = 1; }
nëse (Rritje == 0 && EstadoAnteriorIncremento == 1)
{EstadoAnteriorIncremento = 0; lcd.qartë (); ConfiguraRaio (); }}
i pavlefshëm ConfiguraRaio ()
{
byte RaioRoda = 0;
// Imprimir mensagem para digitar o raio em cm
lcd.setCursor (0, 0); lcd.print ("Inserir Raio (cm)");
bëj
{
lcd.setCursor (6, 1);
Rritje = digitalRead (BotaoIncremento);
Decremento = digitalRead (BotaoDecremento); BotaoEnter = digitalRead (BotaoEnterOk);
nëse (Rritja == 1 && RritjaAnterior == 0)
{RaioRoda = RaioRoda + 1; RritjeAnterior = 1; }
nëse (Rritja == 0 && RritjaAnterior == 1)
{RritjaAnterior = 0; }
nëse (Decremento == 1 && DecrementoAnterior == 0)
{RaioRoda = RaioRoda - 1; DecrementoAnterior = 1; }
nëse (Decremento == 0 && DecrementoAnterior == 1)
{DecrementoAnterior = 0; }
lcd.setCursor (6, 1);
lcd.print (RaioRoda);
} ndërsa (BotaoEnter == 0);
lcd.qartë ();
EEPROM.shkruaj (PosRaio, RaioRoda);
kthim; }
Nga ky kod ndoshta do të llogarisë distancën tuaj me Arduino -n tuaj.
Hapi 4: Përfundimi
Prandaj, nëse dëshironi PCB -në tuaj, mund ta merrni përmes kësaj lidhjeje në faqen e internetit të PCBWay.com. Për këtë, ju mund të hyni në faqen e internetit, të krijoni llogarinë tuaj dhe të merrni PCB -të tuaja.
Laboratori Silícios falënderon UTSOURCE për të ofruar komponentët elektronikë për të krijuar këtë projekt.
Recommended:
Drita e biçikletës: 7 hapa
Drita e Biçikletës: Në këtë projekt do t'ju tregoj se si të krijoni dritën tuaj të biçikletës e cila mund të ndriçojë rrugën tuaj gjatë natës, të tregojë se në cilën rrugë do të shkoni, përfshirë dritën e thyerjes
Sensori i pozicionit të goditjes së biçikletës nga Magicbit [Magicblocks]: 8 hapa
Sensori i pozicionit të biçikletës nga Magicbit [Magicblocks]: Projekt i thjeshtë DIY për të bërë sensorin e pozicionit të goditjes me një Magicbit duke përdorur Magicblocks. Ne po përdorim magicbit si bordin e zhvillimit në këtë projekt i cili bazohet në ESP32. Prandaj, çdo bord zhvillimi ESP32 mund të përdoret në këtë projekt
Ndërtoni një sinjal të thjeshtë kthesë të biçikletës: 11 hapa (me fotografi)
Ndërtoni një sinjal të thjeshtë kthesë të biçikletës: Me ardhjen e vjeshtës, ndonjëherë është e vështirë të kuptosh që ditët janë bërë më të shkurtra, megjithëse temperatura mund të jetë e njëjtë. Të gjithëve u ka ndodhur- ju shkoni në një udhëtim pasdite me biçikletë, por para se të ktheheni në gjysmë të rrugës, është errësirë dhe jeni
Drita e biçikletës së matricës së pasme: 5 hapa
Drita e biçikletës së matricës së pasme: Përshëndetje të gjithëve! Unë kam qenë gjithmonë i magjepsur nga LEDS dhe mënyra se si ato shkëlqejnë, është po aq hipnotizuese, veçanërisht shiritat me matricë 8 x 8 dhe RGB. Kam dashur të ndërtoj një dritë të pasme biçikletash për biçikletën time për një kohë të gjatë dhe tani që jam në gjendje për të ndërtuar
Krijimi i një Odometri Arduino - Pjesa I: 4 Hapa
Krijimi i një Odometri Arduino - Pjesa I: quiteshtë mjaft e zakonshme që çiklistët dhe përdoruesit e biçikletave të stërvitjes të kenë nevojë të matin shpejtësinë dhe distancën e tyre të udhëtuar. Për këtë, ne kemi nevojë për një pajisje të njohur si odometër. Odometri është përgjegjës për matjen e këtyre ndryshoreve dhe transmetimin e këtij informacioni