Indholdsfortegnelse:
- Trin 1: Download relevant software på din computer
- Trin 2: Hardware
- Trin 3: Placer cyklen på stationær cykelstativ
- Trin 4: Upload og test Arduino -kode
- Trin 5: Konfigurer YouTube Controller
Video: Cykelsimulator med hastighedsjustering i realtid: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Dette projekt bruger en magnetisk sivkontakt til at oprette et speedometer og styre videohastigheden på førstepersonscykelvideoer på YouTube eller andre medier. Arduino beregner km / t og bruger derefter disse oplysninger til at simulere et computertastetryk. Dette tryk på knappen, parret med en Google Chrome -udvidelse, fremskynder eller bremser videoen baseret på ændringen i hastighed. Det har en grundlæggende hardware-opsætning, som dem, der er begyndere til Arduino, nemt kan oprette på egen hånd.
Speedometer -koden er baseret på dette projekt:
Hardware liste:
1. Arduino Leonardo
2. Micro USB -kabel (Skal kunne overføres og <3ft)
3. Magnetisk Reed Switch
4. 10k Ohm modstand
5. 22 gauge Wire (<4ft)
6. Loddejern
7. Lodning
8. Elektrisk tape
9. Lynlåse
10. Stationær cykelstativ
11. Cykel
Trin 1: Download relevant software på din computer
1. Arduino IDE
2. Video Speed Controller (udvidelse af webbrowser)
en. Google Chrome
b. Firefox
Trin 2: Hardware
Alle forbindelser skal loddes sammen og tapes med elektrisk tape. Arduino kan monteres på cyklen ved hjælp af et plastikhus, der følger med Arduino (linket i delelisten ovenfor). Dette er vigtigt, fordi hvis cykelmetallet er i direkte kontakt med stifterne, kan det skabe uønskede forbindelser. Etuiet har også huller, der gør det let at binde sagen til cyklen med lynlås. 22 gauge ledningen skal vikles langs cykelrammen og fastgøres med tape eller lynlåse. Sørg for at undgå at vikle ledningen et sted, hvor den kan blive fanget af bevægelige mekanismer.
Trin 3: Placer cyklen på stationær cykelstativ
Fastgør cyklen i det stationære cykelstativ, og sørg for, at den er tæt nok på din computer, så mikro-USB-kablet kan nå din computer. Sørg også for, at synsafstanden for dig er egnet til komfortabelt at kunne se skærmen. En vejledning i, hvordan du sikkert placerer din cykel på stativet, kan findes her.
Trin 4: Upload og test Arduino -kode
Hvis du er ny på Arduino IDE, kan en introduktionsside findes her. Det er vigtigt at bemærke, at Leonardo kræver et mikro-USC-kabel for at uploade, der har filoverførselsfunktioner. Mange mikro-USB-kabler bruges kun til opladning, og de fungerer ikke. Når Arduino Leonardo genkendes af computeren, skal du kopiere og indsætte og uploade følgende kode:
// Denne kode finder en cykels hastighed og konverterer den til computerens tastaturpress
// beregninger
// dækradius ~ 13,5 tommer // omkreds = pi*2*r = ~ 85 tommer // maksimal hastighed på 35 mph = ~ 616 tommer/sekund // maks. rps = ~ 7,25
#omfatte
#define reed A0 // pin forbundet til læsekontakt
// lagringsvariabler
int reedVal; lang timer; // tid mellem en fuld rotation (i ms) float mph; flyde radius = 13,5; // dæk radius (i tommer) flyde omkreds; flyde vforrige; flydehastighed;
int maxReedCounter = 100; // min tid (i ms) for en rotation (til debouncing)
int reedCounter;
ugyldig opsætning () {
reedCounter = maxReedCounter; omkreds = 2*3,14*radius; pinMode (reed, INPUT); Keyboard.begin (); // TIMER SETUP- timerafbrydelsen tillader præcise tidsmålinger af reed-kontakten // for mere information om konfiguration af arduino-timere se https://arduino.cc/playground/Code/Timer1 cli (); // stop afbrydelser
// indstil timer1 -afbrydelse ved 1 kHz
TCCR1A = 0; // sæt hele TCCR1A -registeret til 0 TCCR1B = 0; // samme for TCCR1B TCNT1 = 0; // indstil timertælling for trin på 1 kHz OCR1A = 1999; // = (1/1000)/((1/(16*10^6))*8) - 1 // tænd for CTC -tilstand TCCR1B | = (1 < <WGM12); // Indstil CS11 -bit til 8 forcalkaler TCCR1B | = (1 << CS11); // aktivere timer sammenligne afbrydelse TIMSK1 | = (1 << OCIE1A); sei (); // tillade afbrydelser // END TIMER SETUP Serial.begin (9600); }
ISR (TIMER1_COMPA_vect) {// Afbryd ved frekvens på 1 kHz for at måle reed switch
reedVal = digitalRead (reed); // get val of A0 if (reedVal) {// if reed switch is closed if (reedCounter == 0) {// min time between pulses has passed vprevious = mph; forsinkelse (500); mph = (56,8*float (omkreds))/float (timer); // beregn timer i timen = 0; // nulstil timer reedCounter = maxReedCounter; // reset reedCounter} else {if (reedCounter> 0) {// lad ikke reedCounter gå negativ reedCounter -= 1; // reducere reedCounter}}} else {// hvis reed switch er åben, hvis (reedCounter> 0) {// ikke lad reedCounter gå negativ reedCounter -= 1;/ /decrement reedCounter}} if (timer> 2000) {mph = 0; // hvis der ikke stadig er nye impulser fra reed switch-dæk, skal du indstille mph til 0 vprevious = 0; } ellers {timer += 1; // stigningstimer}}
void controlComp () {
hvis (vforrige mph) // Sænk videohastigheden {Keyboard.press ('s'); Keyboard.releaseAll (); forsinkelse (750); } hvis (vprevious == mph) // ikke gør noget {; }} void loop () {// print mph to gange 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 uploadet, skal du åbne den serielle skærm. Uden bevægelse af baghjulet skal “MPH” og “VPrevious” læse 0,00. Drej hjulet, så det fremskynder et par omdrejninger og derefter sænker farten. Skærmen skal aflæse hastigheden og typen d’er for acceleration og s’er for deceleration. Hvis der ikke vises nogen værdier, når hjulet drejes, kan magneten muligvis ikke registreres af sivkontakten. Sørg for, at magneten er stærk nok ved at lytte efter en quin * clink * støj, når magneten passerer kontakten.
Trin 5: Konfigurer YouTube Controller
Det sidste trin er at hente de YouTube -videoer, du ønsker at bruge til at følge med på din cykel. Ideen er at have førstepersonsvideoer, som du helt kan fordybe dig i og nyde landskabet, mens du cykler. Jeg har overholdt en YouTube -afspilningsliste med en række forskellige videoindstillinger. De spænder fra en række kanaler, der uploader videoer, der matcher disse førstepersons kriterier. De er også videoer som at flyve gennem skyer og langrendstogture til nogle forskellige førstepersonseventyr.
Anbefalede:
Sådan laver du luftfugtighed og temperatur i realtid datarekorder med Arduino UNO og SD-kort - DHT11 Datalogger Simulering i Proteus: 5 trin
Sådan laver du luftfugtighed og temperatur i realtid datarekorder med Arduino UNO og SD-kort | DHT11 Datalogger Simulering i Proteus: Introduktion: hej, dette er Liono Maker, her er YouTube-link. Vi laver kreative projekter med Arduino og arbejder på integrerede systemer. Data-Logger: En datalogger (også datalogger eller dataregistrator) er en elektronisk enhed, der registrerer data over tid med
MicroPython-program: Opdater data om coronavirus (COVID-19) i realtid: 10 trin (med billeder)
MicroPython-program: Opdater data om Coronavirus-sygdom (COVID-19) i realtid: I de sidste par uger er antallet af bekræftede tilfælde af coronavirus-sygdom (COVID 19) på verdensplan overskredet 100.000, og verdenssundhedsorganisationen (WHO) har erklæret nyt coronavirus lungebetændelse udbrud for at være en global pandemi. Jeg var meget
Lys mig op! en LED-stripkontrol i realtid på tværs af platforme: 5 trin (med billeder)
Lys mig op! en LED-stripkontrol i realtid på tværs af platforme: LightMeUp! er et system, jeg opfandt til styring af en RGB LED-strip i realtid, samtidig med at omkostningerne blev holdt lave og ydeevnen høj. Serveren er skrevet i Node.js og derfor krydsplatformbar. I mit eksempel bruger jeg en Raspberry Pi 3B til langtidsbrug
Switch-it, automatisk afgang med strømmåling i realtid: 6 trin
Switch-it, automatisk udgang med realtidsstrømmåling: Jeg kan virkelig godt lide automatisering, evnen til at styre, når der skal ske noget. Det er det, der fik mig til at komme med denne idé: en selvfremstillet, automatisk stikkontakt. Det kan bruges til at planlægge, hvornår lys skal tændes, hvornår telefoner skal oplades eller
Realtid ansigtsregistrering på RaspberryPi-4: 6 trin (med billeder)
Real Time Face Detection på RaspberryPi-4: I denne Instructable skal vi udføre ansigtsdetektering i realtid på Raspberry Pi 4 med Shunya O/S ved hjælp af Shunyaface Library. Du kan opnå en registreringsramphastighed på 15-17 på RaspberryPi-4 ved at følge denne vejledning