Inhaltsverzeichnis:

Fahrradsimulator mit Echtzeit-Geschwindigkeitsanpassung - Gunook
Fahrradsimulator mit Echtzeit-Geschwindigkeitsanpassung - Gunook

Video: Fahrradsimulator mit Echtzeit-Geschwindigkeitsanpassung - Gunook

Video: Fahrradsimulator mit Echtzeit-Geschwindigkeitsanpassung - Gunook
Video: Die SCHNEE-LAWINE! | Fahrrad Simulator 2024, November
Anonim
Fahrradsimulator mit Echtzeit-Geschwindigkeitsanpassung
Fahrradsimulator mit Echtzeit-Geschwindigkeitsanpassung

Dieses Projekt verwendet einen magnetischen Reed-Schalter, um einen Tachometer zu erstellen und die Videogeschwindigkeit von First-Person-Radfahrvideos auf YouTube oder anderen Medien zu steuern. Der Arduino berechnet die mph und verwendet diese Informationen dann, um einen Computertastendruck zu simulieren. Dieser Tastendruck in Verbindung mit einer Google Chrome-Erweiterung beschleunigt oder verlangsamt das Video je nach Geschwindigkeitsänderung. Es verfügt über ein grundlegendes Hardware-Setup, das Anfänger mit Arduino leicht selbst erstellen können.

Der Tachocode basiert auf diesem Projekt:

Hardware-Liste:

1. Arduino Leonardo

2. Micro-USB-Kabel (muss zur Dateiübertragung fähig sein und < 3ft)

3. Magnetischer Reed-Schalter

4. 10k Ohm Widerstand

5. 22-Gauge-Draht (< 4ft)

6. Lötkolben

7. Löten

8. Isolierband

9. Kabelbinder

10. Stationärer Fahrradständer

11. Fahrrad

Schritt 1: Laden Sie die relevante Software auf Ihren Computer herunter

1. Arduino-IDE

2. Video Speed Controller (Webbrowser-Erweiterung)

A. Google Chrome

B. Feuerfuchs

Schritt 2: Hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Alle Verbindungen sollten zusammengelötet und mit Isolierband abgeklebt werden. Der Arduino kann mit einem im Lieferumfang des Arduino enthaltenen Kunststoffkoffer (in der obigen Teileliste verlinkt) am Fahrrad montiert werden. Dies ist wichtig, denn wenn das Metall des Fahrrads in direktem Kontakt mit den Stiften steht, kann es zu unerwünschten Verbindungen kommen. Der Koffer hat auch Löcher, die das Befestigen des Koffers am Fahrrad einfach machen. Der 22-Gauge-Draht sollte entlang des Fahrradrahmens gewickelt und mit Klebeband oder Kabelbindern befestigt werden. Achten Sie darauf, den Draht nicht an Stellen zu wickeln, an denen er sich an beweglichen Mechanismen verfangen kann.

Schritt 3: Platzieren Sie das Fahrrad auf dem stationären Fahrradständer

Sichern Sie das Fahrrad im stationären Fahrradständer und stellen Sie sicher, dass es nah genug an Ihrem Computer ist, damit das Micro-USB-Kabel Ihren Computer erreichen kann. Stellen Sie außerdem sicher, dass der Betrachtungsabstand für Sie geeignet ist, um den Bildschirm bequem sehen zu können. Eine Anleitung, wie Sie Ihr Fahrrad sicher auf den Ständer stellen, finden Sie hier.

Schritt 4: Arduino-Code hochladen und testen

Arduino-Code hochladen und testen
Arduino-Code hochladen und testen

Wenn Sie neu bei Arduino IDE sind, finden Sie hier eine Einführungsseite. Es ist wichtig zu beachten, dass der Leonardo zum Hochladen ein Micro-USC-Kabel benötigt, das über Dateiübertragungsfunktionen verfügt. Viele Micro-USB-Kabel werden nur zum Aufladen verwendet und diese funktionieren nicht. Sobald der Arduino Leonardo vom Computer erkannt wird, kopieren und fügen Sie den folgenden Code ein und laden Sie ihn hoch:

//Dieser Code ermittelt die Geschwindigkeit eines Fahrrads und wandelt diese in Computertastaturdruck um

//Berechnungen

// Reifenradius ~ 13,5 Zoll // Umfang = pi * 2 * r = ~ 85 Zoll // maximale Geschwindigkeit von 35 Meilen pro Stunde = ~ 616 Zoll / Sekunde // max

#enthalten

#define Reed A0 // Pin mit Leseschalter verbunden

//Speichervariablen

int reedVal; langer Timer; // Zeit zwischen einer vollen Umdrehung (in ms) float mph; Schwimmradius = 13,5; // Reifenradius (in Zoll) Schwimmumfang; schweben vvorher; Float-Rate;

int maxReedCounter = 100;//min Zeit (in ms) einer Umdrehung (zum Entprellen)

int reedCounter;

Void-Setup () {

reedCounter = maxReedCounter; Umfang = 2*3.14*Radius; PinMode (Reed, EINGANG); Tastatur.begin(); // TIMER SETUP - der Timer-Interrupt ermöglicht präzise zeitgesteuerte Messungen des Reed-Schalters // Weitere Informationen zur Konfiguration von Arduino-Timern finden Sie unter https://arduino.cc/playground/Code/Timer1 cli (); // Stopp-Interrupts

// Timer1-Interrupt auf 1 kHz einstellen

TCCR1A = 0; // setze das gesamte TCCR1A-Register auf 0 TCCR1B = 0; // dasselbe für TCCR1B TCNT1 = 0; // Timerzähler für 1-kHz-Schritte einstellen OCR1A = 1999; // = (1/1000) / ((1/(16*10^6))*8) - 1 // CTC-Modus einschalten TCCR1B |= (1 <.) < WGM12); // Setze CS11 Bit für 8 Prescaler TCCR1B |= (1 << CS11); // Timer-Vergleichsinterrupt aktivieren TIMSK1 |= (1 << OCIE1A); sei (); // Unterbrechungen zulassen // TIMER SETUP ENDE Serial.begin (9600); }

ISR (TIMER1_COMPA_vect) {//Interrupt bei Frequenz von 1kHz um Reedschalter zu messen

reedVal = digitalRead (reed); // Wert von A0 abrufen, wenn (reedVal) {//wenn der Reed-Schalter geschlossen ist, wenn (reedCounter == 0) {//min Zeit zwischen den Impulsen vergangen ist vvorher = mph; Verzögerung (500); mph = (56,8 * Float (Umfang)) / Float (Timer); // Meilen pro Stunde berechnen Timer = 0; // Timer zurücksetzen reedCounter = maxReedCounter; // ReedCounter zurücksetzen } else{ if (reedCounter > 0) {// reedCounter nicht negativ werden lassen reedCounter -= 1; // reedCounter dekrementieren } } } else{//wenn Reedschalter offen ist if (reedCounter > 0){//reedCounter nicht negativ reedCounter gehen lassen -= 1;/ /reedCounter dekrementieren } } if (timer > 2000){ mph = 0; // wenn keine neuen Impulse vom Reed-Schalter-Reifen noch vorhanden sind, setze mph auf 0 vvorher = 0; } else{ Timer += 1; // Timer erhöhen } }

void controlComp(){

if (vvorherige mph) // Videogeschwindigkeit verlangsamen { Keyboard.press ('s'); Keyboard.releaseAll(); Verzögerung (750); } if (vvorher == mph) // Nichts tun {; aufrechtzuerhalten. aufrechtzuerhalten. Void Schleife () {//Drucken Sie mph zweimal pro Sekunde Serial.print ("VPrevious:"); Serial.print("\t"); Serial.println (vvorher);

Serial.print ("MPH:");

Serial.print("\t"); Serial.println (mph); controlComp(); }

Sobald der Code erfolgreich hochgeladen wurde, öffnen Sie den seriellen Monitor. Ohne Bewegung des Hinterrads sollten „MPH“und „VPrevious“0,00 anzeigen. Drehen Sie das Rad so, dass es einige Umdrehungen beschleunigt und dann langsamer wird. Der Monitor sollte die Geschwindigkeit ablesen und d's für Beschleunigung und s's für Verzögerung eingeben. Wenn beim Drehen des Rades keine Werte erscheinen, wird der Magnet möglicherweise nicht vom Reedschalter erkannt. Stellen Sie sicher, dass der Magnet stark genug ist, indem Sie auf ein leises *Klack*-Geräusch achten, wenn der Magnet den Schalter passiert.

Schritt 5: YouTube-Controller einrichten

YouTube-Controller einrichten
YouTube-Controller einrichten

Der letzte Schritt besteht darin, die YouTube-Videos aufzurufen, die Sie verwenden möchten, um auf Ihrem Fahrrad zu folgen. Die Idee ist, Ego-Videos zu haben, in die Sie vollständig eintauchen und die Landschaft beim Radfahren genießen können. Ich habe eine YouTube-Playlist mit einer Vielzahl von Videooptionen zusammengestellt. Sie reichen von einer Reihe von Kanälen, die Videos hochladen, die diesen First-Person-Kriterien entsprechen. Sie sind auch Videos wie das Fliegen durch Wolken und Zugfahrten über Land für verschiedene First-Person-Abenteuer.

Empfohlen: