Sadržaj:

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

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

Video: Simulator bicikla s podešavanjem brzine u stvarnom vremenu: 5 koraka
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Novembar
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 prvog lica na YouTubeu ili drugim medijima. Arduino izračunava milju na sat, a zatim koristi te informacije za simuliranje pritiska računarskog dugmeta. Ovaj pritisak na dugme, uparen sa ekstenzijom Google Chrome, ubrzava ili usporava videozapis na osnovu promjene brzine. Ima osnovno hardversko postavljanje koje oni koji su početnici u Arduinu mogu lako sami stvoriti.

Kôd brzinomera zasnovan je na ovom projektu:

Lista 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 za mjerenje (<4ft)

6. Lemilica

7. Lemljenje

8. Električna traka

9. Zip kravate

10. Stacionarno postolje za bicikl

11. Bicikl

Korak 1: Preuzmite odgovarajući softver na svoj računar

1. Arduino IDE

2. Kontroler brzine video zapisa (proširenje za web preglednik)

a. google chrome

b. Firefox

Korak 2: Hardver

Hardver
Hardver
Hardver
Hardver
Hardver
Hardver

Svi spojevi trebaju biti lemljeni zajedno 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 gornjoj listi dijelova). To je važno jer ako je metal bicikla u izravnom kontaktu sa 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. Žica promjera 22 treba biti omotana duž okvira bicikla i pričvršćena 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čunara da mikro-USB kabel dođe do vašeg računara. Takođe, uverite se da vam udaljenost gledanja odgovara da biste mogli udobno da vidite ekran. Vodič o tome kako sigurno postaviti bicikl na postolje možete pronaći ovdje.

Korak 4: Prenesite i testirajte Arduino kod

Otpremite i testirajte Arduino kod
Otpremite i testirajte Arduino kod

Ako ste tek počeli s Arduino IDE -om, ovdje se nalazi stranica s uvodnim riječima. Važno je napomenuti da Leonardu za postavljanje 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 ga u kompjuterski pritisak na tastaturi

// proračuni

// radijus gume ~ 13,5 inča // opseg = pi*2*r = ~ 85 inča // maksimalna brzina 35 km/h = ~ 616 inča/sekundu // maksimalni rps = ~ 7,25

#include

#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; // polumjer gume (u inčima) opseg plovka; float vprevious; float rate;

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

int reedCounter;

void setup () {

reedCounter = maxReedCounter; obim = 2*3,14*poluprečnik; pinMode (trska, ulaz); Keyboard.begin (); // PODEŠAVANJE 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); // Postavimo CS11 bit za 8 predskaler TCCR1B | = (1 << CS11); // omogući tajmer za usporedbu prekida TIMSK1 | = (1 << OCIE1A); sei (); // dopusti prekide // POSTAVKA TAJMERA KRAJA Serial.begin (9600); }

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

reedVal = digitalRead (reed); // dobivamo val od A0 if (reedVal) {// ako je trska sklopka zatvorena ako (reedCounter == 0) {// min je vrijeme između impulsa prošlo vprethodno = mph; kašnjenje (500); mph = (56,8*float (opseg))/float (timer); // izračunavanje milja na sat timer = 0; // resetiranje tajmera reedCounter = maxReedCounter; // resetiranje reedCounter} else {if (reedCounter> 0) {// ne dozvoli da reedCounter ide negativno reedCounter -= 1; // smanji reedCounter}}} else {// ako je prekidač trske otvoren ako (reedCounter> 0) {// ne dozvoli da reedCounter ide negativno reedCounter -= 1;/ /decrement reedCounter}} if (timer> 2000) {mph = 0; // ako nema novih impulsa iz prekidača za trske, postavite mph na 0 vprethodni = 0; } else {timer += 1; // tajmer povećanja}}

void controlComp () {

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

Serial.print ("MPH:");

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

Kada se kôd uspješno otpremi, 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 čitati 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 trska. Uvjerite se da je magnet dovoljno jak tako što ćete osluškivati da li prestaje * cink * šum kada magnet prođe prekidač.

Korak 5: Postavite YouTube Controller

Postavite YouTube Controller
Postavite YouTube Controller

Posljednji korak je iznošenje YouTube videozapisa 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 različitim opcijama videozapisa. Oni se kreću od brojnih kanala koji postavljaju videozapise koji odgovaraju ovom kriteriju. To su i video zapisi poput leta kroz oblake i putovanja vlakom za razne avanture u prvom licu.

Preporučuje se: