Inhaltsverzeichnis:
- Schritt 1: Laden Sie die relevante Software auf Ihren Computer herunter
- Schritt 2: Hardware
- Schritt 3: Platzieren Sie das Fahrrad auf dem stationären Fahrradständer
- Schritt 4: Arduino-Code hochladen und testen
- Schritt 5: YouTube-Controller einrichten
Video: Fahrradsimulator mit Echtzeit-Geschwindigkeitsanpassung - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
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
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
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
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:
Heimwerken -- Einen Spinnenroboter herstellen, der mit einem Smartphone mit Arduino Uno gesteuert werden kann – wikiHow
Heimwerken || Wie man einen Spider-Roboter herstellt, der mit einem Smartphone mit Arduino Uno gesteuert werden kann: Während man einen Spider-Roboter baut, kann man so viele Dinge über Robotik lernen. Wie die Herstellung von Robotern ist sowohl unterhaltsam als auch herausfordernd. In diesem Video zeigen wir Ihnen, wie Sie einen Spider-Roboter bauen, den wir mit unserem Smartphone (Androi
Bewegungsaktivierte Cosplay Wings mit Circuit Playground Express - Teil 1: 7 Schritte (mit Bildern)
Bewegungsaktivierte Cosplay-Flügel mit Circuit Playground Express - Teil 1: Dies ist Teil 1 eines zweiteiligen Projekts, in dem ich Ihnen meinen Prozess zur Herstellung eines Paars automatisierter Feenflügel zeige. Der erste Teil des Projekts ist der Mechanik der Flügel, und der zweite Teil macht es tragbar und fügt die Flügel hinzu
Raspberry Pi mit Node.js mit der Cloud verbinden – wikiHow
So verbinden Sie Raspberry Pi mit Node.js mit der Cloud: Dieses Tutorial ist nützlich für alle, die einen Raspberry Pi mit Node.js mit der Cloud, insbesondere mit der AskSensors IoT-Plattform, verbinden möchten. Sie haben keinen Raspberry Pi? Wenn Sie derzeit keinen Raspberry Pi besitzen, empfehle ich Ihnen, sich einen Raspberry Pi zuzulegen
MicroPython-Programm: Aktualisieren Sie die Daten der Coronavirus-Krankheit (COVID-19) in Echtzeit – wikiHow
MicroPython-Programm: Daten zur Coronavirus-Krankheit (COVID-19) in Echtzeit aktualisieren: In den letzten Wochen hat die Zahl der bestätigten Fälle der Coronavirus-Krankheit (COVID 19) weltweit 100.000 überschritten, und die Weltgesundheitsorganisation (WHO) hat die Der neue Ausbruch einer Coronavirus-Pneumonie soll eine globale Pandemie sein. Ich war sehr
Gesichtserkennung in Echtzeit: ein End-to-End-Projekt – wikiHow
Echtzeit-Gesichtserkennung: ein End-to-End-Projekt: In meinem letzten Tutorial zur Erkundung von OpenCV haben wir AUTOMATIC VISION OBJECT TRACKING gelernt. Jetzt werden wir unsere PiCam verwenden, um Gesichter in Echtzeit zu erkennen, wie Sie unten sehen können: Dieses Projekt wurde mit dieser fantastischen "Open Source Computer Vision Library&qu