विषयसूची:

वास्तविक समय गति समायोजन के साथ बाइक सिम्युलेटर: 5 कदम
वास्तविक समय गति समायोजन के साथ बाइक सिम्युलेटर: 5 कदम

वीडियो: वास्तविक समय गति समायोजन के साथ बाइक सिम्युलेटर: 5 कदम

वीडियो: वास्तविक समय गति समायोजन के साथ बाइक सिम्युलेटर: 5 कदम
वीडियो: 5 Big Riding Mistakes 🔥 | Never Do These Mistakes While Riding Your Bike And Scooter #shorts 2024, नवंबर
Anonim
वास्तविक समय गति समायोजन के साथ बाइक सिम्युलेटर
वास्तविक समय गति समायोजन के साथ बाइक सिम्युलेटर

यह प्रोजेक्ट स्पीडोमीटर बनाने और YouTube या अन्य मीडिया पर पहले व्यक्ति साइकिल चलाने वाले वीडियो की वीडियो गति को नियंत्रित करने के लिए एक चुंबकीय रीड स्विच का उपयोग करता है। Arduino mph की गणना करता है और फिर उस जानकारी का उपयोग कंप्यूटर बटन प्रेस को अनुकरण करने के लिए करता है। Google क्रोम एक्सटेंशन के साथ जोड़ा गया यह बटन प्रेस, वेग में परिवर्तन के आधार पर वीडियो को गति या धीमा कर देता है। इसमें एक बुनियादी हार्डवेयर सेट-अप है जिसे Arduino के शुरुआती लोग आसानी से अपने दम पर बना सकते हैं।

स्पीडोमीटर कोड इस परियोजना पर आधारित है:

हार्डवेयर सूची:

1. अरुडिनो लियोनार्डो

2. माइक्रो यूएसबी केबल (फाइल ट्रांसफर और <3 फीट में सक्षम होने की जरूरत है)

3. चुंबकीय रीड स्विच

4. 10k ओम रेसिस्टर

5. 22 गेज वायर (<4ft)

6. सोल्डरिंग आयरन

7. मिलाप

8. विद्युत टेप

9. ज़िप संबंध

10. स्थिर बाइक स्टैंड

11. साइकिल

चरण 1: अपने कंप्यूटर पर प्रासंगिक सॉफ़्टवेयर डाउनलोड करें

1. अरुडिनो आईडीई

2. वीडियो स्पीड कंट्रोलर (वेब ब्राउज़र एक्सटेंशन)

ए। गूगल क्रोम

बी। फ़ायर्फ़ॉक्स

चरण 2: हार्डवेयर

हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर
हार्डवेयर

सभी कनेक्शनों को एक साथ मिलाप किया जाना चाहिए और बिजली के टेप के साथ टेप किया जाना चाहिए। Arduino के साथ शामिल प्लास्टिक केस का उपयोग करके Arduino को बाइक पर लगाया जा सकता है (उपरोक्त भागों की सूची में जुड़ा हुआ है)। यह महत्वपूर्ण है क्योंकि यदि बाइक धातु पिन के सीधे संपर्क में है, तो यह अवांछित कनेक्शन बना सकती है। केस में छेद भी हैं जो बाइक को केस को जिप-टाईंग करना आसान बनाते हैं। 22 गेज के तार को बाइक के फ्रेम के साथ लपेटा जाना चाहिए और टेप या ज़िप संबंधों से सुरक्षित किया जाना चाहिए। सुनिश्चित करें कि तार को किसी भी स्थान पर लपेटने से बचें जहां यह चलती तंत्र पर पकड़ा जा सकता है।

चरण 3: बाइक को स्थिर बाइक स्टैंड पर रखें

बाइक को स्थिर बाइक स्टैंड में सुरक्षित करें और सुनिश्चित करें कि माइक्रो-यूएसबी कॉर्ड आपके कंप्यूटर तक पहुंचने के लिए यह आपके कंप्यूटर के काफी करीब है। इसके अलावा, सुनिश्चित करें कि आपके लिए देखने की दूरी स्क्रीन को आराम से देखने में सक्षम होने के लिए उपयुक्त है। अपनी बाइक को स्टैंड पर सुरक्षित रूप से कैसे रखें, इस पर एक ट्यूटोरियल यहां पाया जा सकता है।

चरण 4: Arduino कोड अपलोड और परीक्षण करें

Arduino कोड अपलोड और परीक्षण करें
Arduino कोड अपलोड और परीक्षण करें

यदि आप Arduino IDE के लिए नए हैं, तो एक परिचय पृष्ठ यहां पाया जा सकता है। यह नोट करना महत्वपूर्ण है कि लियोनार्डो को अपलोड करने के लिए एक माइक्रो-यूएससी केबल की आवश्यकता होती है जिसमें फ़ाइल स्थानांतरण क्षमताएं होती हैं। कई माइक्रो-यूएसबी केबल सिर्फ चार्ज करने के लिए उपयोग किए जाते हैं और वे काम नहीं करेंगे। एक बार जब Arduino लियोनार्डो को कंप्यूटर द्वारा पहचाना जाता है, तो निम्नलिखित कोड को कॉपी और पेस्ट करें और अपलोड करें:

// यह कोड बाइक की गति का पता लगाता है और उसे कंप्यूटर कीबोर्ड प्रेस में बदल देता है

// गणना

// टायर त्रिज्या ~ 13.5 इंच // परिधि = पीआई * 2 * आर = ~ 85 इंच // 35 मील प्रति घंटे की अधिकतम गति = ~ 616 इंच / सेकंड // अधिकतम आरपीएस = ~ 7.25

#शामिल

#परिभाषित रीड ए0//पिन रीड स्विच से जुड़ा है

// भंडारण चर

इंट रीडवैल; लंबा टाइमर;// एक पूर्ण रोटेशन के बीच का समय (एमएस में) फ्लोट मील प्रति घंटे; फ्लोट त्रिज्या = 13.5;// टायर त्रिज्या (इंच में) फ्लोट परिधि; फ्लोट vपिछला; फ्लोट दर;

int maxReedCounter = १००;//मिनट का समय (एमएस में) एक रोटेशन (डिबाउंसिंग के लिए)

इंट रीड काउंटर;

व्यर्थ व्यवस्था(){

रीडकाउंटर = मैक्सरीडकाउंटर; परिधि = 2*3.14*त्रिज्या; पिनमोड (रीड, इनपुट); कीबोर्ड.बेगिन (); // टाइमर सेटअप- टाइमर इंटरप्ट रीड स्विच के सटीक समयबद्ध माप की अनुमति देता है // Arduino टाइमर के कॉन्फ़िगरेशन के बारे में अधिक जानकारी के लिए देखें https://arduino.cc/playground/Code/Timer1 cli();//स्टॉप इंटरप्ट

// टाइमर 1 इंटरप्ट को 1kHz पर सेट करें

TCCR1A = 0;// संपूर्ण TCCR1A रजिस्टर को 0 TCCR1B = 0 पर सेट करें;// TCCR1B TCNT1 = 0 के लिए समान; // 1khz वृद्धि के लिए टाइमर की संख्या सेट करें OCR1A = 1999;// = (1/1000) / ((1/(16*10^6))*8) - 1 // CTC मोड TCCR1B |= (1 <) चालू करें <WGM12); // 8 प्रीस्कूलर TCCR1B के लिए CS11 बिट सेट करें = (1 << CS11); // टाइमर सक्षम करें इंटरप्ट की तुलना करें TIMSK1 |= (1 << OCIE1A); सेई (); // इंटरप्ट की अनुमति दें // एंड टाइमर सेटअप सीरियल.बेगिन (९६००); }

ISR(TIMER1_COMPA_vect) {// रीड स्विच को मापने के लिए 1kHz के फ्रीक्वेंसी पर इंटरप्ट करें

रीडवैल = डिजिटलरेड (रीड);//ए0 का वैल प्राप्त करें अगर (रीडवैल) {// अगर रीड स्विच बंद हो जाता है तो (रीड काउंटर == 0) {// दालों के बीच मिनट का समय vprevious = मील प्रति घंटे बीत चुका है; देरी (500); मील प्रति घंटे = (५६.८*फ्लोट (परिधि))/फ्लोट (टाइमर);//प्रति घंटे मील की गणना टाइमर = ०;//रीसेट टाइमर रीडकाउंटर = मैक्सरीडकाउंटर;//रीडकाउंटर रीसेट करें} और {अगर (रीडकाउंटर> 0){// रीड काउंटर को नकारात्मक रीड काउंटर पर जाने न दें - = 1;//डिक्रीमेंट रीड काउंटर } }} और {// यदि रीड स्विच खुला है तो (रीड काउंटर> 0) {// रीड काउंटर को नकारात्मक रीड काउंटर पर न जाने दें - = 1;/ / डिक्रीमेंट रीड काउंटर } } अगर (टाइमर> 2000) {मील प्रति घंटे = 0; // यदि रीड स्विच से कोई नई दाल नहीं है- टायर अभी भी है, तो मील प्रति घंटे को 0 vprevious = 0 पर सेट करें; } और {टाइमर + = 1;//इंक्रीमेंट टाइमर} }

शून्य नियंत्रण कॉम्प () {

अगर (vprevious mph) // धीमी गति से वीडियो की गति {कीबोर्ड.प्रेस ('s'); कीबोर्ड.रिलीज ऑल (); देरी (750); } अगर (vprevious == mph) // कुछ न करें {; } } शून्य लूप () {// प्रिंट मील प्रति घंटे दो बार एक दूसरे सीरियल.प्रिंट ("वीपिछला:"); सीरियल.प्रिंट ("\ t"); Serial.println (vपिछला);

सीरियल.प्रिंट ("एमपीएच:");

सीरियल.प्रिंट ("\ t"); सीरियल.प्रिंट्लन (मील प्रति घंटे); नियंत्रण कॉम्प (); }

एक बार कोड सफलतापूर्वक अपलोड हो जाने के बाद, सीरियल मॉनिटर खोलें। पीछे के पहिये की कोई गति नहीं होने से, "MPH" और "VPrevious" को 0.00 पढ़ना चाहिए। पहिया घुमाएं ताकि यह कुछ चक्करों के लिए गति करे और फिर धीमा हो जाए। मॉनीटर को गति पढ़नी चाहिए और त्वरण के लिए d और मंदी के लिए s टाइप करना चाहिए। यदि पहिया घुमाए जाने पर कोई मान नहीं दिखाई देता है, तो रीड स्विच द्वारा चुंबक का पता नहीं लगाया जा सकता है। सुनिश्चित करें कि जब चुंबक स्विच पास करता है तो एक क्विट *क्लिंक* शोर सुनकर चुंबकीय पर्याप्त मजबूत होता है।

चरण 5: YouTube नियंत्रक सेट करें

YouTube नियंत्रक सेट करें
YouTube नियंत्रक सेट करें

अंतिम चरण उन YouTube वीडियो को लाना है जिनका आप अपनी बाइक पर अनुसरण करने के लिए उपयोग करना चाहते हैं। विचार यह है कि पहले व्यक्ति के वीडियो हों जिनमें आप पूरी तरह से खुद को डुबो सकें और बाइक चलाते समय दृश्यों का आनंद ले सकें। मैंने विभिन्न प्रकार के वीडियो विकल्पों की YouTube प्लेलिस्ट का अनुपालन किया है। वे ऐसे कई चैनलों से हैं जो इस प्रथम-व्यक्ति मानदंड से मेल खाने वाले वीडियो अपलोड करते हैं। वे कुछ प्रकार के प्रथम-व्यक्ति रोमांच के लिए बादलों और क्रॉस-कंट्री ट्रेन यात्राओं के माध्यम से उड़ने जैसे वीडियो भी हैं।

सिफारिश की: