Përmbajtje:

Simulator biçikletash me rregullim të shpejtësisë në kohë reale: 5 hapa
Simulator biçikletash me rregullim të shpejtësisë në kohë reale: 5 hapa

Video: Simulator biçikletash me rregullim të shpejtësisë në kohë reale: 5 hapa

Video: Simulator biçikletash me rregullim të shpejtësisë në kohë reale: 5 hapa
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Nëntor
Anonim
Simulator biçikletash me rregullim të shpejtësisë në kohë reale
Simulator biçikletash me rregullim të shpejtësisë në kohë reale

Ky projekt përdor një ndërprerës magnetik të kallamit për të krijuar një shpejtësimatës dhe për të kontrolluar shpejtësinë e videos të videove të çiklizmit të personit të parë në YouTube ose media të tjera. Arduino llogarit mph dhe më pas e përdor atë informacion për të simuluar një shtypje të butonit të kompjuterit. Ky shtyp buton, i çiftuar me një shtesë të Google Chrome, shpejton ose ngadalëson videon bazuar në ndryshimin e shpejtësisë. Ai ka një konfigurim bazë të harduerit që ata që janë fillestarë në Arduino lehtë mund ta krijojnë vetë.

Kodi i shpejtësisë matës bazohet në këtë projekt:

Lista e pajisjeve:

1. Arduino Leonardo

2. Kabllo Micro USB (Duhet të jetë në gjendje të transferojë skedarë dhe <3ft)

3. Çelës kallami magnetik

4. Rezistencë 10k Ohm

5. 22 tela matës (<4ft)

6. Hekuri për saldim

7. Saldator

8. Shirit Elektrik

9. Lidhëse zip

10. Qëndrim i palëvizshëm për biçikleta

11. Biçikleta

Hapi 1: Shkarkoni softuerin përkatës në kompjuterin tuaj

1. Arduino IDE

2. Kontrolluesi i Shpejtësisë së Video (Zgjatja e Shfletuesit të Uebit)

a Google Chrome

b Firefox

Hapi 2: Pajisje kompjuterike

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Të gjitha lidhjet duhet të ngjiten së bashku dhe të ngjiten me shirit elektrik. Arduino mund të montohet në biçikletë duke përdorur një kuti plastike të përfshirë me Arduino (e lidhur në listën e pjesëve më lart). Kjo është e rëndësishme sepse nëse metali i biçikletës është në kontakt të drejtpërdrejtë me kunjat, mund të krijojë lidhje të padëshiruara. Rasti gjithashtu ka vrima që e bëjnë lidhjen e zinxhirit me biçikletë të thjeshtë. Teli me matës 22 duhet të mbështillet përgjatë kornizës së biçikletës dhe të sigurohet me shirit ose zinxhirë. Sigurohuni që të shmangni mbështjelljen e telit në çdo vend ku mund të kapet nga mekanizmat lëvizës.

Hapi 3: Vendoseni biçikletën në stendën e biçikletës stacionare

Sigurojeni biçikletën në stendën e biçikletave të palëvizshme dhe sigurohuni që është mjaft afër kompjuterit tuaj që kordoni mikro-USB të arrijë në kompjuterin tuaj. Gjithashtu, sigurohuni që distanca e shikimit për ju është e përshtatshme për të qenë në gjendje të shihni me lehtësi ekranin. Një tutorial se si ta vendosni me siguri biçikletën tuaj në stendë mund të gjendet këtu.

Hapi 4: Ngarko dhe Provo Kodin Arduino

Ngarko dhe Testo kodin Arduino
Ngarko dhe Testo kodin Arduino

Nëse jeni i ri në Arduino IDE, një faqe hyrëse mund të gjendet këtu. Isshtë e rëndësishme të theksohet se Leonardo kërkon një kabllo mikro-USC për tu ngarkuar që ka aftësi për transferimin e skedarëve. Shumë kabllo mikro-USB përdoren vetëm për karikim dhe ato nuk do të funksionojnë. Pasi Arduino Leonardo të njihet nga kompjuteri, kopjoni dhe ngjisni dhe ngarkoni kodin e mëposhtëm:

// Ky kod gjen shpejtësinë e një biçiklete dhe e konverton atë në shtypjen e tastierës së kompjuterit

// llogaritjet

// rrezja e gomave ~ 13.5 inç // perimetri = pi*2*r = ~ 85 inç // shpejtësia maksimale prej 35mph = ~ 616inç/e dyta // max rps =.2 7.25

#përfshi

#përcaktoni kallamin A0 // pin të lidhur me çelësin e leximit

// variablat e ruajtjes

int reedVal; kohëmatës i gjatë; // koha midis një rrotullimi të plotë (në ms) noton mph; rrezja e notimit = 13.5; // rrezja e gomave (në inç) perimetri i notimit; noton vprevious; norma e notimit;

int maxReedCounter = 100; // min minutë (në ms) të një rrotullimi (për debouncing)

int reedCounter;

void setup () {

reedCounter = maxReedCounter; perimetri = 2*3.14*rreze; pinMode (kallam, INPUT); Tastiera.filloj (); // TIMER SETUP- ndërprerja e kohëmatësit lejon matje të sakta të kalimit të kallamit // për më shumë informacion në lidhje me konfigurimin e kohëmatësve arduino shikoni https://arduino.cc/playground/Code/Timer1 cli (); // ndaloni ndërprerjet

// vendosni ndërprerësin e kohëmatësit1 në 1kHz

TCCR1A = 0; // vendos të gjithë regjistrin TCCR1A në 0 TCCR1B = 0; // njëjtë për TCCR1B TCNT1 = 0; // caktoni numërimin e kohëmatësit për rritje 1khz OCR1A = 1999; // = (1/1000)/((1/(16*10^6))*8) - 1 // aktivizoni modalitetin CTC TCCR1B | = (1 < <WGM12); // Vendosni bit CS11 për 8 parashkrues TCCR1B | = (1 << CS11); // aktivizoni kohëmatësin krahasoni ndërprerjen TIMSK1 | = (1 << OCIE1A); sei (); // lejo ndërprerjet // P ENDRFUNDIMI I KOHS P ENDR KOH Serial.fillo (9600); }

ISR (TIMER1_COMPA_vect) {// Ndërprerje në frekuencën prej 1 kHz për të matur ndërruesin e kallamit

reedVal = digitalRead (kallam); // merrni valën e A0 nëse (reedVal) {// nëse kallami i kallamit është i mbyllur nëse (reedCounter == 0) {// min minutat midis pulseve kanë kaluar vprevious = mph; vonesë (500); mph = (56.8*noton (perimetri))/noton (kohëmatësi); // llogarit kilometrin në orë kohëmatës = 0; // rivendos kohëmatësin reedCounter = maxReedCounter; // rivendos reedCounter} tjetër {if (reedCounter> 0) {// mos lejoni që reedCounter të shkojë negativ reedCounter -= 1; // zvogëloni reedCounter}}} tjetër {// nëse kaloni i kallamit është i hapur nëse (reedCounter> 0) {// mos lejoni që reedCounter të shkojë negativ reedCounter -= 1;/ /zbritje reedCounter}} nëse (kohëmatësi> 2000) {mph = 0; // nëse nuk ka lëvizje të reja nga kallami i kallamishteve, vendosni mph në 0 vprevious = 0; } tjetër {kohëmatës += 1; // kohëmatës rritës}}

void controlComp () {

nëse (mph paraprake) // Ngadalësoni shpejtësinë e videos {Keyboard.press ('s'); Keyboard.releaseAll (); vonesë (750); } nëse (vprevious == mph) // mos bëni asgjë {; }} void loop () {// print mph dy herë në sekondë Serial.print ("VPara më parë:"); Serial.print ("\ t"); Serial.println (paraprak);

Serial.print ("MPH:");

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

Pasi kodi të jetë ngarkuar me sukses, hapni monitorin serik. Pa lëvizje të rrotës së pasme, "MPH" dhe "VPrevious" duhet të lexojnë 0.00. Rrotulloni timonin në mënyrë që të shpejtohet për disa rrotullime dhe pastaj të ngadalësohet. Monitori duhet të lexojë shpejtësinë dhe llojin d për nxitim dhe s për ngadalësim. Nëse asnjë vlerë nuk shfaqet kur rrota rrotullohet, magneti mund të mos zbulohet nga ndërprerësi i kallamit. Sigurohuni që magnetiku është mjaft i fortë duke dëgjuar një zhurmë të mbyllur * kërcitëse * kur magneti kalon ndërprerësin.

Hapi 5: Konfiguro Kontrolluesin e YouTube

Konfiguro Kontrolluesin e YouTube
Konfiguro Kontrolluesin e YouTube

Hapi i fundit është të shfaqni videot në YouTube që dëshironi të përdorni për të ndjekur në biçikletën tuaj. Ideja është që të keni video të personit të parë në të cilat mund të zhyteni plotësisht dhe të shijoni peizazhin gjatë biçikletës. Unë kam respektuar një listë dëgjimi në YouTube të një sërë opsionesh video. Ato shkojnë nga një numër kanalesh që ngarkojnë video që përputhen me këto kritere të personit të parë. Ato janë gjithashtu video si fluturimi nëpër retë dhe udhëtimet me tren ndër-vend për disa larmi aventurash në personin e parë.

Recommended: