Съдържание:
- Стъпка 1: Изтеглете съответния софтуер на вашия компютър
- Стъпка 2: Хардуер
- Стъпка 3: Поставете велосипеда върху неподвижна стойка за велосипеди
- Стъпка 4: Качете и тествайте кода на Arduino
- Стъпка 5: Настройте YouTube Controller
Видео: Велосипеден симулатор с регулиране на скоростта в реално време: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Този проект използва магнитен тръстиков превключвател, за да създаде скоростомер и да контролира скоростта на видеоклиповете на видеоклипове от първо лице в YouTube или други медии. Arduino изчислява мили / ч и след това използва тази информация, за да симулира натискането на компютърен бутон. Това натискане на бутон, сдвоено с разширение на Google Chrome, ускорява или забавя видеоклипа въз основа на промяната в скоростта. Той има основна хардуерна настройка, която тези, които са начинаещи в Arduino, могат лесно да създадат сами.
Кодът на скоростомера се основава на този проект:
Списък на хардуера:
1. Ардуино Леонардо
2. Микро USB кабел (трябва да може да предава файлове и <3 фута)
3. Магнитен геркон
4. 10k Ohm резистор
5. 22 проводник (<4 фута)
6. Поялник
7. Припой
8. Електрическа лента
9. Връзки с цип
10. Стационарна стойка за велосипеди
11. Велосипед
Стъпка 1: Изтеглете съответния софтуер на вашия компютър
1. IDE на Arduino
2. Контролер за скорост на видео (разширение за уеб браузър)
а. Google Chrome
б. Firefox
Стъпка 2: Хардуер
Всички връзки трябва да бъдат запоени заедно и залепени с електрическа лента. Arduino може да се монтира на мотора с помощта на пластмасов калъф, включен в Arduino (свързан в списъка с части по -горе). Това е важно, защото ако металът на велосипеда е в пряк контакт с щифтовете, това може да създаде нежелани връзки. Калъфът също има дупки, които улесняват закрепването на калъфа към мотора. Жицата с габарит 22 трябва да бъде увита по рамката на мотора и закрепена с лента или цип. Внимавайте да не увивате жицата на места, където тя може да се захване за движещи се механизми.
Стъпка 3: Поставете велосипеда върху неподвижна стойка за велосипеди
Закрепете мотора в неподвижната стойка за велосипеди и се уверете, че е достатъчно близо до вашия компютър, за да може микро-USB кабелът да достигне до вашия компютър. Също така се уверете, че разстоянието за гледане за вас е подходящо, за да можете удобно да виждате екрана. Урок за това как безопасно да поставите мотора си на стойката можете да намерите тук.
Стъпка 4: Качете и тествайте кода на Arduino
Ако сте нов в Arduino IDE, тук може да се намери страница за въвеждане. Важно е да се отбележи, че Leonardo изисква микро-USC кабел за качване, който има възможности за прехвърляне на файлове. Много микро-USB кабели се използват само за зареждане и те няма да работят. След като Arduino Leonardo бъде разпознат от компютъра, копирайте и поставете и качете следния код:
// Този код намира скоростта на велосипеда и го преобразува в натискане на компютърна клавиатура
// изчисления
// радиус на гумата ~ 13,5 инча // обиколка = pi*2*r = ~ 85 инча // максимална скорост от 35 мили в час = ~ 616 инча/секунда // макс обороти = ~ 7,25
#включва
#дефинирайте тръстика A0 // щифт, свързан към превключвателя за четене
// променливи за съхранение
int reedVal; дълъг таймер; // време между едно пълно завъртане (в ms) плаващ mph; радиус на поплавъка = 13,5; // радиус на гумата (в инчове) обиколка на поплавъка; поплавък vprevious; плаваща ставка;
int maxReedCounter = 100; // мин. време (в ms) на едно завъртане (за отстраняване)
int reedCounter;
void setup () {
reedCounter = maxReedCounter; обиколка = 2*3,14*радиус; pinMode (тръстика, INPUT); Keyboard.begin (); // ТАЙМЕРНА НАСТРОЙКА- прекъсването на таймера позволява прецизни времеви измервания на тръстиковия превключвател // за повече информация относно конфигурирането на таймери за arduino вижте https://arduino.cc/playground/Code/Timer1 cli (); // спиране прекъсва
// задаване на таймер1 прекъсване на 1kHz
TCCR1A = 0; // задайте целия регистър на TCCR1A на 0 TCCR1B = 0; // същото за TCCR1B TCNT1 = 0; // задаване на брояча на таймера за 1khz стъпки OCR1A = 1999; // = (1/1000)/((1/(16*10^6))*8) - 1 // включване на режим CTC TCCR1B | = (1 < <WGM12); // Задайте бит CS11 за 8 предскалител TCCR1B | = (1 << CS11); // активиране на таймера за сравнение прекъсване TIMSK1 | = (1 << OCIE1A); sei (); // разрешаване на прекъсвания // НАСТРОЙКА НА КРАЙНИЯ ТАЙМЕР Serial.begin (9600); }
ISR (TIMER1_COMPA_vect) {// Прекъсване при честота от 1 kHz за измерване на геркон
reedVal = digitalRead (reed); // получавам стойност на A0 if (reedVal) {// ако превключвателят на тръстиката е затворен if (reedCounter == 0) {// мин. време между импулсите е преминало vprevious = mph; забавяне (500); mph = (56.8*float (обиколка))/float (timer); // изчисляване на мили в час timer = 0; // нулиране на таймера reedCounter = maxReedCounter; // нулиране на reedCounter} else {if (reedCounter> 0) {// не позволявайте на reedCounter да премине отрицателно reedCounter -= 1; // намалете reedCounter}}} else {// ако превключвателят на тръстиката е отворен if (reedCounter> 0) {// не позволявайте на reedCounter да премине отрицателно reedCounter -= 1;/ /decrement reedCounter}} if (таймер> 2000) {mph = 0; // ако няма нови импулси от гумата на тръстиковия превключвател не е спряла, задайте mph на 0 vprevious = 0; } else {timer += 1; // таймер за увеличаване}}
void controlComp () {
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 (mph); controlComp (); }
След като кодът бъде качен успешно, отворете серийния монитор. Без движение на задното колело “MPH” и “VPrevious” трябва да отчитат 0,00. Завъртете колелото, така че да се ускори за няколко оборота и след това да се забави. Мониторът трябва да отчита скоростта и тип d за ускорение и s за забавяне. Ако при завъртане на колелото не се появят стойности, магнитът може да не бъде открит от превключвателя. Уверете се, че магнитът е достатъчно силен, като слушате за прекъсване * шум * шум, когато магнитът премине превключвателя.
Стъпка 5: Настройте YouTube Controller
Последната стъпка е да изведете видеоклиповете в YouTube, които искате да използвате, за да ги следвате на мотора си. Идеята е да имате видеоклипове от първо лице, в които да се потопите напълно и да се насладите на природата, докато карате колело. Спазих плейлист на YouTube за различни опции за видео. Те варират от редица канали, които качват видеоклипове, които отговарят на този критерий от първо лице. Те са и видеоклипове като летене през облаци и пътувания с влак за различни пътешествия от първо лице.
Препоръчано:
Как да използвате модул с часовник в реално време (DS3231): 5 стъпки
Как да използвате модул с часовник в реално време (DS3231): DS3231 е евтин, изключително точен I2C часовник в реално време (RTC) с интегриран температурно компенсиран кристален осцилатор (TCXO) и кристал. Устройството включва вход за батерия и поддържа точно отчитане на времето, когато основното захранване
Ръководител на кубика на Рубик със затворени очи в реално време, използващ Raspberry Pi и OpenCV: 4 стъпки
Решавач на куб Рубик в реално време със завързани очи, използващ Raspberry Pi и OpenCV: Това е втората версия на инструмента за куб на Рубик, създаден за решаване на завързани очи. Първата версия е разработена от javascript, можете да видите проекта RubiksCubeBlindfolded1 За разлика от предишната, тази версия използва OpenCV библиотека за откриване на цветовете и
Измервател на нивото на водата в кладенец в реално време: 6 стъпки (със снимки)
Измервател на нивото на водата в кладенец в реално време: Тези инструкции описват как да се изгради евтин водомер в реално време за използване в изкопани кладенци. Измервателят на нивото на водата е проектиран да виси в изкопан кладенец, да измерва нивото на водата веднъж на ден и да изпраща данните чрез WiFi или клетъчна връзка
Разпознаване на устройства в реално време с помощта на ЕМ стъпки: 6 стъпки
Разпознаване на устройства в реално време с помощта на ЕМ стъпки: Това устройство е предназначено да класифицира различни електронни устройства според техните ЕМ сигнали. За различните устройства те имат различни ЕМ сигнали, излъчвани от него. Ние разработихме решение за IoT за идентифициране на електронните устройства, използващи частици
Отворен (велосипеден) клас симулатор - OpenGradeSIM: 6 стъпки
Open (Bicycle) Grade Simulator - OpenGradeSIM: Въведение Някои известни американски фитнес компании (Wahoo) наскоро представиха страхотна помощ за тренировки на закрито, която повдига и спуска предната част на мотора на турбо тренажора според симулираната степен на хълм, която потребителят езда (това