Innehållsförteckning:

Cykelsimulator med hastighetsjustering i realtid: 5 steg
Cykelsimulator med hastighetsjustering i realtid: 5 steg

Video: Cykelsimulator med hastighetsjustering i realtid: 5 steg

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

Detta projekt använder en magnetisk reed-omkopplare för att skapa en hastighetsmätare och styra videohastigheten för förstapersonscykelvideor på YouTube eller andra medier. Arduino beräknar mph och använder sedan den informationen för att simulera en knapptryckning på en dator. Denna knapptryckning, i kombination med ett Google Chrome -tillägg, påskyndar eller bromsar videon baserat på hastighetsförändringen. Den har en grundläggande hårdvaruinställning som de som är nybörjare för Arduino enkelt kan skapa på egen hand.

Hastighetsmätarkoden är baserad på detta projekt:

Hårdvarulista:

1. Arduino Leonardo

2. Micro USB -kabel (måste kunna överföras och <3 fot)

3. Magnetisk Reed Switch

4. 10k Ohm motstånd

5. 22 mätare (<4ft)

6. Lödkolv

7. Lödning

8. Eltejp

9. Dragkedjor

10. Stationärt cykelställ

11. Cykel

Steg 1: Ladda ner relevant programvara till din dator

1. Arduino IDE

2. Video Speed Controller (webbläsartillägg)

a. Google Chrome

b. Firefox

Steg 2: Hårdvara

Hårdvara
Hårdvara
Hårdvara
Hårdvara
Hårdvara
Hårdvara

Alla anslutningar ska lödas ihop och tejpas över med tejp. Arduino kan monteras på cykeln med ett plastfodral som medföljer Arduino (länkad i dellistan ovan). Detta är viktigt eftersom om cykelmetallen är i direkt kontakt med stiften kan det skapa oönskade anslutningar. Väskan har också hål som gör det enkelt att knyta fodralet till cykeln. 22 -gauge -tråden ska lindas längs cykelns ram och säkras med tejp eller dragkedjor. Se till att undvika att linda in tråden på platser där den kan fastna på rörliga mekanismer.

Steg 3: Placera cykeln på stationärt cykelställ

Sätt fast cykeln i det stationära cykelstället och se till att den är tillräckligt nära din dator för att mikro-USB-kabeln ska nå din dator. Se också till att visningsavståndet för dig är lämpligt för att bekvämt kunna se skärmen. En handledning om hur du sätter din cykel säkert på stället hittar du här.

Steg 4: Ladda upp och testa Arduino -koden

Ladda upp och testa Arduino -koden
Ladda upp och testa Arduino -koden

Om du är ny på Arduino IDE finns en introduktionssida här. Det är viktigt att notera att Leonardo kräver en mikro-USC-kabel för att ladda upp som har filöverföringsfunktioner. Många mikro-USB-kablar används bara för laddning och de fungerar inte. När Arduino Leonardo känns igen av datorn, kopiera och klistra in och ladda upp följande kod:

// Denna kod hittar hastigheten på en cykel och konverterar den till datorns tangentbordspress

// beräkningar

// däckradie ~ 13,5 tum // omkrets = pi*2*r = ~ 85 tum // maxhastighet på 35 mph = ~ 616 tum/sekund // max rps = ~ 7,25

#omfatta

#define reed A0 // pin ansluten till läsbrytare

// lagringsvariabler

int reedVal; lång timer; // tid mellan en full rotation (i ms) float mph; flottörradie = 13,5; // däckradie (i tum) flottöromkrets; flyta vföregående; flottörhastighet;

int maxReedCounter = 100; // min tid (i ms) för en rotation (för avstängning)

int reedCounter;

void setup () {

reedCounter = maxReedCounter; omkrets = 2*3,14*radie; pinMode (vass, INGÅNG); Keyboard.begin (); // TIMER SETUP- timeravbrottet möjliggör exakta tidsmätningar av reed-omkopplaren // för mer information om konfiguration av arduino-timers se https://arduino.cc/playground/Code/Timer1 cli (); // stoppa avbrott

// ställ in timer1 -avbrott vid 1 kHz

TCCR1A = 0; // ställ hela TCCR1A -registret till 0 TCCR1B = 0; // samma för TCCR1B TCNT1 = 0; // ställ in timertal för 1khz -steg OCR1A = 1999; // = (1/1000)/((1/(16*10^6))*8) - 1 // slå på CTC -läge TCCR1B | = (1 < <WGM12); // Ställ in CS11 -bit för 8 förkalkning TCCR1B | = (1 << CS11); // aktivera timer jämför avbrott TIMSK1 | = (1 << OCIE1A); sei (); // tillåta avbrott // END TIMER SETUP Serial.begin (9600); }

ISR (TIMER1_COMPA_vect) {// Avbrott vid frekvensen 1 kHz för att mäta reed switch

reedVal = digitalRead (reed); // get val of A0 if (reedVal) {// if reed switch is closed if (reedCounter == 0) {// min tid mellan pulserna har passerat vprevious = mph; fördröjning (500); mph = (56,8*float (omkrets))/float (timer); // beräkna miles per timme timer = 0; // reset timer reedCounter = maxReedCounter; // reset reedCounter} else {if (reedCounter> 0) {// låt inte reedCounter gå negativ reedCounter -= 1; // minska reedCounter}}} annat {// om reed switch är öppen om (reedCounter> 0) {// låt inte reedCounter gå negativ reedCounter -= 1;/ /decrement reedCounter}} if (timer> 2000) {mph = 0; // om inga nya pulser från reed switch-däck är stilla, ställ mph till 0 vprevious = 0; } annars {timer += 1; // inkrement timer}}

void controlComp () {

if (vprevious mph) // Sakta ner videohastigheten {Keyboard.press ('s'); Keyboard.releaseAll (); fördröjning (750); } om (vprevious == mph) // gör ingenting {; }} void loop () {// print mph två gånger i sekunden Serial.print ("VPrevious:"); Serial.print ("\ t"); Serial.println (föregående);

Serial.print ("MPH:");

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

När koden har laddats upp öppnar du den seriella bildskärmen. Utan rörelse på bakhjulet bör”MPH” och”VPrevious” vara 0,00. Vrid hjulet så att det snabbar upp några varv för att sedan sakta ner. Monitorn ska läsa hastigheten och typ d för acceleration och s för retardation. Om inga värden visas när hjulet roteras kanske magneten inte detekteras av vassomkopplaren. Se till att magneten är tillräckligt stark genom att lyssna på ett slutande * klick * -brus när magneten passerar omkopplaren.

Steg 5: Konfigurera YouTube Controller

Konfigurera YouTube Controller
Konfigurera YouTube Controller

Det sista steget är att ta upp de YouTube -videor du vill använda för att följa med på din cykel. Tanken är att ha förstapersonsvideor som du helt kan fördjupa dig i och njuta av landskapet medan du cyklar. Jag har följt en YouTube -spellista med en mängd olika videoalternativ. De sträcker sig från ett antal kanaler som laddar upp videor som matchar dessa första personskriterier. De är också videor som att flyga genom moln och längdskidresor för olika äventyr i första person.

Rekommenderad: