Innehållsförteckning:
- Steg 1: Ladda ner relevant programvara till din dator
- Steg 2: Hårdvara
- Steg 3: Placera cykeln på stationärt cykelställ
- Steg 4: Ladda upp och testa Arduino -koden
- Steg 5: Konfigurera YouTube Controller
Video: Cykelsimulator med hastighetsjustering i realtid: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:44
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
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
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
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:
Hur man gör luftfuktighet och temperatur i realtid Data Recorder med Arduino UNO och SD-kort - DHT11 Datalogger Simulering i Proteus: 5 steg
Hur man gör luftfuktighet och temperatur i realtid Data Recorder med Arduino UNO och SD-kort | DHT11 Datalogger Simulering i Proteus: Introduktion: hej, det här är Liono Maker, här är YouTube-länk. Vi gör kreativa projekt med Arduino och arbetar med inbäddade system.Data-Logger: En datalogger (även datalogger eller dataregistrator) är en elektronisk enhet som registrerar data över tid med
Enhetsigenkänning i realtid med EM-fotavtryck: 6 steg
Realtidsenhetsigenkänning med EM-fotavtryck: Denna enhet är avsedd att klassificera olika elektroniska enheter enligt deras EM-signaler. För olika enheter har de olika EM -signaler som avges av den. Vi har utvecklat en IoT -lösning för att identifiera elektroniska enheter med hjälp av Particle
MicroPython-program: Uppdatera Corona Disease (COVID-19) -data i realtid: 10 steg (med bilder)
MicroPython-program: Uppdatera Corona Disease (COVID-19) -data i realtid: Under de senaste veckorna har antalet bekräftade fall av coronavirussjukdom (COVID 19) överstigit 100 000 och världshälsoorganisationen (WHO) har deklarerat nya coronavirus -lunginflammation utbrott för att vara en global pandemi. Jag var väldigt
Realtid MPU-6050/A0 dataloggning med Arduino och Android: 7 steg (med bilder)
Realtid MPU-6050/A0 dataloggning med Arduino och Android: Jag har varit intresserad av att använda Arduino för maskininlärning. Som ett första steg vill jag bygga en realtid (eller ganska nära det) datavisning och logger med en Android -enhet. Jag vill fånga accelerometerdata från MPU-6050 så jag utformar
Händelsemeddelanden i realtid med hjälp av NodeMCU (Arduino), Google Firebase och Laravel: 4 steg (med bilder)
Händelsemeddelanden i realtid med hjälp av NodeMCU (Arduino), Google Firebase och Laravel: Har du någonsin velat bli aviserad när det görs en åtgärd på din webbplats men e -post inte passar rätt? Vill du höra ett ljud eller en klocka varje gång du gör en försäljning? Eller så behöver du din omedelbara uppmärksamhet på grund av en nödsituation