Spisu treści:
- Krok 1: Pobierz odpowiednie oprogramowanie na swój komputer
- Krok 2: Sprzęt
- Krok 3: Umieść rower na stojaku stacjonarnym
- Krok 4: Prześlij i przetestuj kod Arduino
- Krok 5: Skonfiguruj kontroler YouTube
Wideo: Symulator roweru z regulacją prędkości w czasie rzeczywistym: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:30
Ten projekt wykorzystuje magnetyczny kontaktron do tworzenia prędkościomierza i kontrolowania prędkości wideo pierwszoosobowych filmów rowerowych na YouTube lub innych mediach. Arduino oblicza mph, a następnie wykorzystuje te informacje do symulacji naciśnięcia przycisku komputera. To naciśnięcie przycisku w połączeniu z rozszerzeniem Google Chrome przyspiesza lub spowalnia wideo w zależności od zmiany prędkości. Ma podstawową konfigurację sprzętową, którą osoby początkujące w Arduino mogą łatwo stworzyć samodzielnie.
Kod prędkościomierza oparty jest na tym projekcie:
Lista sprzętu:
1. Arduino Leonardo
2. Kabel Micro USB (musi być w stanie przesyłać pliki i <3 stopy)
3. Magnetyczny kontaktron
4. Rezystor 10k Ohm
5. Przewód o grubości 22 (<4 stopy)
6. Lutownica
7. Lutowane
8. Taśma elektryczna
9. Krawaty na suwak
10. Stacjonarny stojak na rowery
11. Rower
Krok 1: Pobierz odpowiednie oprogramowanie na swój komputer
1. Środowisko Arduino
2. Kontroler prędkości wideo (rozszerzenie przeglądarki internetowej)
a. Google Chrome
b. Firefox
Krok 2: Sprzęt
Wszystkie połączenia powinny być ze sobą zlutowane i oklejone taśmą elektryczną. Arduino można zamontować na rowerze za pomocą plastikowej obudowy dołączonej do Arduino (powiązanej na powyższej liście części). Jest to ważne, ponieważ jeśli metal roweru styka się bezpośrednio ze szpilkami, może tworzyć niepożądane połączenia. Pokrowiec posiada również otwory, które ułatwiają przypięcie pokrowca do roweru. Przewód o rozmiarze 22 powinien być owinięty wzdłuż ramy roweru i zabezpieczony taśmą lub opaskami zaciskowymi. Uważaj, aby nie owijać drutu w miejscach, w których może on zaczepić o ruchome mechanizmy.
Krok 3: Umieść rower na stojaku stacjonarnym
Przymocuj rower do stacjonarnego stojaka rowerowego i upewnij się, że znajduje się on wystarczająco blisko komputera, aby przewód micro-USB mógł dotrzeć do komputera. Upewnij się również, że odległość oglądania jest odpowiednia, aby móc wygodnie widzieć ekran. Samouczek dotyczący bezpiecznego umieszczania roweru na stojaku można znaleźć tutaj.
Krok 4: Prześlij i przetestuj kod Arduino
Jeśli jesteś nowy w Arduino IDE, stronę wprowadzającą można znaleźć tutaj. Ważne jest, aby pamiętać, że Leonardo wymaga kabla micro-USC do przesyłania, który ma możliwość przesyłania plików. Wiele kabli micro-USB służy tylko do ładowania i te nie będą działać. Po rozpoznaniu Arduino Leonardo przez komputer skopiuj i wklej i prześlij następujący kod:
//Ten kod wyszukuje prędkość roweru i zamienia ją na naciśnięcie klawiatury komputera
//obliczenia
//promień opony ~ 13,5 cala //obwód = pi*2*r =~85 cali //maksymalna prędkość 35 mil na godzinę =~ 616 cali/sekundę //maks. obr./s =~7,25
#włączać
#Define reed A0//pin podłączony do przełącznika odczytu
//przechowywanie zmiennych
int reedVal; długi timer;// czas pomiędzy jednym pełnym obrotem (w ms) float mph; promień pływania = 13.5;// promień opony (w calach) obwód pływaka; pływak vpoprzedni; płynność;
int maxReedCounter = 100;//min czas (w ms) jednego obrotu (dla odbicia)
int licznik trzciny;
pusta konfiguracja (){
ReedCounter = maxReedCounter; obwód = 2*3,14*promień; pinMode(stroik, INPUT); Klawiatura.początek(); // TIMER SETUP- przerwanie timera umożliwia precyzyjne pomiary czasowe kontaktronu //więcej informacji o konfiguracji timerów arduino na https://arduino.cc/playground/Code/Timer1 cli();//stop interrupts
//ustaw przerwanie timera1 na 1kHz
TCCR1A = 0;// ustaw cały rejestr TCCR1A na 0 TCCR1B = 0;// to samo dla TCCR1B TCNT1 = 0; //ustaw licznik czasu dla przyrostów 1kHz OCR1A = 1999;// = (1/1000) / ((1/(16*10^6))*8) - 1 //włącz tryb CTC TCCR1B |= (1 < < WGM12); // Ustaw bit CS11 dla 8 preskalerów TCCR1B |= (1 << CS11); // włącz timer porównaj przerwanie TIMSK1 |= (1 << OCIE1A); sei();//zezwalaj na przerwania //USTAWIENIA ZEGARA KONIECOWEGO Serial.begin(9600); }
ISR(TIMER1_COMPA_vect) {//Przerwanie przy częstotliwości 1kHz w celu pomiaru kontaktronu
reedVal = digitalRead(reed);//uzyskaj wartość A0 if (reedVal){//jeśli kontaktron jest zamknięty if (reedCounter == 0){//min upłynął czas między impulsami vprevious = mph; opóźnienie (500); mph = (56.8*float(circumference))/float(timer);//oblicz mile na godzinę timer = 0;//resetuj licznik reedCounter = maxReedCounter;//reset reedCounter } else{ if (reedCounter > 0){// nie pozwól, aby reedCounter przeszedł ujemny reedCounter -= 1;//decrement reedCounter } } } else{//if kontaktron jest otwarty if (reedCounter > 0){//nie pozwól, aby reedCounter przeszedł ujemny reedCounter -= 1;/ /decrement reedCounter } } if (timer > 2000){ mph = 0;//jeśli nie ma nowych impulsów z kontaktronu- opona jest nadal, ustaw mph na 0 vprevious = 0; } else{ timer += 1;//inkrementuj timer } }
void controlComp(){
if (vprevious mph) //Zwolnij prędkość wideo { Keyboard.press('s'); Keyboard.releaseAll(); opóźnienie(750); } if (vprevious == mph) //nic nie rób {; } } void loop(){ //print mph dwa razy na sekundę Serial.print("VPrevious:"); Serial.print("\t"); Serial.println(vpoprzedni);
Serial.print("MPH:");
Serial.print("\t"); Serial.println(mph); controlComp(); }
Po pomyślnym przesłaniu kodu otwórz monitor szeregowy. Bez ruchu tylnego koła, „MPH” i „VPrevious” powinny wskazywać 0,00. Obróć koło tak, aby przyspieszyło przez kilka obrotów, a następnie zwolniło. Monitor powinien odczytać prędkość i wpisać d dla przyspieszenia i s dla zwalniania. Jeśli podczas obracania koła nie pojawiają się żadne wartości, magnes może nie zostać wykryty przez kontaktron. Upewnij się, że magnes jest wystarczająco silny, nasłuchując, czy nie słychać *brzęczenia*, gdy magnes przechodzi przez przełącznik.
Krok 5: Skonfiguruj kontroler YouTube
Ostatnim krokiem jest wyświetlenie filmów z YouTube, które chcesz wykorzystać do śledzenia na rowerze. Chodzi o to, aby mieć filmy z perspektywy pierwszej osoby, w których można w pełni zanurzyć się i cieszyć krajobrazem podczas jazdy na rowerze. Użyłem listy odtwarzania YouTube z różnymi opcjami wideo. Obejmują one wiele kanałów, które przesyłają filmy spełniające te kryteria pierwszej osoby. Są to również filmy, takie jak latanie przez chmury i podróże koleją przełajową dla różnych przygód z perspektywy pierwszej osoby.
Zalecana:
Miernik poziomu wody w studni w czasie rzeczywistym: 6 kroków (ze zdjęciami)
Miernik poziomu wody w studni w czasie rzeczywistym: Te instrukcje opisują, jak zbudować tani miernik poziomu wody w czasie rzeczywistym do użytku w studniach kopanych. Miernik poziomu wody jest przeznaczony do zawieszenia w wykopanej studni, pomiaru poziomu wody raz dziennie i przesyłania danych przez WiFi lub połączenie komórkowe
DIY SYMULATOR GRY WYŚCIGOWEJ -- SYMULATOR F1: 5 kroków
DIY SYMULATOR GRY WYŚCIGOWEJ || SYMULATOR F1: Witam wszystkich witam na moim kanale, dzisiaj pokażę wam, jak buduję „symulator gry wyścigowej”; z pomocą Arduino UNO. to nie jest blog o kompilacji, to tylko przegląd i test symulatora. Kompletny blog o kompilacji już wkrótce
Miernik temperatury, przewodności i poziomu wody w studni w czasie rzeczywistym: 6 kroków (ze zdjęciami)
Miernik temperatury wody w studni w czasie rzeczywistym, przewodności i poziomu wody: Instrukcje te opisują, jak zbudować tani wodomierz w czasie rzeczywistym do monitorowania temperatury, przewodności elektrycznej (EC) i poziomu wody w studniach wykopanych. Miernik przeznaczony jest do zawieszenia w wykopanej studni, pomiaru temperatury wody, EC i
Symulator prędkości do gier wyścigowych lub symulatorów Coaster: 5 kroków (ze zdjęciami)
Speed Simulator do gier wyścigowych lub symulatorów Coaster: prosty projekt, wentylator wdmuchuje powietrze w twoją twarz zgodnie z prędkością gry. Łatwe do zrobienia i zabawne
Wentylator biurkowy z regulacją prędkości: 5 kroków
Wentylator biurkowy z kontrolą prędkości: jak kontrolować prędkość wentylatorów komputera i zamienić go w wentylator biurkowy?