Sadržaj:

Simulator bicikla s podešavanjem brzine u stvarnom vremenu: 5 koraka
Simulator bicikla s podešavanjem brzine u stvarnom vremenu: 5 koraka
Anonim
Simulator bicikla s podešavanjem brzine u stvarnom vremenu
Simulator bicikla s podešavanjem brzine u stvarnom vremenu

Ovaj projekt koristi magnetski trstični prekidač za stvaranje brzinomera i kontrolu brzine videozapisa biciklističkih videozapisa iz prve osobe na YouTubeu ili drugim medijima. Arduino izračunava milju na sat, a zatim koristi te podatke za simuliranje pritiska računala. Ovaj pritisak na gumb, uparen s proširenjem Google Chrome, ubrzava ili usporava videozapis na temelju promjene brzine. Ima osnovni hardverski postav koji oni koji su početnici u Arduinu mogu lako sami stvoriti.

Kôd brzinomera temelji se na ovom projektu:

Popis hardvera:

1. Arduino Leonardo

2. Mikro USB kabel (mora biti sposoban za prijenos datoteka i <3ft)

3. Magnetski trstični prekidač

4. 10k Ohm otpornik

5. 22 žica mjerača (<4ft)

6. Lemilica

7. Lemljenje

8. Električna traka

9. Zip kravate

10. Stacionarni stalak za bicikl

11. Bicikl

Korak 1: Preuzmite odgovarajući softver na svoje računalo

1. Arduino IDE

2. Kontroler brzine videa (proširenje web preglednika)

a. Google Chrome

b. Firefox

Korak 2: Hardver

Hardver
Hardver
Hardver
Hardver
Hardver
Hardver

Svi spojevi trebaju biti zalemljeni i zalijepljeni električnom trakom. Arduino se može montirati na bicikl pomoću plastičnog kućišta uključenog u Arduino (povezano na gornji popis dijelova). To je važno jer ako je metal bicikla u izravnom dodiru s iglama, mogao bi stvoriti neželjene veze. Kućište također ima rupe koje olakšavaju zatvaranje kućišta biciklom pomoću patentnog zatvarača. Žicu mjerača 22 treba omotati duž okvira bicikla i učvrstiti trakom ili patentnim zatvaračima. Izbjegavajte omotavanje žice na mjestima gdje se može zakačiti za pokretne mehanizme.

Korak 3: Postavite bicikl na stacionarno postolje za bicikl

Učvrstite bicikl u stacionarno postolje za bicikl i pobrinite se da je dovoljno blizu vašeg računala da mikro-USB kabel dođe do vašeg računala. Također, pobrinite se da vam udaljenost gledanja odgovara da biste mogli udobno vidjeti zaslon. Vodič o tome kako sigurno postaviti bicikl na postolje možete pronaći ovdje.

Korak 4: Prenesite i testirajte Arduino kod

Prenesite i testirajte Arduino kod
Prenesite i testirajte Arduino kod

Ako ste tek počeli s Arduino IDE -om, ovdje se nalazi stranica s uvodom. Važno je napomenuti da Leonardu za prijenos treba mikro-USC kabel koji ima mogućnosti prijenosa datoteka. Mnogi mikro-USB kabeli koriste se samo za punjenje i oni neće raditi. Nakon što računalo prepozna Arduino Leonardo, kopirajte i zalijepite i prenesite sljedeći kod:

// Ovaj kôd pronalazi brzinu bicikla i pretvara je u računalni pritisak na tipkovnici

// izračuni

// radijus gume ~ 13,5 inča // opseg = pi*2*r = ~ 85 inča // maksimalna brzina 35mph = ~ 616inches/second // max rps = ~ 7,25

#uključi

#define trska A0 // pin spojen na prekidač za čitanje

// memorijske varijable

int reedVal; long timer; // vrijeme između jedne potpune rotacije (u ms) float mph; polumjer plovka = 13,5; // radijus gume (u inčima) opseg plovka; plovak vprethodni; float rate;

