Satura rādītājs:

Velosipēda simulators ar ātruma regulēšanu reāllaikā: 5 soļi
Velosipēda simulators ar ātruma regulēšanu reāllaikā: 5 soļi

Video: Velosipēda simulators ar ātruma regulēšanu reāllaikā: 5 soļi

Video: Velosipēda simulators ar ātruma regulēšanu reāllaikā: 5 soļi
Video: Пилотируйте Cessna вокруг света! 🛩🌥🌎 - Geographical Adventures GamePlay 🎮📱 🇷🇺 2024, Novembris
Anonim
Velosipēda simulators ar ātruma regulēšanu reāllaikā
Velosipēda simulators ar ātruma regulēšanu reāllaikā

Šis projekts izmanto magnētisko niedru slēdzi, lai izveidotu spidometru un kontrolētu pirmās personas riteņbraukšanas video video ātrumu vietnē YouTube vai citos plašsaziņas līdzekļos. Arduino aprēķina mph un pēc tam izmanto šo informāciju, lai simulētu datora pogu nospiešanu. Šī pogas nospiešana kopā ar Google Chrome paplašinājumu paātrina vai palēnina video, ņemot vērā ātruma izmaiņas. Tam ir pamata aparatūras iestatījumi, kurus Arduino iesācēji var viegli izveidot paši.

Spidometra kods ir balstīts uz šo projektu:

Aparatūras saraksts:

1. Arduino Leonardo

2. Mikro USB kabelis (jābūt spējīgam pārsūtīt failus un <3 pēdas)

3. Magnētiskais niedru slēdzis

4. 10k omu rezistors

5. 22 mērinstruments (<4 pēdas)

6. Lodāmurs

7. Lodēt

8. Elektriskā lente

9. Zip kaklasaites

10. Stacionārs velosipēdu statīvs

11. Velosipēds

1. darbība: lejupielādējiet datorā atbilstošu programmatūru

1. Arduino IDE

2. Video ātruma kontrolieris (tīmekļa pārlūka paplašinājums)

a. Google Chrome

b. Firefox

2. darbība. Aparatūra

Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra

Visiem savienojumiem jābūt pielodētiem kopā un jāpielīmē ar elektrisko lenti. Arduino var uzstādīt uz velosipēda, izmantojot plastmasas korpusu, kas iekļauts Arduino komplektā (saistīts ar detaļu sarakstu iepriekš). Tas ir svarīgi, jo, ja velosipēda metāls tieši saskaras ar tapām, tas var radīt nevēlamus savienojumus. Korpusam ir arī caurumi, kas vienkāršo korpusa sasiešanu ar velosipēdu. 22 gabarīta stieple jāiesaiņo gar velosipēda rāmi un jānostiprina ar lenti vai rāvējslēdzēju. Izvairieties no stieples iesaiņošanas vietās, kur tas var aizķerties pie kustīgiem mehānismiem.

3. solis: novietojiet velosipēdu uz stacionāra velosipēda statīva

Nostipriniet velosipēdu stacionārā velosipēda statīvā un pārliecinieties, ka tas ir pietiekami tuvu datoram, lai mikro-USB vads varētu nokļūt jūsu datorā. Pārliecinieties arī, vai skatīšanās attālums jums ir piemērots, lai ērti varētu redzēt ekrānu. Pamācību par to, kā droši novietot velosipēdu uz statīva, var atrast šeit.

4. darbība: augšupielādējiet un pārbaudiet Arduino kodu

Augšupielādējiet un pārbaudiet Arduino kodu
Augšupielādējiet un pārbaudiet Arduino kodu

Ja esat jauns Arduino IDE lietotājs, ievadlapu var atrast šeit. Ir svarīgi atzīmēt, ka Leonardo augšupielādei ir nepieciešams mikro-USC kabelis, kuram ir failu pārsūtīšanas iespējas. Daudzi mikro-USB kabeļi tiek izmantoti tikai uzlādēšanai, un tie nedarbosies. Kad dators atpazīst Arduino Leonardo, nokopējiet un ielīmējiet un augšupielādējiet šādu kodu:

// Šis kods atrod velosipēda ātrumu un pārvērš to datora tastatūras spiedienā

// aprēķini

// riepas rādiuss ~ 13,5 collas // apkārtmērs = pi*2*r = ~ 85 collas // maksimālais ātrums 35 jūdzes stundā = ~ 616 collas sekundē // maksimālais apgriezienu skaits = ~ 7,25

#iekļaut

#define niedru A0 // pin pievienots lasīšanas slēdzim

// uzglabāšanas mainīgie

int reedVal; ilgs taimeris; // laiks starp vienu pilnu rotāciju (ms) float mph; pludiņa rādiuss = 13,5; // riepas rādiuss (collās) pludiņa apkārtmērs; pludiņš vprevious; peldošā likme;

int maxReedCounter = 100; // vienas rotācijas minūtes laiks (ms) (atcelšanai)

int reedCounter;

void setup () {

reedCounter = maxReedCounter; apkārtmērs = 2*3,14*rādiuss; pinMode (niedres, INPUT); Keyboard.begin (); // TIMER SETUP- taimera pārtraukums ļauj precīzi noteikt niedru slēdža mērījumus // lai iegūtu papildinformāciju par arduino taimeru konfigurāciju, skatiet https://arduino.cc/playground/Code/Timer1 cli (); // stop interuts

// iestatīt taimera 1 pārtraukumu 1 kHz frekvencē

TCCR1A = 0; // iestatiet visu TCCR1A reģistru uz 0 TCCR1B = 0; // tas pats TCCR1B TCNT1 = 0; // iestatiet taimera skaitli 1 khz solim OCR1A = 1999; // = (1/1000)/((1/(16*10^6))*8) - 1 // ieslēdziet CTC režīmu TCCR1B | = (1 < <WGM12); // Iestatīt CS11 bitu 8 prescaler TCCR1B | = (1 << CS11); // iespējot taimeri salīdzināt pārtraukumu TIMSK1 | = (1 << OCIE1A); sei (); // atļaut pārtraukumus // END TIMER SETUP Serial.begin (9600); }

ISR (TIMER1_COMPA_vect) {// Pārtraukums 1 kHz frekvencē, lai izmērītu niedru slēdzi

reedVal = digitalRead (reed); // iegūt val no A0, ja (reedVal) {// ja niedru slēdzis ir aizvērts, ja (reedCounter == 0) {// min laiks starp impulsiem ir pagājis vprevious = mph; kavēšanās (500); mph = (56,8*pludiņš (apkārtmērs))/pludiņš (taimeris); // aprēķināt jūdzes stundā taimeris = 0; // atiestatīt taimeri reedCounter = maxReedCounter; // atiestatīt reedCounter} cits {if (reedCounter> 0) {// neļauj reedCounter iet negatīvam reedCounter -= 1; // samazinājums reedCounter}}} cits {// ja niedru slēdzis ir atvērts, ja (reedCounter> 0) {// neļauj reedCounter iet negatīvam reedCounter -= 1;/ /decment reedCounter}} ja (taimeris> 2000) {mph = 0; // ja neviens niedru slēdža impulss joprojām nav, iestatiet mph uz 0 vprevious = 0; } cits {taimeris += 1; // pieauguma taimeris}}

void controlComp () {

if (vprevious mph) // Video ātruma palēnināšana {Keyboard.press ('s'); Keyboard.releaseAll (); kavēšanās (750); } if (vprevious == mph) // nedarīt neko {; }} void loop () {// drukāt mph divas reizes sekundē Serial.print ("VPrevious:"); Serial.print ("\ t"); Serial.println (vprevious);

Sērijas nospiedums ("MPH:");

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

Kad kods ir veiksmīgi augšupielādēts, atveriet seriālo monitoru. Nekustinot aizmugurējo riteni, “MPH” un “VPrevious” vajadzētu būt 0,00. Pagrieziet riteni tā, lai tas paātrinātu dažus apgriezienus un pēc tam palēninātu. Monitoram jālasa ātrums un tips d, lai paātrinātu, un s - palēninājums. Ja, pagriežot riteni, vērtības neparādās, niedru slēdzis var neatklāt magnētu. Pārliecinieties, vai magnēts ir pietiekami spēcīgs, noklausoties troksni *, kad magnēts iet gar slēdzi.

5. darbība: iestatiet YouTube kontrolieri

Iestatiet YouTube kontrolieri
Iestatiet YouTube kontrolieri

Pēdējais solis ir parādīt YouTube videoklipus, kurus vēlaties izmantot, lai sekotu līdzi velosipēdam. Ideja ir izveidot pirmās personas videoklipus, kuros varat pilnībā iegremdēties un baudīt ainavu, braucot ar velosipēdu. Esmu izpildījis YouTube atskaņošanas sarakstu ar dažādām video iespējām. Tie ir no vairākiem kanāliem, kuros tiek augšupielādēti videoklipi, kas atbilst šiem pirmās personas kritērijiem. Tie ir arī videoklipi, piemēram, lidošana pa mākoņiem un braucieni krosā ar vilcienu dažādiem pirmās personas piedzīvojumiem.

Ieteicams: