Innholdsfortegnelse:

Sykkelsimulator med hastighetsjustering i sanntid: 5 trinn
Sykkelsimulator med hastighetsjustering i sanntid: 5 trinn

Video: Sykkelsimulator med hastighetsjustering i sanntid: 5 trinn

Video: Sykkelsimulator med hastighetsjustering i sanntid: 5 trinn
Video: Сделал ВЕЧНЫЕ СИЛИКОНОВЫЕ ШВЫ! Спорим, что такого вы еще не видели? 2024, Juli
Anonim
Sykkelsimulator med hastighetsjustering i sanntid
Sykkelsimulator med hastighetsjustering i sanntid

Dette prosjektet bruker en magnetisk sivbryter for å lage et hastighetsmåler og kontrollere videohastigheten til førstepersons sykkelvideoer på YouTube eller andre medier. Arduino beregner km / t og bruker deretter denne informasjonen til å simulere et trykk på en datamaskin. Dette knappetrykket, sammen med en utvidelse av Google Chrome, øker eller bremser videoen basert på hastighetsendringen. Den har en grunnleggende maskinvareoppsett som de som er nybegynnere til Arduino enkelt kan lage på egen hånd.

Hastighetsmålerkoden er basert på dette prosjektet:

Maskinvareliste:

1. Arduino Leonardo

2. Micro USB -kabel (må være i stand til filoverføring og <3ft)

3. Magnetisk sivbryter

4. 10k Ohm motstand

5. 22 gauge Wire (<4ft)

6. Loddejern

7. Lodding

8. Elektrisk tape

9. Glidelåser

10. Stasjonær sykkelstativ

11. Sykkel

Trinn 1: Last ned relevant programvare til datamaskinen

1. Arduino IDE

2. Video Speed Controller (nettleserutvidelse)

en. Google Chrome

b. Firefox

Trinn 2: Maskinvare

Maskinvare
Maskinvare
Maskinvare
Maskinvare
Maskinvare
Maskinvare

Alle tilkoblinger skal loddes sammen og teipes over med elektrisk tape. Arduino kan monteres på sykkelen ved hjelp av et plastikkhus som følger med Arduino (lenket i delelisten ovenfor). Dette er viktig fordi hvis sykkelmetallet er i direkte kontakt med pinnene, kan det opprette uønskede forbindelser. Dekselet har også hull som gjør det enkelt å feste saken til sykkelen. 22 gauge ledningen skal vikles langs sykkelrammen og festes med tape eller glidelåser. Sørg for å unngå å vikle inn ledningen et sted hvor den kan sette seg fast på bevegelige mekanismer.

Trinn 3: Plasser sykkelen på stasjonær sykkelstativ

Fest sykkelen i det stasjonære sykkelstativet og sørg for at den er nær nok datamaskinen til at mikro-USB-kabelen kan nå datamaskinen. Sørg også for at visningsavstanden for deg er egnet for å kunne se skjermen komfortabelt. Du finner en veiledning om hvordan du plasserer sykkelen på stativet på en sikker måte.

Trinn 4: Last opp og test Arduino -koden

Last opp og test Arduino -koden
Last opp og test Arduino -koden

Hvis du er ny på Arduino IDE, kan du finne en introduksjonsside her. Det er viktig å merke seg at Leonardo krever en mikro-USC-kabel for å laste opp som har filoverføringsmuligheter. Mange mikro-USB-kabler brukes bare til lading, og de vil ikke fungere. Når Arduino Leonardo er gjenkjent av datamaskinen, kopier og lim inn og last opp følgende kode:

// Denne koden finner hastigheten på en sykkel og konverterer den til tastaturet på datamaskinen

// beregninger

// dekkradius ~ 13,5 tommer // omkrets = pi*2*r = ~ 85 tommer // maks hastighet på 35 mph = ~ 616 tommer/sekund // maks rps = ~ 7,25

#inkludere

#define reed A0 // pin koblet til lesebryter

// lagringsvariabler

