Mundarija:
2025 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2025-01-13 06:58
Ushbu loyiha magnit qamish kalitidan foydalanib, tezlik o'lchagichni yaratadi va YouTube yoki boshqa ommaviy axborot vositalarida velosipedda birinchi odamlarning video tezligini nazorat qiladi. Arduino milya tezligini hisoblab chiqadi va undan keyin kompyuter tugmachalarini bosishni simulyatsiya qilish uchun bu ma'lumotdan foydalanadi. Google Chrome kengaytmasi bilan birlashtirilgan bu tugmani bosish tezlikning o'zgarishiga qarab videoni tezlashtiradi yoki sekinlashtiradi. U Arduino-ni yangi boshlaganlar osonlikcha mustaqil ravishda yaratishi mumkin bo'lgan asosiy uskunalar to'plamiga ega.
Tezlik o'lchagich kodi ushbu loyihaga asoslangan:
Uskunalar ro'yxati:
1. Arduino Leonardo
2. Micro USB kabeli (fayl uzatish qobiliyatiga ega bo'lishi kerak va <3 fut)
3. Magnit qamish kaliti
4. 10k Ohm qarshilik
5. 22 o'lchash simlari (<4 fut)
6. Lehimlash temir
7. Lehim
8. Elektr tasmasi
9. Fermuar bog'lamlari
10. Statsionar velosiped stendi
11. Velosiped
1 -qadam: Tegishli dasturiy ta'minotni kompyuteringizga yuklab oling
1. Arduino IDE
2. Video tezligini boshqaruvchi (veb -brauzer kengaytmasi)
a. Gugl xrom
b. Firefox
2 -qadam: Uskuna
Barcha ulanishlar bir -biriga lehimlangan va elektr lenta bilan yopishtirilgan bo'lishi kerak. Arduino -ni velosipedga Arduino -ga o'rnatilgan plastik quti yordamida o'rnatish mumkin (yuqoridagi qismlar ro'yxatida ko'rsatilgan). Bu juda muhim, chunki agar velosiped metall pim bilan to'g'ridan -to'g'ri aloqa qilsa, bu kiruvchi ulanishlarni keltirib chiqarishi mumkin. Kosonda velosipedga korpusni bog'lab qo'yadigan teshiklari ham bor. 22 -o'lchovli simni velosiped ramkasi bo'ylab o'rash va lenta yoki fermuar bilan mahkamlash kerak. Simni harakatlanuvchi mexanizmlarga yopishib oladigan joylarga o'rashdan saqlaning.
3 -qadam: Velosipedni statsionar velosiped stendiga joylashtiring
Velosipedni statsionar velosiped stendiga mahkamlang va mikro USB kabeli kompyuterga yetib borishi uchun u kompyuterga etarlicha yaqin ekanligiga ishonch hosil qiling. Bundan tashqari, ekranni qulay ko'rish uchun ko'rish masofasi mos ekanligiga ishonch hosil qiling. Velosipedni stendga qanday qilib xavfsiz joylashtirish bo'yicha ko'rsatmalarni bu erda topishingiz mumkin.
4 -qadam: Arduino kodini yuklang va tekshiring
Agar siz Arduino IDE -da yangi bo'lsangiz, kirish sahifasini bu erda topishingiz mumkin. Shuni ta'kidlash kerakki, Leonardo fayllarni uzatish qobiliyatiga ega bo'lgan yuklash uchun micro-USC kabelini talab qiladi. Ko'pgina micro-USB kabellari faqat zaryadlash uchun ishlatiladi va ular ishlamaydi. Arduino Leonardo kompyuter tomonidan tan olinganidan so'ng, quyidagi kodni nusxa ko'chiring va joylashtiring va yuklang:
// Bu kod velosiped tezligini topadi va uni kompyuter klaviaturasini bosishga o'zgartiradi
// hisoblar
// shinalar radiusi ~ 13,5 dyuym // aylana = pi*2*r = ~ 85 dyuym // maksimal tezlik 35mph = ~ 616 dyuym/sekund // maksimal rps = ~ 7,25
#qo'shing
#deifine qamish A0 // o'qish kalitiga ulangan pin
// saqlash o'zgaruvchilari
int reedVal; uzoq taymer; // bitta to'liq aylanish orasidagi vaqt (milodiy) mil mil tezligi; float radiusi = 13.5; // plastik radiusi (dyuymda) suzuvchi atrofi; float vprevious; suzish tezligi;
int maxReedCounter = 100; // bir aylanishning minut vaqti (milodiy)
int reedCounter;
bo'sh o'rnatish () {
reedCounter = maxReedCounter; aylana = 2*3.14*radiusi; pinMode (qamish, Kirish); Keyboard.begin (); // TIMER SETUP- taymer uzilishi qamish kalitini aniq vaqtli o'lchash imkonini beradi // arduino taymerlari konfiguratsiyasi haqida ko'proq ma'lumot olish uchun https://arduino.cc/playground/Code/Timer1 cli () ga qarang; // to'xtashlarni to'xtatish
// taymer1 uzilishini 1 kHz ga sozlang
TCCR1A = 0; // butun TCCR1A registrini 0 ga qo'ying TCCR1B = 0; // TCCR1B uchun bir xil TCNT1 = 0; // taymerlar sonini 1 kHz tezlik bilan belgilash OCR1A = 1999; // = (1/1000)/((1/(16*10^6))*8) - 1 // CTC rejimini yoqish TCCR1B | = (1 < <WGM12); // TSCR1B 8 oldindan hisoblagichi uchun CS11 bitini o'rnating | = (1 << CS11); // taymerni taqqoslashni to'xtatib turishni yoqish TIMSK1 | = (1 << OCIE1A); sei (); // uzilishlarga ruxsat berish // END TIMER SETUP Serial.begin (9600); }
ISR (TIMER1_COMPA_vect) {// Qamish kalitini o'lchash uchun 1 kHz chastotada uzilish
reedVal = digitalRead (reed); // A0 qiymatini olish (agar reedVal) {// agar qamish tugmasi yopilgan bo'lsa (reedCounter == 0) {// pulslar orasidagi minut vaqt vprevious = mph; kechikish (500); mph = (56.8*float (aylana))/suzuvchi (taymer); // soatiga milni hisoblang taymer = 0; // taymerni qayta o'rnatish reedCounter = maxReedCounter; // reedCounterni tiklash} boshqa {if (reedCounter> 0) {// reedCounter -ni salbiy reedCounter -ga qo'yib yubormang -= 1; // reedCounter -ni kamaytiring}}} boshqa {// kamaytirsa, agar reedCounter -ni salbiy reedCounter -ga qo'yib yubormang, agar /decrement reedCounter}} if (taymer> 2000) {mph = 0; // agar qamish kalitidan yangi pulslar hali ham to'xtamasa, mphni 0 ga sozlang vprevious = 0; } boshqa {taymer += 1; // o'sish taymeri}}
void controlComp () {
if (vprevious mph) // Video tezligini sekinlashtirish {Keyboard.press (lar); Keyboard.releaseAll (); kechikish (750); } agar (vprevious == mph) // hech narsa qilmasangiz {; }} void loop () {// mph soniyada ikki marta chop etish Serial.print ("VPrevious:"); Serial.print ("\ t"); Serial.println (oldingi);
Serial.print ("MPH:");
Serial.print ("\ t"); Serial.println (milya); nazoratComp (); }
Kod muvaffaqiyatli yuklanganidan so'ng, ketma -ket monitorni oching. Orqa g'ildirak harakatlanmagan holda, "MPH" va "VPrevious" 0,00 o'qilishi kerak. G'ildirakni aylantiring, shunda u bir necha marta tezlashadi va keyin sekinlashadi. Monitor tezlikni va d tipini, tezlashtirish uchun s ni o'qishi kerak. Agar g'ildirak aylanayotganda hech qanday qiymatlar ko'rinmasa, magnit qamish kaliti yordamida aniqlanmasligi mumkin. Magnit tugmachani bosib o'tganda, quit * clink * shovqinini eshitib, magnitning etarlicha kuchli ekanligiga ishonch hosil qiling.
5 -qadam: YouTube boshqaruvchisini o'rnating
Oxirgi qadam - velosipedda yurish uchun foydalanmoqchi bo'lgan YouTube videolarini chiqarish. Gap shundaki, velosipedda velosipedda sayr qilish va manzaralardan bahramand bo'lishingiz mumkin bo'lgan birinchi shaxs videolari. Men YouTube -da turli xil video variantlarning pleylistini bajarganman. Ular birinchi shaxs mezonlariga mos keladigan videolarni yuklaydigan ko'plab kanallardan iborat. Ular, shuningdek, bulutlar orasidan uchish va turli xil birinchi sarguzashtlar uchun poezd bo'ylab sayohatlar kabi videolar.