Оглавление:

Велосипедный симулятор с регулировкой скорости в реальном времени: 5 шагов
Велосипедный симулятор с регулировкой скорости в реальном времени: 5 шагов

Видео: Велосипедный симулятор с регулировкой скорости в реальном времени: 5 шагов

Видео: Велосипедный симулятор с регулировкой скорости в реальном времени: 5 шагов
Видео: Когда тренер - твой друг😏 2024, Ноябрь
Anonim
Велосипедный симулятор с регулировкой скорости в реальном времени
Велосипедный симулятор с регулировкой скорости в реальном времени

В этом проекте используется герконовый переключатель для создания спидометра и управления скоростью видео от первого лица на YouTube или других носителях. Arduino вычисляет миль в час, а затем использует эту информацию для имитации нажатия кнопки компьютера. Это нажатие кнопки в сочетании с расширением Google Chrome ускоряет или замедляет видео в зависимости от изменения скорости. Он имеет базовую настройку оборудования, которую новички в Arduino могут легко создать самостоятельно.

Код спидометра основан на этом проекте:

Список оборудования:

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

2. Кабель Micro USB (должен быть способен передавать файлы и иметь длину <3 фута)

3. Магнитный геркон.

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

5. Провод калибра 22 (<4 фута)

6. Паяльник.

7. Припой

8. Электрическая лента

9. Застежки-молнии.

10. Стационарная подставка для велосипедов.

11. Велосипед

Шаг 1. Загрузите соответствующее программное обеспечение на свой компьютер

1. Arduino IDE

2. Контроллер скорости видео (расширение для веб-браузера)

а. Гугл Хром

б. Fire Fox

Шаг 2: Оборудование

Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение
Аппаратное обеспечение

Все соединения должны быть спаяны и заклеены изолентой. Arduino можно установить на велосипед с помощью пластикового футляра, входящего в комплект Arduino (ссылка на него приведена в списке деталей выше). Это важно, потому что, если металл велосипеда находится в прямом контакте со штифтами, он может создавать нежелательные соединения. В чехле также есть отверстия, которые упрощают его привязку к велосипеду на молнии. Проволока 22-го калибра должна быть обернута вдоль рамы велосипеда и закреплена лентой или стяжками. Старайтесь не наматывать провод в местах, где он может зацепиться за движущиеся механизмы.

Шаг 3. Поместите велосипед на стационарную подставку для велосипеда

Закрепите велосипед на стационарной подставке для велосипеда и убедитесь, что он расположен достаточно близко к компьютеру, чтобы шнур micro-USB мог дотянуться до вашего компьютера. Кроме того, убедитесь, что расстояние просмотра подходит для вас, чтобы можно было удобно видеть экран. Здесь можно найти руководство о том, как надежно поставить велосипед на подставку.

Шаг 4: Загрузите и протестируйте код Arduino

Загрузите и протестируйте код Arduino
Загрузите и протестируйте код Arduino

Если вы новичок в Arduino IDE, здесь можно найти вводную страницу. Важно отметить, что для загрузки Leonardo требуется кабель micro-USC с возможностью передачи файлов. Многие кабели micro-USB используются только для зарядки, и они не работают. Как только компьютер распознает Arduino Leonardo, скопируйте, вставьте и загрузите следующий код:

// Этот код находит скорость велосипеда и преобразует ее в нажатие на клавиатуре компьютера

// расчеты

// радиус шины ~ 13,5 дюйма // окружность = pi * 2 * r = ~ 85 дюймов // максимальная скорость 35 миль в час = ~ 616 дюймов / секунду // максимальная скорость вращения = ~ 7,25

#включают

#define reed A0 // контакт, подключенный к переключателю чтения

// переменные хранения

int reedVal; long timer; // время между одним полным оборотом (в мс) float mph; float radius = 13.5; // радиус шины (в дюймах) float circle; float vprevious; курс плавания;

int maxReedCounter = 100; // минимальное время (в мс) одного поворота (для устранения неполадок)

int reedCounter;

void setup () {

reedCounter = maxReedCounter; окружность = 2 * 3,14 * радиус; pinMode (язычок, ВХОД); Keyboard.begin (); // НАСТРОЙКА ТАЙМЕРА - прерывание по таймеру позволяет точно измерять геркон по времени // для получения дополнительной информации о настройке таймеров Arduino см. Http://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 (); // разрешить прерывания // ЗАВЕРШИТЬ УСТАНОВКУ ТАЙМЕРА Serial.begin (9600); }

ISR (TIMER1_COMPA_vect) {// Прерывание на частоте 1 кГц для измерения геркона

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; / / декремент reedCounter}} if (timer> 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 () {// печать миль в час дважды за секунду Serial.print ("VPrevious:"); Serial.print ("\ t"); Serial.println (предыдущий);

Serial.print ("миль в час:");

Serial.print ("\ t"); Serial.println (миль / ч); controlComp (); }

После успешной загрузки кода откройте монитор последовательного порта. Если заднее колесо не движется, значения «MPH» и «VPrevious» должны быть 0,00. Поверните колесо так, чтобы оно увеличилось на несколько оборотов, а затем замедлилось. Монитор должен считывать скорость и тип d для ускорения и s для замедления. Если никакие значения не появляются при вращении колеса, возможно, геркон не обнаружит магнит. Убедитесь, что магнит достаточно силен, прислушиваясь к звуку прекращения * звона *, когда магнит проходит мимо переключателя.

Шаг 5. Настройте Контроллер YouTube

Настроить YouTube Controller
Настроить YouTube Controller

Последний шаг - вызвать на YouTube видео, которые вы хотите использовать, чтобы следить за ними на велосипеде. Идея состоит в том, чтобы сделать видео от первого лица, в которые вы сможете полностью погрузиться и наслаждаться пейзажем во время езды на велосипеде. Я составил плейлист YouTube с различными вариантами видео. Они варьируются от ряда каналов, которые загружают видео, соответствующие этому критерию от первого лица. Это также видеоролики, такие как полет через облака и поездка на поезде по пересеченной местности для различных приключений от первого лица.

Рекомендуемые: