Përmbajtje:
- Hapi 1: Shkarkoni softuerin përkatës në kompjuterin tuaj
- Hapi 2: Pajisje kompjuterike
- Hapi 3: Vendoseni biçikletën në stendën e biçikletës stacionare
- Hapi 4: Ngarko dhe Provo Kodin Arduino
- Hapi 5: Konfiguro Kontrolluesin e YouTube
Video: Simulator biçikletash me rregullim të shpejtësisë në kohë reale: 5 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:20
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
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
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
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:
Si të përdorni një modul të orës në kohë reale (DS3231): 5 hapa
Si të përdorni një modul të orës në kohë reale (DS3231): DS3231 është një orë me kosto të ulët, jashtëzakonisht e saktë I2C në kohë reale (RTC) me një oshilator kristal të kompensuar nga temperatura (TCXO) dhe kristal. Pajisja përfshin një hyrje të baterisë dhe mban matjen e saktë të kohës kur fuqia kryesore të
Zgjidhësi i Rubikut të Rubikut në kohë reale me sy të lidhur duke përdorur Raspberry Pi dhe OpenCV: 4 hapa
Zgjidhësi i Rubikut të Rubikut me Sy të Shikuar në kohë Reale duke përdorur Raspberry Pi dhe OpenCV: Ky është versioni i dytë i mjetit kubik të Rubikut i bërë për zgjidhjen me sy të mbyllur. Versioni i parë u zhvillua nga javascript, ju mund ta shihni projektin RubiksCubeBlindfolded1 Ndryshe nga versioni i mëparshëm, ky version përdor bibliotekën OpenCV për të zbuluar ngjyrat dhe
Një matës i nivelit të ujit të pusit në kohë reale: 6 hapa (me fotografi)
Një matës i nivelit të ujit të pusit në kohë reale: Këto udhëzime përshkruajnë se si të ndërtoni një ujëmatës me kosto të ulët, në kohë reale për përdorim në puse të gërmuara. Matësi i nivelit të ujit është krijuar për të varur brenda një pusi të gërmuar, për të matur nivelin e ujit një herë në ditë dhe për të dërguar të dhënat me anë të WiFi ose lidhjes celulare
Temperatura e ujit, përcjellshmëria dhe niveli i ujit në pus në kohë reale: 6 hapa (me fotografi)
Një matës i temperaturës së ujit, përcjellshmërisë dhe nivelit të ujit të pusit në kohë reale: Këto udhëzime përshkruajnë se si të ndërtoni një ujëmatës me kosto të ulët, në kohë reale për monitorimin e temperaturës, përçueshmërinë elektrike (KE) dhe nivelet e ujit në puset e gërmuara. Matësi është projektuar për të varur brenda një pusi të gërmuar, për të matur temperaturën e ujit, KE dhe
Hartimi i një grafiku në kohë reale në Android nga Arduino përmes HC-05: 3 hapa
Hartimi i një grafiku në kohë reale në Android nga Arduino përmes HC-05: Përshëndetje, këtu është një mësim se si të vizatoni një grafik të vlerave në kohë reale nga një mikrokontrollues siç është një Arduino në aplikacion. Ai përdor një modul Bluetooth siç është HC-05 për të vepruar si një pajisje mesazhi për të transmetuar dhe marrë të dhëna midis Ar