int maxReedCounter = 100; // min vrijeme (u ms) jedne rotacije (za debouncing)

int reedCounter;

void setup () {

reedCounter = maxReedCounter; opseg = 2*3,14*polumjer; pinMode (trska, ULAZ); Keyboard.begin (); // POSTAVLJANJE TIMERA- prekid timera dopušta precizna mjerenja vremena trska prekidača // za više informacija o konfiguraciji arduino mjerača pogledajte https://arduino.cc/playground/Code/Timer1 cli (); // zaustavlja prekide

// postavljanje prekidača timer1 na 1kHz

TCCR1A = 0; // cijeli TCCR1A registar postavite na 0 TCCR1B = 0; // isto za TCCR1B TCNT1 = 0; // postavljanje brojača vremena za korake od 1 kHz OCR1A = 1999; // = (1/1000)/((1/(16*10^6))*8) - 1 // uključuje CTC način rada TCCR1B | = (1 < <WGM12); // Postavite bit CS11 za 8 predskaler TCCR1B | = (1 << CS11); // omogući timer usporedi prekid TIMSK1 | = (1 << OCIE1A); sei (); // dopusti prekide // POSTAVKA VREMENSKOG VREMENA Serial.begin (9600); }

ISR (TIMER1_COMPA_vect) {// Prekid na frekvenciji od 1 kHz za mjerenje trska

reedVal = digitalRead (reed); // dobiti val od A0 if (reedVal) {// ako je trska sklopka zatvorena if (reedCounter == 0) {// min je vrijeme između impulsa prošlo vprethodno = mph; kašnjenje (500); mph = (56,8*float (opseg))/float (timer); // izračunavanje kilometara na sat timer = 0; // resetiranje mjerača vremena reedCounter = maxReedCounter; // resetiranje reedCounter} else {if (reedCounter> 0) {// ne dopustite da reedCounter ide negativno reedCounter -= 1; // deredment reedCounter}}} else {// ako je trska sklopka otvorena if (reedCounter> 0) {// ne dopustite da reedCounter ide negativno reedCounter -= 1;/ /decrement reedCounter}} if (timer> 2000) {mph = 0; // ako nema novih impulsa iz gume za trstiku, postavite mph na 0 vprethodno = 0; } else {timer += 1; // mjerač povećanja}}

void controlComp () {

if (vprethodni km /h) // Uspori video brzinu {Keyboard.press ('s'); Keyboard.releaseAll (); kašnjenje (750); } if (vprevious == mph) // ne poduzimati ništa {; }} void loop () {// ispis mph dvaput u sekundi Serial.print ("VPrevious:"); Serial.print ("\ t"); Serial.println (vprethodni);

Serial.print ("MPH:");

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

Nakon što se kôd uspješno prenese, otvorite serijski monitor. Bez pomicanja stražnjeg kotača, "MPH" i "VPrevious" bi trebale biti 0,00. Okrećite kotač tako da se ubrza za nekoliko okretaja, a zatim uspori. Monitor bi trebao očitavati brzinu i tip d za ubrzanje, a s za usporavanje. Ako se pri zakretanju kotača ne pojave nikakve vrijednosti, magnet se možda neće otkriti pomoću sklopke. Uvjerite se da je magnet dovoljno jak tako što ćete osluškivati da li prestaje * cink * šum kad magnet prođe prekidač.

5. korak: Postavite YouTube Controller

Postavite YouTube Controller
Postavite YouTube Controller

Posljednji korak je donijeti YouTube videozapise koje želite koristiti za praćenje na svom biciklu. Ideja je imati videozapise od prve osobe u koje se možete potpuno uroniti i uživati u krajoliku dok vozite bicikl. Uskladio sam YouTube playlistu s raznim mogućnostima videozapisa. Oni se kreću od brojnih kanala koji postavljaju videozapise koji odgovaraju ovim kriterijima iz prvog lica. To su također video zapisi poput leta kroz oblake i putovanja vlakom za razne avanture u prvom licu.

Preporučeni: