Turinys:
- 1 veiksmas: atsisiųskite atitinkamą programinę įrangą į savo kompiuterį
- 2 žingsnis: Aparatūra
- 3 žingsnis: padėkite dviratį ant stacionaraus dviračio stovo
- 4 veiksmas: įkelkite ir išbandykite „Arduino“kodą
- 5 veiksmas: nustatykite „YouTube“valdiklį
Video: Dviračių treniruoklis su greičio reguliavimu realiuoju laiku: 5 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Š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
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ą
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į
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:
Pašto marškinėliai: nešiojamos laikysenos aptikimas realiuoju laiku: 9 žingsniai
Pašto marškinėliai: nešiojamos laikysenos aptikimas realiuoju laiku: „Postshirt“yra realiuoju laiku veikianti belaidė laikysenos aptikimo sistema, perduodanti ir klasifikuojanti akselerometro duomenis iš „Adafruit Feather“į „Android“programą per „Bluetooth“. Visa sistema gali aptikti realiu laiku, jei vartotojas turi blogą laikyseną ir
Įrenginio atpažinimas realiuoju laiku naudojant EM pėdsakus: 6 žingsniai
Įrenginio atpažinimas realiuoju laiku naudojant EM pėdsakus: Šis prietaisas skirtas klasifikuoti įvairius elektroninius prietaisus pagal jų EM signalus. Skirtingiems įrenginiams jie skleidžia skirtingus EM signalus. Mes sukūrėme IoT sprendimą elektroniniams prietaisams identifikuoti naudojant daleles
Laikrodis realiuoju laiku su „Arduino“: 3 žingsniai
Laikrodis realiuoju laiku su „Arduino“: Šiame projekte mes pagaminsime laikrodį naudodami „Arduino“ir RTC modulius. Kaip žinome, „Arduino“negali rodyti tikrojo laiko, todėl mes naudosime RTC modulį, kad LCD ekrane būtų rodomas tinkamas laikas. Atidžiai perskaitykite visus žingsnius, tai padės
Minitelis laikrodis realiuoju laiku: 5 žingsniai
„Minitel Real Time Clock“: 1978 m. Sukurtas „France Telecom“, „Minitel“buvo informacijos paieškos ir tekstinių pranešimų siuntimo paslauga. Buvo laikomas sėkmingiausiu tinklu prieš pasaulinį tinklą. Po 30 metų 2008 m. Tinklas pagaliau uždarytas. (Yra daug informacijos apie tai
GPS sekimas realiuoju laiku: 3 žingsniai
GPS stebėjimas realiuoju laiku: šioje pamokoje parodysime, kaip sekti vietos stebėjimą realiuoju laiku naudojant „BerryGPS-GSM“, „Raspberry Pi Zero“ir pradinę būseną. Mes išsiunčiame ilgumą, platumą ir greitį per 3G su „BerryGPS-GSM“į pradinę būseną