int reedVal; lang timer; // tid mellom en full rotasjon (i ms) flyte mph; flyteradius = 13,5; // dekkradius (i tommer) flyteomkrets; flyte vforrige; flytehastighet;

int maxReedCounter = 100; // min tid (i ms) for en rotasjon (for debouncing)

int reedCounter;

ugyldig oppsett () {

reedCounter = maxReedCounter; omkrets = 2*3,14*radius; pinMode (siv, INNGANG); Keyboard.begin (); // TIMER SETUP- tidsavbruddet tillater presise tidsbestemte målinger av reed-bryteren // for mer informasjon om konfigurasjon av arduino-timere se https://arduino.cc/playground/Code/Timer1 cli (); // stopp avbrudd

// sett timer1 -avbrudd på 1 kHz

TCCR1A = 0; // sett hele TCCR1A -registeret til 0 TCCR1B = 0; // samme for TCCR1B TCNT1 = 0; // sett timertall for trinn på 1 kHz OCR1A = 1999; // = (1/1000)/((1/(16*10^6))*8) - 1 // slå på CTC -modus TCCR1B | = (1 < <WGM12); // Angi CS11 -bit for 8 forhåndsskaler TCCR1B | = (1 << CS11); // aktiver tidsur sammenligne interrupt TIMSK1 | = (1 << OCIE1A); sei (); // tillat avbrudd // END TIMER SETUP Serial.begin (9600); }

ISR (TIMER1_COMPA_vect) {// Avbryt ved frekvens på 1 kHz for å måle sivbryter

reedVal = digitalRead (reed); // få val av A0 hvis (reedVal) {// hvis reed -bryteren er lukket hvis (reedCounter == 0) {// min tid mellom pulser har passert vprevious = mph; forsinkelse (500); mph = (56,8*float (omkrets))/float (timer); // beregne miles per time timer = 0; // reset timer reedCounter = maxReedCounter; // reset reedCounter} else {if (reedCounter> 0) {// ikke la reedCounter gå negativ reedCounter -= 1; // redusere reedCounter}}} annet {// hvis reed -bryteren er åpen hvis (reedCounter> 0) {// ikke la reedCounter gå negativ reedCounter -= 1;/ /decrement reedCounter}} if (timer> 2000) {mph = 0; // hvis ingen nye pulser fra sivbryteren er stille, sett mph til 0 vprevious = 0; } annet {timer += 1; // trinnvis timer}}

void controlComp () {

hvis (tidligere mph) // Senk videohastigheten {Keyboard.press ('s'); Keyboard.releaseAll (); forsinkelse (750); } hvis (vprevious == mph) // ikke gjør noe {; }} void loop () {// print mph to ganger i sekundet Serial.print ("VForrige:"); Serial.print ("\ t"); Serial.println (tidligere);

Serial.print ("MPH:");

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

Når koden er lastet opp, åpner du den serielle skjermen. Uten bevegelse av bakhjulet, bør “MPH” og “VPrevious” lese 0,00. Roter hjulet slik at det setter fart i noen få omdreininger og deretter senker farten. Monitoren bør lese hastigheten og typen d for akselerasjon og s for retardasjon. Hvis det ikke vises noen verdier når hjulet roteres, kan det hende at magneten ikke blir oppdaget av sivbryteren. Sørg for at magneten er sterk nok ved å lytte etter en "clink *" -støy når magneten passerer bryteren.

Trinn 5: Konfigurer YouTube -kontrolleren

Sett opp YouTube -kontrolleren
Sett opp YouTube -kontrolleren

Det siste trinnet er å ta opp YouTube -videoene du ønsker å bruke til å følge med på sykkelen din. Tanken er å ha førstepersonsvideoer som du helt kan fordype deg i og nyte naturen mens du sykler. Jeg har fulgt en YouTube -spilleliste med en rekke videoalternativer. De spenner fra en rekke kanaler som laster opp videoer som samsvarer med disse førstepersons kriteriene. De er også videoer som å fly gjennom skyer og langrennstog for noen forskjellige førstepersonsopplevelser.

Anbefalt: