Turinys:

Dviračių treniruoklis su greičio reguliavimu realiuoju laiku: 5 žingsniai
Dviračių treniruoklis su greičio reguliavimu realiuoju laiku: 5 žingsniai

Video: Dviračių treniruoklis su greičio reguliavimu realiuoju laiku: 5 žingsniai

Video: Dviračių treniruoklis su greičio reguliavimu realiuoju laiku: 5 žingsniai
Video: MTB treniruotė + patarimai 2024, Lapkritis
Anonim
Dviračių treniruoklis su greičio reguliavimu realiuoju laiku
Dviračių treniruoklis su greičio reguliavimu realiuoju laiku

Šis projektas naudoja magnetinį nendrių jungiklį, kad sukurtų spidometrą ir valdytų pirmojo asmens dviračių vaizdo įrašų vaizdo įrašų greitį „YouTube“ar kitoje laikmenoje. „Arduino“apskaičiuoja mph ir tada naudoja šią informaciją, kad imituotų kompiuterio mygtuko paspaudimą. Šis mygtuko paspaudimas, suporuotas su „Google Chrome“plėtiniu, pagreitina arba sulėtina vaizdo įrašą, atsižvelgiant į greičio pasikeitimą. Jame yra pagrindinė aparatinės įrangos sąranka, kurią pradedantieji „Arduino“gali lengvai sukurti patys.

Spidometro kodas pagrįstas šiuo projektu:

Aparatūros sąrašas:

1. Arduino Leonardo

2. „Micro USB“kabelis (turi galėti perduoti failus ir <3 pėdų)

3. Magnetinis nendrinis jungiklis

4. 10k omų rezistorius

5. 22 matuoklio viela (<4 pėdų)

6. Lituoklis

7. Lituoklis

8. Elektros juosta

9. Užtrauktukai

10. Stacionarus dviračių stovas

11. Dviratis

1 veiksmas: atsisiųskite atitinkamą programinę įrangą į savo kompiuterį

1. „Arduino IDE“

2. Vaizdo įrašo greičio valdiklis (žiniatinklio naršyklės plėtinys)

a. „Google Chrome“

b. „Firefox“

2 žingsnis: Aparatūra

Techninė įranga
Techninė įranga
Techninė įranga
Techninė įranga
Techninė įranga
Techninė įranga

Visos jungtys turi būti lituojamos kartu ir užklijuojamos elektros juostele. „Arduino“galima pritvirtinti prie dviračio naudojant plastikinį dėklą, pridėtą prie „Arduino“(susietą aukščiau esančiame dalių sąraše). Tai svarbu, nes jei dviračio metalas tiesiogiai liečiasi su kaiščiais, tai gali sukurti nepageidaujamų jungčių. Dėkle taip pat yra skylių, kurios palengvina dėklo pririšimą prie dviračio. 22 gabarito viela turi būti suvyniota išilgai dviračio rėmo ir pritvirtinta juostele ar užtrauktukais. Stenkitės nevynioti vielos ten, kur ji gali užstrigti ant judančių mechanizmų.

3 žingsnis: padėkite dviratį ant stacionaraus dviračio stovo

Pritvirtinkite dviratį prie stacionaraus dviračio stovo ir įsitikinkite, kad jis yra pakankamai arti jūsų kompiuterio, kad mikro USB laidas pasiektų jūsų kompiuterį. Taip pat įsitikinkite, kad jūsų žiūrėjimo atstumas yra tinkamas, kad galėtumėte patogiai matyti ekraną. Pamoką, kaip saugiai pastatyti dviratį ant stovo, rasite čia.

4 veiksmas: įkelkite ir išbandykite „Arduino“kodą

Įkelkite ir išbandykite „Arduino“kodą
Įkelkite ir išbandykite „Arduino“kodą

Jei esate naujas „Arduino IDE“, įvadinį puslapį rasite čia. Svarbu pažymėti, kad norint įkelti „Leonardo“reikalingas mikro-USC kabelis, turintis failų perdavimo galimybes. Daugelis „micro-USB“kabelių naudojami tik įkrovimui ir jie neveiks. Kai kompiuteris atpažins „Arduino Leonardo“, nukopijuokite ir įklijuokite bei įkelkite šį kodą:

// Šis kodas nustato dviračio greitį ir konvertuoja jį į kompiuterio klaviatūros paspaudimą

// skaičiavimai

// padangos spindulys ~ 13,5 colio // apimtis = pi*2*r = ~ 85 coliai // maksimalus greitis 35 mylių per valandą = ~ 616 colių per sekundę // maksimalus apsisukimų dažnis = ~ 7,25

#įtraukti

#define nendrė A0 // kaištis prijungtas prie skaitymo jungiklio

// saugojimo kintamieji

int reedVal; ilgas laikmatis; // laikas tarp vieno viso sukimosi (ms) float mph; plūdės spindulys = 13,5; // padangos spindulys (coliais) plūdės perimetras; plūdė vprevious; plūdės norma;

int maxReedCounter = 100; // min. vieno sukimosi laikas (ms) (atjungimui)

int reedCounter;

void setup () {

reedCounter = maxReedCounter; apskritimas = 2*3,14*spindulys; pinMode (nendrė, INPUT); Klaviatūra.begin (); // TIMER SETUP- laikmačio pertraukimas leidžia tiksliai išmatuoti nendrinio jungiklio laiką // daugiau informacijos apie arduino laikmačių konfigūraciją rasite https://arduino.cc/playground/Code/Timer1 cli (); // stop interuts

// nustatyti 1 laikmačio pertraukimą 1 kHz dažniu

TCCR1A = 0; // nustatyti visą TCCR1A registrą į 0 TCCR1B = 0; // tas pats TCCR1B TCNT1 = 0; // nustatyti laikrodžių skaičių 1 khz žingsniais OCR1A = 1999; // = (1/1000)/((1/(16*10^6))*8) - 1 // įjungti CTC režimą TCCR1B | = (1 < <WGM12); // Nustatyti CS11 bitą 8 prescaler TCCR1B | = (1 << CS11); // įjungti laikmatį palyginti pertraukimą TIMSK1 | = (1 << OCIE1A); sei (); // leisti pertraukas // END TIMER SETUP Serial.begin (9600); }

ISR (TIMER1_COMPA_vect) {// Nutraukimas 1 kHz dažniu, norint išmatuoti nendrių jungiklį

reedVal = digitalRead (reed); // gauti A0 val, jei (reedVal) {// jei nendrinis jungiklis uždarytas, jei (reedCounter == 0) {// min. laikas tarp impulsų praėjo vprearly = mph; vėlavimas (500); mph = (56,8*plūdė (perimetras))/plūdė (laikmatis); // apskaičiuoti mylių per valandą laikmatis = 0; // iš naujo nustatyti laikmatį reedCounter = maxReedCounter; // iš naujo nustatyti reedCounter} else {if (reedCounter> 0) {// neleiskite reedCounter neigiamo reedCounter -= 1; // decred reedCounter}}} else {// jei nendrių jungiklis atidarytas, jei (reedCounter> 0) {// neleiskite reedCounter neigiamo reedCounter -= 1;/ /decment reedCounter}} if (laikmatis> 2000) {mph = 0; // jei vis dar nėra naujų impulsų iš nendrinio jungiklio, nustatykite mph į 0 vprevious = 0; } else {timer += 1; // didinimo laikmatis}}

void controlComp () {

if (ankstesnis mph) // Vaizdo sulėtinimas {Keyboard.press ('s'); Keyboard.releaseAll (); vėlavimas (750); } if (ankstesnis == mph) // nieko nedaryti {; }} void loop () {// spausdinti mph du kartus per sekundę Serial.print ("VPrevious:"); Serial.print ("\ t"); Serial.println (vprearly);

Serial.print ("MPH:");

Serial.print ("\ t"); Serial.println (mph); controlComp (); }

Kai kodas sėkmingai įkeliamas, atidarykite serijinį monitorių. Nejudant galinio rato, „MPH“ir „VPrevious“turėtų būti 0,00. Pasukite ratą taip, kad jis keletą apsisukimų įsibėgėtų ir sulėtėtų. Monitorius turėtų nuskaityti greitį ir tipą d, kad pagreitis, o s - lėtėjimą. Jei sukant ratą nerodomos jokios vertės, magnetas gali būti neaptiktas nendrinio jungiklio. Įsitikinkite, kad magnetas yra pakankamai stiprus, klausydamasis, kaip pasibaigia * spragtelėjimas *, kai magnetas praeina per jungiklį.

5 veiksmas: nustatykite „YouTube“valdiklį

Nustatykite „YouTube“valdiklį
Nustatykite „YouTube“valdiklį

Paskutinis žingsnis yra parodyti „YouTube“vaizdo įrašus, kuriuos norite naudoti savo dviračiu. Idėja yra turėti pirmojo asmens vaizdo įrašus, į kuriuos galėtumėte visiškai pasinerti ir mėgautis peizažu važiuodami dviračiu. Aš laikiausi „YouTube“grojaraščio, kuriame pateikiamos įvairios vaizdo įrašų parinktys. Jie apima įvairius kanalus, įkeliančius vaizdo įrašus, atitinkančius šio pirmojo asmens kriterijus. Tai taip pat yra vaizdo įrašai, tokie kaip skraidymas per debesis ir kelionės visureigio traukiniu įvairiems pirmojo asmens nuotykiams.

Rekomenduojamas: