Мазмұны:

Нақты уақыттағы жылдамдықты реттейтін велосипед симуляторы: 5 қадам
Нақты уақыттағы жылдамдықты реттейтін велосипед симуляторы: 5 қадам

Бейне: Нақты уақыттағы жылдамдықты реттейтін велосипед симуляторы: 5 қадам

Бейне: Нақты уақыттағы жылдамдықты реттейтін велосипед симуляторы: 5 қадам
Бейне: Why Nothing Seems to Kill New Su 35 after upgrade 2024, Қараша
Anonim
Нақты уақыттағы жылдамдықты реттейтін велосипед тренажері
Нақты уақыттағы жылдамдықты реттейтін велосипед тренажері

Бұл жоба спидометрді жасау үшін YouTube-те немесе басқа медиада велосипедпен жүретін бірінші адамның бейне жылдамдығын бақылау үшін магнитті қамысты қосқышты қолданады. Arduino мильді есептейді, содан кейін бұл ақпаратты компьютердің батырмасын басуды модельдеу үшін қолданады. Google Chrome кеңейтімімен жұптастырылған бұл түймені басу жылдамдықтың өзгеруіне байланысты бейнені жылдамдатады немесе баяулатады. Онда Arduino-ны жаңадан бастағандар өз бетінше оңай жасай алатын негізгі аппараттық қондырғы бар.

Спидометрдің коды осы жобаға негізделген:

Жабдықтар тізімі:

1. Ардуино Леонардо

2. Micro USB кабелі (файлды тасымалдауға қабілетті болу керек және <3 фут)

3. Магнитті қамысты қосқыш

4. 10к Ом резисторы

5. 22 өлшеуіш сым (<4 фут)

6. Пісіру үтігі

7. Дәнекер

8. Электр таспасы

9. Zip байланыстары

10. Тұрақты велосипед тірегі

11. Велосипед

1 -қадам: тиісті бағдарламалық қамтамасыз етуді компьютерге жүктеңіз

1. Arduino IDE

2. Бейне жылдамдығын реттегіш (веб -шолғыштың кеңейтімі)

а. Google Chrome

б. Firefox

2 -қадам: Жабдық

Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал

Барлық қосылыстар дәнекерленіп, электр таспамен жабыстырылуы керек. Arduino -ны велосипедке Arduino -мен бірге салынған пластикалық корпустың көмегімен орнатуға болады (жоғарыдағы бөлшектер тізімінде көрсетілген). Бұл өте маңызды, себебі егер велосипед металы түйреуіштермен тікелей байланыста болса, бұл қажетсіз байланыстарды тудыруы мүмкін. Корпуста корпусты велосипедке байлауды жеңілдететін тесіктер бар. 22 калибрлі сым велосипед рамасы бойымен оралып, таспамен немесе ілмекпен бекітілуі керек. Сымды қозғалатын механизмдерге түсетін жерлерге орамауды ұмытпаңыз.

3 -қадам: Велосипедті стационарлық велосипед тірегіне қойыңыз

Велосипедті стационарлық велосипед тірегіне бекітіңіз және микро-USB сымының компьютерге жетуі үшін оның компьютерге жақын екеніне көз жеткізіңіз. Сонымен қатар, көру қашықтығы экранды ыңғайлы көру үшін қолайлы екеніне көз жеткізіңіз. Велосипедті тірекке қалай қауіпсіз қою керектігі туралы нұсқаулықты мына жерден табуға болады.

4 -қадам: Arduino кодын жүктеңіз және тексеріңіз

Arduino кодын жүктеңіз және тексеріңіз
Arduino кодын жүктеңіз және тексеріңіз

Егер сіз Arduino IDE -де жаңадан болсаңыз, кіріспе бетін мына жерден табуға болады. Айта кету керек, Леонардо жүктеу үшін файлдарды жіберу мүмкіндігі бар micro-USC кабелін қажет етеді. Көптеген micro-USB кабельдері тек зарядтау үшін қолданылады және олар жұмыс істемейді. Ардуино Леонардо компьютерде танылғаннан кейін келесі кодты көшіріп, қойыңыз және жүктеңіз:

// Бұл код велосипед жылдамдығын табады және оны компьютердің пернетақта басуына түрлендіреді

// есептеулер

// шинаның радиусы ~ 13,5 дюйм // шеңбер = pi*2*r = ~ 85 дюйм // максималды жылдамдығы 35 км/сағ ~ ~ 616 дюйм/секунд // максималды айналу жиілігі = ~ 7,25

#қосу

#анықтайтын қамыс A0 // түйреуіш оқуға қосылады

// сақтау айнымалылары

int reedVal; ұзақ таймер; // бір толық айналу арасындағы уақыт (мс бойынша) float mph; жүзу радиусы = 13.5; // шина радиусы (дюйммен) қалқымалы шеңбер; float vprevious; өзгеру жылдамдығы;

int maxReedCounter = 100; // бір айналымның минуты (мсмен) (есептен шығару үшін)

int reedCounter;

жарамсыз орнату () {

reedCounter = maxReedCounter; шеңбер = 2*3.14*радиусы; pinMode (қамыс, INPUT); Keyboard.begin (); // ТАЙМЕРДІ ОРНАТУ- таймердің үзілуі қамыс қосқышының уақытты дәл өлшеуге мүмкіндік береді // arduino таймерлерінің конфигурациясы туралы қосымша ақпарат алу үшін https://arduino.cc/playground/Code/Timer1 cli () қараңыз; // үзілістерді тоқтату

// 1 кГц -те таймер1 үзілісін орнатыңыз

TCCR1A = 0; // барлық TCCR1A регистрін 0 TCCR1B = 0 етіп орнатыңыз; // TCCR1B TCNT1 = 0 үшін бірдей; // таймердің санын 1 кГц қадаммен орнату OCR1A = 1999; // = (1/1000)/((1/(16*10^6))*8) - 1 // CTC режимін қосу TCCR1B | = (1 < <WGM12); // CS11 битін 8 TCCR1B алдын ала есептегіші үшін орнатыңыз | = (1 << CS11); // таймерді салыстыруды үзуді қосу TIMSK1 | = (1 << OCIE1A); sei (); // үзулерге рұқсат беру // END TIMER SETUP Serial.begin (9600); }

ISR (TIMER1_COMPA_vect) {// Қамысты қосқышты өлшеу үшін 1 кГц жиіліктегі үзіліс

reedVal = digitalRead (reed); // егер A0 мәнін алсаңыз (reedVal) {// егер қамыс қосқышы жабылса (reedCounter == 0) {// импульстер арасындағы минуттай уақыт өтсе vprevious = mph; кешіктіру (500); mph = (56.8*float (шеңбер))/float (таймер); // мильді сағатына есептеңіз таймер = 0; // timer reedCounter = maxReedCounter; // reedCounter қалпына келтіру} else {if (reedCounter> 0) {// reedCounter -ге теріс reedCounter -= 1; // азайту reedCounter}}} басқа {// егер қамыс қосқышы ашық болса (reedCounter> 0) {// reedCounter -ге теріс reedCounter кетуіне жол бермеңіз -= 1;/ /decrement reedCounter}} if (таймер> 2000) {mph = 0; // егер қамыс ауыстырып қосқышынан жаңа импульстар әлі де жоқ болса, mph мәнін 0-ге орнатыңыз vprevious = 0; } басқа {таймер += 1; // ұлғайту таймері}}

жарамсыз бақылауComp () {

if (vprevious mph) // Бейне жылдамдығын баяулату {Keyboard.press (s)); Keyboard.releaseAll (); кешіктіру (750); } if (vprevious == mph) // ештеңе жасамау {; }} void loop () {// mph секундына екі рет басып шығару Serial.print («VPrevious:»); Serial.print («\ t»); Serial.println (vprevious);

Serial.print («MPH:»);

Serial.print («\ t»); Serial.println (миля); controlComp (); }

Код сәтті жүктелгеннен кейін сериялық мониторды ашыңыз. Артқы доңғалақтың қозғалысы болмаса, «MPH» және «VPrevious» 0.00 болуы керек. Дөңгелекті айналдырыңыз, ол бірнеше айналым үшін жылдамдайды, содан кейін баяулайды. Монитор жылдамдық пен d түрін оқу үшін, ал баяулау үшін s әрпін оқу керек. Егер доңғалақты айналдыру кезінде мәндер шықпаса, онда магнит қамыс қосқышы арқылы анықталмауы мүмкін. Магнит қосқыштан өткен кезде * clink * шуды тыңдау арқылы магниттің жеткілікті күшті екеніне көз жеткізіңіз.

5 -қадам: YouTube контроллерін орнатыңыз

YouTube контроллерін орнатыңыз
YouTube контроллерін орнатыңыз

Соңғы қадам - велосипедпен жүру үшін қолданғыңыз келетін YouTube бейнелерін шығару. Идея - велосипедпен жүру кезінде пейзажды тамашалауға болатын бірінші адамға арналған бейнелер. Мен YouTube -те әр түрлі бейне опцияларының ойнату тізімін орындадым. Олар осы бірінші критерийлерге сәйкес келетін бейнелерді жүктейтін көптеген арналардан тұрады. Бұл сондай-ақ бұлтта ұшу және алғашқы жеке оқиғаларға арналған пойыздық саяхат сияқты бейнелер.

Ұсынылған: