INHOUDSOPGAWE:

Fietssimulator met intydse snelheidsaanpassing: 5 stappe
Fietssimulator met intydse snelheidsaanpassing: 5 stappe

Video: Fietssimulator met intydse snelheidsaanpassing: 5 stappe

Video: Fietssimulator met intydse snelheidsaanpassing: 5 stappe
Video: 60 Minute Indoor Trainer Workout 2024, November
Anonim
Fietssimulator met intydse snelheidsaanpassing
Fietssimulator met intydse snelheidsaanpassing

Hierdie projek gebruik 'n magnetiese rietskakelaar om 'n snelheidsmeter te maak en die videosnelheid van eerste persoon-fietsryvideo's op YouTube of ander media te beheer. Die Arduino bereken die km / h en gebruik dan die inligting om 'n rekenaarknoppie te druk. Hierdie druk op die knoppie, gekoppel aan 'n Google Chrome -uitbreiding, versnel of vertraag die video op grond van die snelheidsverandering. Dit het 'n basiese hardeware-opstelling wat diegene wat vir Arduino beginner is, maklik self kan skep.

Die snelheidsmeterkode is gebaseer op hierdie projek:

Hardeware lys:

1. Arduino Leonardo

2. Mikro -USB -kabel (moet lêeroordrag en <3 voet)

3. Magnetiese rietskakelaar

4. 10k Ohm Weerstand

5. 22 meter draad (<4 voet)

6. Soldeerbout

7. Soldeer

8. Elektriese band

9. Ritsbande

10. Stationêre fietsstaander

11. Fiets

Stap 1: Laai relevante sagteware op u rekenaar af

1. Arduino IDE

2. Videosnelheidsbeheerder (webblaaieruitbreiding)

a. Google Chrome

b. Firefox

Stap 2: Hardeware

Hardeware
Hardeware
Hardeware
Hardeware
Hardeware
Hardeware

Alle verbindings moet aanmekaar gesoldeer en met elektriese band vasgemaak word. Die Arduino kan op die fiets gemonteer word met 'n plastiekkas wat by die Arduino ingesluit is (gekoppel aan die onderstaande lys). Dit is belangrik, want as die fietsmetaal in direkte kontak met die penne is, kan dit ongewenste verbindings skep. Die omhulsel het ook gate wat die ritssluiting aan die fiets eenvoudig vasmaak. Die 22 -meter draad moet oor die raam van die fiets gedraai word en met band of rits vasgemaak word. Maak seker dat die draad nie toegedraai word op plekke waar dit deur bewegende meganismes vasgevang kan word nie.

Stap 3: Plaas die fiets op die stilstaande fietsstaander

Bevestig die fiets in die stilstaande fietsstaander en maak seker dat dit naby u rekenaar is sodat die mikro-USB-koord by u rekenaar kan uitkom. Maak ook seker dat die kykafstand vir u geskik is om die skerm gemaklik te kan sien. Hier kan u 'n handleiding vind oor hoe u u fiets veilig op die staander kan plaas.

Stap 4: Laai Arduino -kode op en toets dit

Laai Arduino -kode op en toets dit
Laai Arduino -kode op en toets dit

As u nog nie nuut is in Arduino IDE nie, kan u 'n inleidingsbladsy hier vind. Dit is belangrik om daarop te let dat die Leonardo 'n mikro-USC-kabel benodig om op te laai met die oordrag van lêers. Baie mikro-USB-kabels word net gebruik vir laai, en dit werk nie. Sodra die Arduino Leonardo deur die rekenaar herken word, kopieer en plak en laai die volgende kode op:

// Hierdie kode vind die snelheid van 'n fiets en skakel dit om na 'n rekenaar se sleutelbordpers

// berekeninge

// bandradius ~ 13,5 duim // omtrek = pi*2*r = ~ 85 duim // maksimum spoed van 35mph = ~ 616inches/sekonde // maksimum rps = ~ 7,25

#insluit

#define riet A0 // pen gekoppel aan leesskakelaar

// stoorveranderlikes

int reedVal; lang timer; // tyd tussen een volle rotasie (in ms) vlot mph; vlotradius = 13,5; // bandradius (in duim) vlotomtrek; vlot v vorige; vlottempo;

int maxReedCounter = 100; // min tyd (in ms) van een rotasie (vir ontbinding)

int reedCounter;

ongeldige opstelling () {

reedCounter = maxReedCounter; omtrek = 2*3,14*radius; pinMode (riet, INVOER); Keyboard.begin (); // TIMERINSTELLING- die timer-onderbreking laat presiese tydmetings van die rietskakelaar toe // vir meer inligting oor die konfigurasie van arduino-timers, sien https://arduino.cc/playground/Code/Timer1 cli (); // stop onderbrekings

// stel timer1 -onderbreking in op 1kHz

TCCR1A = 0; // stel die hele TCCR1A -register op 0 TCCR1B = 0; // dieselfde vir TCCR1B TCNT1 = 0; // stel tydteller in vir 1khz -inkremente OCR1A = 1999; // = (1/1000)/((1/(16*10^6))*8) - 1 // skakel CTC -modus TCCR1B aan | = (1 < <WGM12); // Stel CS11 -bit in vir 8 voorverkoeler TCCR1B | = (1 << CS11); // aktiveer timer vergelyk onderbreek TIMSK1 | = (1 << OCIE1A); sei (); // laat onderbrekings toe // END TIMER SETUP Serial.begin (9600); }

ISR (TIMER1_COMPA_vect) {// Onderbreek by frekwensie van 1kHz om rietskakelaar te meet

reedVal = digitalRead (reed); // kry die waarde van A0 as (reedVal) {// as die rietskakelaar gesluit is as (reedCounter == 0) {// min tyd tussen pulse geslaag het vprevious = mph; vertraging (500); mph = (56.8*float (omtrek))/float (timer); // bereken myl per uur timer = 0; // reset timer reedCounter = maxReedCounter; // reset reedCounter} anders {if (reedCounter> 0) {// moenie dat reedCounter negatief gaan nie reedCounter -= 1; // verminder reedCounter}}} anders {// as rietskakelaar oop is as (reedCounter> 0) {// moenie dat reedCounter negatiewe reedCounter gaan nie -= 1;/ /verminder reedCounter}} as (timer> 2000) {mph = 0; // as daar geen nuwe pulse van die rietskakelaar is nie, stel mph op 0 vprevious = 0; } anders {timer += 1; // inkrement timer}}

leemte beheerComp () {

as (vorige mph) // Vertraag videosnelheid {Keyboard.press ('s'); Keyboard.releaseAll (); vertraging (750); } as (vprevious == mph) // niks doen nie {; }} leemte lus () {// druk mph twee keer per sekonde druk Serial.print ("VVorige:"); Serial.print ("\ t"); Serial.println (v vorige);

Serial.print ("MPH:");

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

Sodra die kode suksesvol opgelaai is, maak die seriële monitor oop. Sonder om die agterwiel te beweeg, behoort die “MPH” en “VPrevious” 0,00 te wees. Draai die wiel sodat dit 'n paar omwentelinge versnel en dan vertraag. Die monitor moet die snelheid en tipe d's vir versnelling en s's vir vertraging lees. As daar geen waardes verskyn wanneer die wiel gedraai word nie, word die magneet moontlik nie deur die rietskakelaar opgespoor nie. Maak seker dat die magneet sterk genoeg is deur te luister na 'n ophou * klink * geluid wanneer die magneet die skakelaar verbysteek.

Stap 5: Stel YouTube -beheerder op

Stel YouTube -beheerder op
Stel YouTube -beheerder op

Die laaste stap is om die YouTube -video's wat u wil gebruik, te gebruik om op u fiets te volg. Die idee is om eerstepersoonsvideo's te hê waarin u u volledig kan verdiep en die natuurskoon kan geniet terwyl u fietsry. Ek het voldoen aan 'n YouTube -snitlys met 'n verskeidenheid video -opsies. Dit wissel van 'n aantal kanale wat video's oplaai wat aan hierdie eerste persoon-kriteria voldoen. Dit is ook video's soos om deur wolke te vlieg en treinreise deur die land vir verskillende avonture in die eerste persoon.

Aanbeveel: