Taula de continguts:

Simulador de bicicletes amb ajust de velocitat en temps real: 5 passos
Simulador de bicicletes amb ajust de velocitat en temps real: 5 passos

Vídeo: Simulador de bicicletes amb ajust de velocitat en temps real: 5 passos

Vídeo: Simulador de bicicletes amb ajust de velocitat en temps real: 5 passos
Vídeo: Cuando el copiloto me ensucia el sillín 👀😅 #humor #eli #motos 2024, Desembre
Anonim
Simulador de bicicletes amb ajust de velocitat en temps real
Simulador de bicicletes amb ajust de velocitat en temps real

Aquest projecte utilitza un interruptor magnètic de canya per crear un velocímetre i controlar la velocitat de vídeo dels vídeos en bicicleta en primera persona a YouTube o altres suports. L'Arduino calcula els mph i després utilitza aquesta informació per simular una pulsació de botó de l'ordinador. Aquest botó de premsa, combinat amb una extensió de Google Chrome, accelera o alenteix el vídeo en funció del canvi de velocitat. Té una configuració bàsica de maquinari que els que són principiants a Arduino poden crear fàcilment pel seu compte.

El codi del velocímetre es basa en aquest projecte:

Llista de maquinari:

1. Arduino Leonardo

2. Cable micro USB (ha de ser capaç de transferir fitxers i <3 peus)

3. Interruptor magnètic de canya

4. Resistència de 10k Ohm

5. Cable de calibre 22 (<4 peus)

6. Soldador

7. Soldar

8. Cinta elèctrica

9. Corbates de cremallera

10. Suport de bicicleta fixa

11. Bicicleta

Pas 1: baixeu el programari rellevant a l'ordinador

1. ID Arduino

2. Controlador de velocitat de vídeo (extensió del navegador web)

a. Google Chrome

b. Firefox

Pas 2: maquinari

Maquinari
Maquinari
Maquinari
Maquinari
Maquinari
Maquinari

Totes les connexions s’han de soldar juntes i gravar amb cinta elèctrica. L'Arduino es pot muntar a la bicicleta mitjançant una funda de plàstic inclosa amb l'Arduino (enllaçada a la llista de parts anterior). Això és important perquè si el metall de la bicicleta està en contacte directe amb els passadors, es podrien crear connexions no desitjades. La carcassa també té forats que fan que el cargol de la bicicleta sigui senzill. El cable de calibre 22 s’ha d’enrotllar al llarg del marc de la bicicleta i s’ha de fixar amb cintes o cremalleres. Assegureu-vos d’evitar embolicar el cable en qualsevol lloc on es pugui atrapar en mecanismes en moviment.

Pas 3: col·loqueu la bicicleta al suport de la bicicleta fixa

Fixeu la bicicleta al suport de la bicicleta fixa i assegureu-vos que estigui prou a prop de l’ordinador perquè el cable micro-USB arribi a l’ordinador. A més, assegureu-vos que la distància de visualització adequada per veure la pantalla còmodament. Aquí es pot trobar un tutorial sobre com col·locar la bicicleta de manera segura al suport.

Pas 4: pengeu i proveu el codi Arduino

Pengeu i proveu el codi Arduino
Pengeu i proveu el codi Arduino

Si no sou nou a Arduino IDE, podeu trobar una pàgina d’introducció aquí. És important tenir en compte que Leonardo requereix un cable micro-USC per carregar que tingui capacitats de transferència de fitxers. Molts cables micro-USB s’utilitzen només per carregar-se i no funcionaran. Quan l’Arduino Leonardo sigui reconegut per l’ordinador, copieu i enganxeu i pengeu el codi següent:

// Aquest codi troba la velocitat d’una bicicleta i el converteix en teclat d’ordinador

// càlculs

// radi del pneumàtic ~ 13,5 polzades // circumferència = pi * 2 * r = ~ 85 polzades // velocitat màxima de 35 mph = ~ 616 polzades / segon // velocitat màxima = ~ 7,25

#incloure

#define reed A0 // pin connectat al commutador de lectura

// variables d'emmagatzematge

int reedVal; temporitzador llarg; // temps entre una rotació completa (en ms) flotant mph; radi del flotador = 13,5; // radi del pneumàtic (en polzades) circumferència del flotador; flotador vprevious; taxa flotant;

int maxReedCounter = 100; // temps mínim (en ms) d'una rotació (per a rebouncing)

int reedCounter;

configuració nul·la () {

reedCounter = maxReedCounter; circumferència = 2 * 3,14 * radi; pinMode (reed, INPUT); Keyboard.begin (); // CONFIGURACIÓ DEL TEMPORITZADOR: la interrupció del temporitzador permet realitzar mesures temporitzades precises del commutador reed // per obtenir més informació sobre la configuració dels temporitzadors arduino, consulteu https://arduino.cc/playground/Code/Timer1 cli (); // atura les interrupcions

// Estableix la interrupció del temporitzador 1 a 1 kHz

TCCR1A = 0; // estableix el registre TCCR1A complet a 0 TCCR1B = 0; // el mateix per a TCCR1B TCNT1 = 0; // Estableix el recompte del temporitzador per increments d'1 kHz OCR1A = 1999; // = (1/1000) / ((1 / (16 * 10 ^ 6)) * 8) - 1 // activa el mode CTC TCCR1B | = (1 < <WGM12); // Estableix el bit CS11 per a 8 prescalers TCCR1B | = (1 << CS11); // habilita la interrupció de comparació del temporitzador TIMSK1 | = (1 << OCIE1A); sei (); // permet interrupcions // CONFIGURACIÓ TEMPORITZADOR FINAL Serial.begin (9600); }

ISR (TIMER1_COMPA_vect) {// Interrupció a freq de 1 kHz per mesurar el commutador de canya

reedVal = digitalRead (reed); // obtenir val d'A0 si (reedVal) {// si l'interruptor reed està tancat si (reedCounter == 0) {// el temps mínim entre els impulsos ha passat vprevious = mph; retard (500); mph = (56,8 * float (circumferència)) / float (temporitzador); // calcular milles per hora temporitzador = 0; // restablir temporitzador reedCounter = maxReedCounter; // reset reedCounter} else {if (reedCounter> 0) {// no deixeu que reedCounter sigui negatiu reedCounter - = 1; // decrement reedCounter}}} else {// si l'interruptor reed està obert si (reedCounter> 0) {// no deixeu que reedCounter sigui negatiu reedCounter - = 1; / / decrement reedCounter}} si (temporitzador> 2000) {mph = 0; // si encara no hi ha polsos nous de l'interruptor de canya, configureu mph a 0 vprevious = 0; } else {temporitzador + = 1; // temporitzador d'increment}}

void controlComp () {

if (vprevious mph) // Redueix la velocitat del vídeo {Keyboard.press ('s'); Keyboard.releaseAll (); retard (750); } if (vprevious == mph) // no feu res {; }} void loop () {// print mph dues vegades per segon Serial.print ("VPrevious:"); Serial.print ("\ t"); Serial.println (vprevious);

Serial.print ("MPH:");

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

Quan el codi s'hagi penjat correctament, obriu el monitor sèrie. Sense cap moviment de la roda posterior, el "MPH" i el "VPrevious" haurien de ser 0,00. Gireu la roda de manera que s’acceleri durant unes quantes revolucions i després ralenteixi. El monitor hauria de llegir la velocitat i el tipus d per a l’acceleració i el s per a la desacceleració. Si no apareixen valors quan es gira la roda, és possible que l'imant no sigui detectat per l'interruptor reed. Assegureu-vos que el magnètic és prou fort escoltant un soroll * clink * quan l'imant passa l'interruptor.

Pas 5: configureu el controlador de YouTube

Configureu el controlador de YouTube
Configureu el controlador de YouTube

El darrer pas és mostrar els vídeos de YouTube que voleu utilitzar per seguir-los en bicicleta. La idea és tenir vídeos en primera persona en què puguis submergir-te completament i gaudir del paisatge mentre vas en bicicleta. He complert una llista de reproducció de YouTube amb diverses opcions de vídeo. Van des de diversos canals que carreguen vídeos que coincideixen amb aquest criteri en primera persona. També són vídeos com volar a través dels núvols i viatges en tren per tot el món per a diverses aventures en primera persona.

Recomanat: