Мазмұны:
- 1 -қадам: тиісті бағдарламалық қамтамасыз етуді компьютерге жүктеңіз
- 2 -қадам: Жабдық
- 3 -қадам: Велосипедті стационарлық велосипед тірегіне қойыңыз
- 4 -қадам: Arduino кодын жүктеңіз және тексеріңіз
- 5 -қадам: YouTube контроллерін орнатыңыз
Бейне: Нақты уақыттағы жылдамдықты реттейтін велосипед симуляторы: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Бұл жоба спидометрді жасау үшін 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 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 -те әр түрлі бейне опцияларының ойнату тізімін орындадым. Олар осы бірінші критерийлерге сәйкес келетін бейнелерді жүктейтін көптеген арналардан тұрады. Бұл сондай-ақ бұлтта ұшу және алғашқы жеке оқиғаларға арналған пойыздық саяхат сияқты бейнелер.
Ұсынылған:
Нақты уақыттағы сағат модулін қалай қолдану керек (DS3231): 5 қадам
Нақты уақыттағы модульді қалай қолдану керек (DS3231): DS3231-бұл температурасы компенсацияланған кристалды осцилляторы (TCXO) мен кристалы бар, бағасы төмен, өте дәл I2C нақты уақыт сағаты (RTC). Құрылғы аккумуляторлық кірісті қамтиды және негізгі қуат қосылған кезде дәл уақытты сақтайды
Raspberry Pi мен OpenCV көмегімен нақты уақыттағы Рубик кубының көзін байлаған шешуші: 4 қадам
Raspberry Pi мен OpenCV көмегімен Рубик текшесінің көзін байлаған шешуші: бұл Рубиктің текше құралының көзді байлап шешуге арналған екінші нұсқасы. Бірінші нұсқа JavaScript арқылы жасалған, сіз RubiksCubeBlindfolded1 жобасын көре аласызБұрынғыдан айырмашылығы, бұл нұсқа OpenCV кітапханасын пайдаланып түстерді және
Нақты уақыттағы су деңгейінің өлшегіші: 6 қадам (суреттермен)
Нақты уақыттағы ұңғыманың су деңгейін өлшеу құралы: Бұл нұсқаулар қазылған ұңғымаларда пайдалану үшін арзан, нақты уақыттағы су деңгейін өлшеуішті қалай құруға болатынын сипаттайды. Су деңгейін өлшейтін құрал қазылған ұңғыманың ішіне ілініп, су деңгейін күніне бір рет өлшеп, деректерді WiFi немесе ұялы байланыс арқылы жіберуге арналған
DIY RACING GAME симуляторы -- F1 симуляторы: 5 қадам
DIY RACING GAME симуляторы || F1 СИМуляторы: Сәлем баршаға Менің каналыма қош келдіңіз, бүгін мен сізге «Жарыс ойынының симуляторын» қалай құратынымды көрсетемін. Arduino UNO көмегімен. бұл құрастыру блогы емес, бұл тренажердің шолуы мен тесті. Толық құрастыру блогы жақында болады
Нақты уақыттағы судың температурасы, өткізгіштігі мен су деңгейін өлшеуіш: 6 қадам (суреттермен)
Нақты уақыттағы ұңғымадағы судың температурасы, өткізгіштігі мен су деңгейін өлшеуіш: Бұл нұсқаулықта температураны, электр өткізгіштігін (ЕС) және қазылған ұңғымалардағы су деңгейін бақылауға арналған арзан, нақты уақыттағы су есептегішін құру әдісі сипатталған. Есептегіш қазылған ұңғыманың ішіне ілінуге, судың температурасын өлшеуге арналған, EC және