Satura rādītājs:
Video: PCBWay Arduino velosipēda odometrs: 4 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:51
Daudzos transportlīdzekļos ir ierīces, kas aprēķina nobraukto attālumu un ir būtiskas informācijas sniegšanai vadītājam.
Tādējādi, izmantojot šo informāciju, ir iespējams kontrolēt nobraukto attālumu starp diviem punktiem, piemēram, izmantojot transportlīdzekļa odometru.
Piegādes
01 x PCBWay pielāgota PCB
01 x Arduino UNO - UTSOURCE
01 x LCD 16x2 displejs - UTSOURCE
01 x maizes dēlis - UTSOURCE
01 x vadu džemperi - UTSOURCE
01 x 10 kR rotācijas potenciometrs - UTSOURCE
01 x UTSOURCE Reed slēdzis - UTSOURCE
Tāpēc šajā rakstā mēs iemācīsim jums salikt attāluma aprēķināšanas ierīci, izmantojot niedru slēdža sensoru.
1. solis: projekts
Lai aprēķinātu sporta zāles velosipēdu nobraukto attālumu, tika izveidots šāds projekts. Turklāt jūs uzzināsit, kā izveidot programmēšanu projektam.
Šim projektam ir trīs funkcijas:
- Aprēķināt ar velosipēdu nobraukto attālumu;
- Ierīces palaišanas rādiusa konfigurācija;
- Pielāgojams jebkuram velosipēdam.
Lai piekļūtu šīm funkcijām, lietotājs izmantos trīs sistēmas pogas. Katrai pogai ir sava funkcionalitāte. Sistēmā mums ir šādas pogas:
Palielināšanas poga: tā tiks izmantota, lai ievadītu iespēju konfigurēt riteņu rādiusu un palielināt rādiusa vērtību;
Samazināšanas poga: to izmantos, lai samazinātu iespēju konfigurēt riteņu rādiusu;
Ievadīšanas poga: tā tiks izmantota, lai sistēmā ievietotu rādiusa vērtību.
Turklāt mums ir niedru slēdža sensors. Tā ir atbildīga, lai noteiktu, kad riteņi veic pilnu pagriezienu. Lai to noteiktu, uz riteņiem jāuzstāda magnēts.
Niedru slēdzis ir parādīts attēlā iepriekš.
2. darbība:
Tādējādi katru reizi, kad magnēts tuvojas sensoram, tas iedarbinās Reed Switch sensoru. Process darbojas, izmantojot šādu vienādojumu:
Braucamais attālums = 2 * π * rādiuss * Pagrieziena numurs
Izmantojot šo vienādojumu, mēs uzzināsim, kāds ir velosipēda nobrauktais attālums.
Vienādojumā rādiusu ievieto lietotājs, un pagrieziena numuru aprēķina, izmantojot riteņa pagriezienu skaitu.
Un, lai noteiktu riteņa pagriezienus, ir nepieciešams uzstādīt magnētu velosipēda ritenī un uzstādīt niedres slēdža sensoru pie riteņa.
Lai atvieglotu procesu, mēs izveidojam iespiedshēmas plati, lai savienotu Reed Switch sensoru un trīs pogas. Iespiestā shēma ir parādīta zemāk redzamajā attēlā.
3. darbība:
Kā parādīts PCB, ir iespējams redzēt Arduino Nano. Tā ir atbildīga par visu sistēmu kontroli. Turklāt mums ir 5 JST savienotāji.
C1 līdz C4 savienotāji tiek izmantoti, lai savienotu trīs pogas un Reed Switch sensoru. Tagad C5 savienotājs tiek izmantots, lai savienotu LCD 16x2 I2C.
Tāpēc, izmantojot šo sistēmu, jūs varat instalēt projektu savā velosipēdā un iegūt nobrauktā attāluma vērtību.
Šim nolūkam varat izmantot zemāk redzamo kodu.
#iekļaut #iekļaut
/*
Pinos de conex? O dos bot? Es e sensoru niedru slēdzis 8 - Sensor Reed Switch 9 - Decremento 12 - Incrementto 11 - Enter */
#define MEMORIA 120
#definējiet 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);
boola sensors = 0, estado_anterior = 0, pieaugums = 0, samazinājums = 0;
bool IncrementoAnterior = 0, DecrementoAnterior = 0, BotaoEnter = 0, EstadoAnteriorIncremento = 0;
baitu kont = 0;
neparakstīts garš int VoltaCompleta = 0;
neparakstīts garš int tempo_atual = 0, ultimo_tempo = 0;
pludiņš DistKm = 0;
neparakstīts int raio = 0; pludiņš Distancia = 0;
anulēts iestatījums ()
{Sērijas sākums (9600); pinMode (8, INPUT); pinMode (9, INPUT); pinMode (10, INPUT); pinMode (12, INPUT);
lcd. sākums (16, 2);
// Regiao de codigo para configurar o raio da roda do veiculo
ja (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);
}
tukša cilpa ()
{
// Regiao de codigo para realizar a leitura dos botoes e sensor do dispositivo
sensors = digitalRead (ReedSwitch); Decremento = digitalRead (BotaoDecremento); Palielinājums = digitalRead (BotaoIncremento);
// Regiao de codigo para acumular and distancia percorrida
ja (sensors == 0 && estado_anterior == 1) {VoltaCompleta ++;
Distancia = (pludiņš) (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;
}
ja (sensors == 1 && estado_anterior == 0)
{estado_anterior = 1; }
// Regiao de Codigo para Configurar o Raio
ja (pieaugums == 1 && EstadoAnteriorIncremento == 0) {EstadoAnteriorIncremento = 1; }
ja (pieaugums == 0 && EstadoAnteriorIncremento == 1)
{EstadoAnteriorIncremento = 0; lcd.clear (); ConfiguraRaio (); }}
anulēts ConfiguraRaio ()
{
baits RaioRoda = 0;
// Imprimir mensagem para digitar o raio em cm
lcd.setCursor (0, 0); lcd.print (“Inserir Raio (cm)”);
darīt
{
lcd.setCursor (6, 1);
Pieaugums = digitalRead (BotaoIncremento);
Decremento = digitalRead (BotaoDecremento); BotaoEnter = digitalRead (BotaoEnterOk);
ja (pieaugums == 1 && palielinājumsAnterior == 0)
{RaioRoda = RaioRoda + 1; IncrementoAnterior = 1; }
ja (pieaugums == 0 && palielinājums
{IncrementoAnterior = 0; }
ja (Decremento == 1 && DecrementoAnterior == 0)
{RaioRoda = RaioRoda - 1; DecrementoAnterior = 1; }
ja (Decremento == 0 && DecrementoAnterior == 1)
{DecrementoAnterior = 0; }
lcd.setCursor (6, 1);
lcd.print (RaioRoda);
} while (BotaoEnter == 0);
lcd.clear ();
EEPROM.write (PosRaio, RaioRoda);
atgriešanās; }
No šī koda tas, iespējams, aprēķinās jūsu attālumu ar jūsu Arduino.
4. solis. Secinājums
Tāpēc, ja vēlaties savu PCB, varat to iegūt, izmantojot šo saiti vietnē PCBWay.com. Šim nolūkam varat piekļūt vietnei, izveidot savu kontu un iegūt savu PCB.
Silícios Lab pateicas UTSOURCE, lai piedāvātu elektroniskos komponentus šī projekta izveidošanai.
Ieteicams:
Velosipēda gaisma: 7 soļi
Velosipēda gaisma: Šajā projektā es jums parādīšu, kā izveidot savu velosipēda apgaismojumu, kas var apgaismot jūsu ceļu nakts laikā, norādot, uz kuru ceļu dosieties, ieskaitot pārtraukuma gaismu
Velosipēda balsta stāvokļa sensors no Magicbit [Magicblocks]: 8 soļi
Velosipēda balsta stāvokļa sensors no Magicbit [Magicblocks]: vienkāršs DIY projekts, lai izveidotu statīva stāvokļa sensoru ar Magicbit, izmantojot Magicblocks. Šajā projektā, kura pamatā ir ESP32, mēs izmantojam magicbit. Tāpēc šajā projektā var izmantot jebkuru ESP32 izstrādes plati
Aizmugurējā matricas velosipēda gaisma: 5 soļi
Aizmugurējā matricas velosipēda gaisma: Sveiki visiem! Mani vienmēr ir fascinējuši gaismas diodes un to starojums, tas ir tik aizraujoši, it īpaši matricas 8 x 8 un RGB LED sloksnes. Es jau sen esmu gribējis izveidot velosipēda aizmugurējo velosipēdu gaismu un tagad, kad es varu būvēt
Elektriskā skeitborda odometrs: 5 soļi
Elektriskā skeitborda odometrs: Ievads Lielākajai daļai augstākās klases elektriskā skrituļdēļa aptuveni tūkstoš dolāru diapazonā ir tālruņa lietotne, kas parāda skrituļdēļa informāciju reāllaikā, un diemžēl rentablākie skrituļdēļi no Ķīnas netiek piegādāti. Tad kāpēc gan ne
Tahometrs, kas izgatavots no velosipēda spidometra (velosipēda dators): 3 soļi (ar attēliem)
Tahometrs, kas izgatavots no velosipēda spidometra (velosipēda dators): dažreiz jums vienkārši jāzina, cik ātri griežas ritenis, vārpsta vai motors. Rotācijas ātruma mērierīce ir tahometrs. Bet tie ir dārgi, un tos nav viegli atrast. To ir lēti un viegli izgatavot, izmantojot velosipēda spidometru (cikl