Sadržaj:
- Korak 1: Preuzmite odgovarajući softver na svoj računar
- Korak 2: Hardver
- Korak 3: Postavite bicikl na stacionarno postolje za bicikl
- Korak 4: Prenesite i testirajte Arduino kod
- Korak 5: Postavite YouTube Controller
Video: Simulator bicikla s podešavanjem brzine u stvarnom vremenu: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:07
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
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
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
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:
Kako koristiti modul sata u stvarnom vremenu (DS3231): 5 koraka
Kako koristiti modul sata u stvarnom vremenu (DS3231): DS3231 je jeftin, izuzetno precizan I2C sat u stvarnom vremenu (RTC) sa integriranim kristalnim oscilatorom kompenziranim temperaturom (TCXO) i kristalom. Uređaj ima ulaz za bateriju i održava precizno mjerenje vremena kada je napajanje
Rubikova kocka sa povezom preko očiju u stvarnom vremenu koristeći Raspberry Pi i OpenCV: 4 koraka
Rubikova kocka s povezom s povezom u stvarnom vremenu pomoću Raspberry Pi-a i OpenCV-a: Ovo je druga verzija Rubikove alata za kocke napravljena za rješavanje povezanih očiju. Prvu verziju je razvio javascript, možete vidjeti projekt RubiksCubeBlindfolded1 Za razliku od prethodne, ova verzija koristi OpenCV biblioteku za otkrivanje boja i e
Mjerač nivoa vode u bunaru u stvarnom vremenu: 6 koraka (sa slikama)
Mjerač nivoa bunara u stvarnom vremenu: Ova uputstva opisuju kako izgraditi jeftino mjerač nivoa vode u stvarnom vremenu za upotrebu u iskopanim bunarima. Mjerač nivoa vode je dizajniran da visi unutar iskopanog bunara, mjeri nivo vode jednom dnevno i šalje podatke putem WiFi -a ili mobilne veze
Mjerač temperature vode, vodljivosti i nivoa vode u bunaru u stvarnom vremenu: 6 koraka (sa slikama)
Mjerač temperature vode, vodljivosti i nivoa vode u bušotini u stvarnom vremenu: Ova uputstva opisuju kako izgraditi jeftin mjerač vode u stvarnom vremenu za praćenje temperature, električne provodljivosti (EC) i nivoa vode u iskopanim bunarima. Mjerač je dizajniran da visi u iskopanom bunaru, mjeri temperaturu vode, EC i
Iscrtavanje grafikona u stvarnom vremenu na Androidu od Arduina do HC-05: 3 koraka
Iscrtavanje grafikona u stvarnom vremenu na Androidu s Arduina preko HC-05: Hej, evo vodiča kako iscrtati grafikon vrijednosti u stvarnom vremenu iz mikrokontrolera, poput Arduina, u aplikaciju. Koristi Bluetooth modul poput HC-05 da djeluje kao uređaj za razmjenu poruka za prijenos i primanje podataka između Ar