Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
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
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
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
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.