Cuprins:

Simulator de biciclete cu reglare a vitezei în timp real: 5 pași
Simulator de biciclete cu reglare a vitezei în timp real: 5 pași

Video: Simulator de biciclete cu reglare a vitezei în timp real: 5 pași

Video: Simulator de biciclete cu reglare a vitezei în timp real: 5 pași
Video: Valeriu Coadă te învață cum să scapi într-o SITUAȚIE EXTREMĂ!! 😱😅 #tiktokromania #valeriucoada 2024, Noiembrie
Anonim
Simulator de biciclete cu reglare a vitezei în timp real
Simulator de biciclete cu reglare a vitezei în timp real

Acest proiect folosește un comutator magnetic Reed pentru a crea un vitezometru și pentru a controla viteza video a videoclipurilor de pe prima persoană pe YouTube sau pe alte medii. Arduino calculează mph și apoi folosește acele informații pentru a simula apăsarea butonului computerului. Acest buton de apăsare, asociat cu o extensie Google Chrome, accelerează sau încetinește videoclipul pe baza modificării vitezei. Are o configurare hardware de bază pe care cei care încep la Arduino o pot crea cu ușurință pe cont propriu.

Codul vitezometrului se bazează pe acest proiect:

Lista hardware:

1. Arduino Leonardo

2. Cablu micro USB (trebuie să fie capabil de transfer de fișiere și <3ft)

3. Comutator Reed magnetic

4. Rezistor 10k Ohm

5. Sârmă de gabarit 22 (<4ft)

6. Fier de lipit

7. lipit

8. Bandă electrică

9. Cravate cu fermoar

10. Suport staționar pentru biciclete

11. Bicicleta

Pasul 1: Descărcați software-ul relevant pe computer

1. IDE Arduino

2. Controler de viteză video (extensie browser web)

A. Google Chrome

b. Firefox

Pasul 2: Hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Toate conexiunile trebuie lipite împreună și lipite cu bandă electrică. Arduino poate fi montat pe bicicletă folosind o carcasă din plastic inclusă cu Arduino (legată în lista pieselor de mai sus). Acest lucru este important deoarece, dacă metalul bicicletei este în contact direct cu știfturile, ar putea crea conexiuni nedorite. Carcasa are, de asemenea, găuri care simplifică fixarea carcasei la bicicletă. Sârmă de calibru 22 ar trebui să fie înfășurată de-a lungul cadrului bicicletei și fixată cu benzi cu bandă sau fermoar. Asigurați-vă că evitați înfășurarea firului în orice loc unde acesta poate fi prins de mecanismele în mișcare.

Pasul 3: Așezați bicicleta pe suportul de biciclete staționar

Fixați bicicleta în suportul fix pentru biciclete și asigurați-vă că este suficient de aproape de computer pentru ca cablul micro-USB să ajungă la computer. De asemenea, asigurați-vă că distanța de vizualizare pentru dvs. este potrivită pentru a putea vedea confortabil ecranul. Un tutorial despre cum să așezați în siguranță bicicleta pe suport poate fi găsit aici.

Pasul 4: Încărcați și testați codul Arduino

Încărcați și testați codul Arduino
Încărcați și testați codul Arduino

Dacă sunteți nou în Arduino IDE, o pagină de introducere poate fi găsită aici. Este important să rețineți că Leonardo necesită un cablu micro-USC pentru încărcare care are capacități de transfer de fișiere. Multe cabluri micro-USB sunt folosite doar pentru încărcare și acestea nu vor funcționa. Odată ce Arduino Leonardo este recunoscut de computer, copiați și lipiți și încărcați următorul cod:

// Acest cod găsește viteza unei biciclete și o convertește în tastatura computerului

// calcule

// raza anvelopei ~ 13,5 inci // circumferinta = pi * 2 * r = ~ 85 inci // viteza maxima de 35 mph = ~ 616 inch / secunda // max rps = ~ 7,25

#include

#define reed A0 // pin conectat la comutatorul de citire

// variabile de stocare

int reedVal; temporizator lung; // timpul dintre o rotație completă (în ms) plutitor mph; raza plutitoare = 13,5; // raza anvelopei (în inci) circumferința plutitorului; float vprevious; rata de plutire;

int maxReedCounter = 100; // timp min (în ms) al unei rotații (pentru debouncing)

int reedCounter;

configurare nulă () {

reedCounter = maxReedCounter; circumferință = 2 * 3,14 * rază; pinMode (reed, INPUT); Keyboard.begin (); // TIMER SETUP- întreruperea temporizatorului permite măsurări precise temporizate ale comutatorului reed // pentru mai multe informații despre configurarea temporizatoarelor arduino vezi https://arduino.cc/playground/Code/Timer1 cli (); // stop interrupts

// setați întreruperea timer1 la 1kHz

TCCR1A = 0; // setați întregul registru TCCR1A la 0 TCCR1B = 0; // același pentru TCCR1B TCNT1 = 0; // setați numărul temporizatorului pentru creșteri de 1 kHz OCR1A = 1999; // = (1/1000) / ((1 / (16 * 10 ^ 6)) * 8) - 1 // activați modul CTC TCCR1B | = (1 < <WGM12); // Setați bitul CS11 pentru 8 prescaler TCCR1B | = (1 << CS11); // activa temporizator compara întrerupere TIMSK1 | = (1 << OCIE1A); sei (); // permit întreruperi // FINALIZARE TIMER CONFIGURARE Serial.begin (9600); }

ISR (TIMER1_COMPA_vect) {// Întrerupeți la frecvența de 1kHz pentru a măsura comutatorul reed

reedVal = digitalRead (reed); // obțineți valul lui A0 dacă (reedVal) {// dacă comutatorul reed este închis dacă (reedCounter == 0) {// timpul dintre impulsuri a trecut vprevious = mph; întârziere (500); mph = (56,8 * float (circumferință)) / float (timer); // calculați mile pe oră timer = 0; // resetare temporizator reedCounter = maxReedCounter; // reset reedCounter} else {if (reedCounter> 0) {// nu lăsați reedCounter să meargă negativ reedCounter - = 1; // decrement reedCounter}}} else {// dacă reed switch este deschis dacă (reedCounter> 0) {// nu lăsați reedCounter să meargă negativ reedCounter - = 1; / / decrement reedCounter}} if (cronometru> 2000) {mph = 0; // dacă nu există încă impulsuri noi de la comutatorul reed, setați mph la 0 vprevious = 0; } else {timer + = 1; // increment cronometru}}

void controlComp () {

if (vprevious mph) // Reduce viteza video {Keyboard.press ('s'); Keyboard.releaseAll (); întârziere (750); } if (vprevious == mph) // nu face nimic {; }} void loop () {// print mph de două ori pe secundă Serial.print ("VPrevious:"); Serial.print ("\ t"); Serial.println (vprevious);

Serial.print ("MPH:");

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

Odată ce codul este încărcat cu succes, deschideți monitorul serial. Fără mișcare a roții din spate, „MPH” și „VPrevious” ar trebui să citească 0,00. Rotiți roata astfel încât să se accelereze pentru câteva rotații și apoi să încetinească. Monitorul ar trebui să citească viteza și tastați d pentru accelerare și s pentru decelerare. Dacă nu apar valori atunci când roata este rotită, magnetul nu poate fi detectat de comutatorul reed. Asigurați-vă că magnetul este suficient de puternic ascultând un zgomot de ieșire * clink * când magnetul trece de comutator.

Pasul 5: configurați controlerul YouTube

Configurați controlerul YouTube
Configurați controlerul YouTube

Ultimul pas este să afișezi videoclipurile YouTube pe care dorești să le folosești pentru a le urmări pe bicicletă. Ideea este să aveți videoclipuri de la prima persoană în care să vă puteți scufunda pe deplin și să vă bucurați de peisaj în timp ce mergeți cu bicicleta. Am respectat o listă de redare YouTube cu o varietate de opțiuni video. Acestea variază de la un număr de canale care încarcă videoclipuri care corespund acestui criteriu pentru persoana întâi. Sunt, de asemenea, videoclipuri cum ar fi zborul prin nori și excursii cu trenul pentru o varietate de aventuri la persoana întâi.

Recomandat: