نقوم بتوصيل جهاز محاكاة الرياضة بالكمبيوتر ونتوقف عن زيادة الدهون أثناء لعب ألعاب الكمبيوتر



إن فكرة نقل لاعب محبط إلى ألعاب الكمبيوتر ليست جديدة ، فقد كان لدى Microsoft بالفعل Kinect لفترة طويلة ، وجميع أنواع أجهزة الاستشعار من Sony ، و Nintendo ، والآن أيضًا ملحقات لخوذات الواقع الافتراضي التي تتطلب منك تحريك ذراعيك وساقيك أثناء اللعبة.

ومع ذلك ، فقد أظهرت التجربة الشخصية باستخدام هذه الأجهزة ما يلي:

1. يمكنك لعب تلك الألعاب التي تم تحسينها بوضوح بواسطة مستشعرات الحركة. وماذا عن أولئك الذين لعبتهم المفضلة هي "Funny Zombies on the Island of the Innocent" التي صدرت في القرن الماضي؟
2. لا تتزامن الحركات في اللعبة مع مستوى الحمل المريح / الضروري. إما أن تتعب بسرعة ، أو أن العضلات لا تحصل على الحمل الصحيح.

لذلك ، فكرت في ذهني لربط أبسط جهاز محاكاة رياضي مدمج (السائر) بجهاز كمبيوتر وجعل الكمبيوتر يسمح لي باللعب فقط عندما ألاحظ سرعة معينة من التمرين.

ونتيجة لذلك ، في اليوم الأول من استخدام الجهاز الناتج ، اتخذت خطوات أكثر مما كانت عليه في عام من الطرق البطيئة غير المنتظمة لمدرب مشابه خلال استراحة الغداء ، وبعد شهر حطمت الحواجز المطاطية في سلة المهملات. حسنًا ، لم أجد حفرة في الأرضية ولم أخفق في الوصول إلى الجيران أدناه.

من يهتم بتكرار تجربتي - اقرأ.

باختصار حول كيفية عملها


عندما تخطو على السائر ، يتحرك مغناطيس فيه ، ويغلق ويفتح المستشعر المدمج (مفتاح القصب) ، والذي يتم من خلاله حساب عدد الخطوات وعرضه.

سنقوم بتثبيت مستشعر مشابه بجانبه ، ونعلقه بلوحة Arduino ، وحتى جهاز الكمبيوتر مع كابل USB. سيخبر أردوينو البرنامج على الكمبيوتر عند اتخاذ الخطوة التالية. إذا لم تتخذ الكثير من الخطوات ، يوجه البرنامج Arduino إلى جذب انتباهك أولاً إلى مصابيح LED الوامضة (أحمر ، ثم أزرق ، ثم كليهما) ، ثم تشغيل الصرير المزعج. إذا لم يساعد ذلك ، يقوم البرنامج بتعتيم الصورة على شاشة الكمبيوتر.

صدقوني ، هذا يعمل بشكل جيد. تستأنف المشي على الفور.

في البداية ، حاولت حظر الماوس / لوحة المفاتيح كعقاب على كثافة التمرين البدني المنخفضة. ولكن تبين أن هذا غير ضروري / مزعج ، يكفي تقليل راحة الاتصال بالكمبيوتر قليلاً ، ولكن ليس لمنع التحكم على الإطلاق.

الخبرة والآفاق


لقد بدأت في التحرك أكثر من ذلك بكثير ، وهذا بالتأكيد زائد. ولكن هناك خفايا.

لسوء الحظ ، فإن السائر غير مكلفة يغير خصائصه في الدقائق الأولى من الاستخدام. يسخن الزيت في ممتصات الصدمات ويصبح أرق ويصبح أسهل في الحركة. حتى أنه يقول في صندوقي من السائر أنه مصمم لمدة 20 دقيقة من الاستخدام المتواصل.

تم تكوين البرنامج حاليًا لوتيرة تحميل واحدة. من الناحية المثالية ، يجب تعديله يدويًا وفي الموعد المحدد. والأفضل من ذلك ، اعتمادًا على مستشعر معدل ضربات القلب.

علاوة على ذلك ، يتم تدريب الساقين بشكل جيد. ولكن ماذا عن اليدين وكل شيء آخر؟ بعد كل شيء ، مشغولة لوحة المفاتيح والماوس اليدين؟

حاولت تحرير يدي باستخدام عناصر تحكم الكمبيوتر من خلال تتبع نظراتي وصوتي. حسنًا ... يمكنك لعب الشطرنج مثل هذا على الكمبيوتر ، لكنني لم أنجح في لعبة ديناميكية.

شاهد مقطع فيديو عن محاولة اللعب بدون استخدام اليدين (باستخدام برامج كتبتها للأشخاص ذوي الإعاقة)
التحكم الصوتي في اللعبة:


التحكم باللعبة في اللعبة:


لذا في حين أن الحمل على اليدين هو سؤال مفتوح. ربما سأحاول وضع الأزرار / أجهزة استشعار الضغط / الجيروسكوبات مباشرة على مقابض المحاكيات.

بشكل عام ، أعتقد أن مراكز اللياقة البدنية ، بالشكل الذي هي عليه الآن ، قد تجاوزت عمرها. سيأتي الوقت لمراكز الترفيه حيث سيتم تحفيز النشاط البدني من خلال نوع من الترفيه ، على سبيل المثال ، ألعاب الكمبيوتر / المسابقات.

في هذه الأثناء ، لنقم بذلك في المنزل.

ماذا نحتاج؟


1. كمبيوتر مرتفع. هذا مهم. عند الوقوف على السائر ، يجب أن يكون لديك وصول مريح إلى لوحة المفاتيح والماوس. قمت ببناء رف على الحائط السويدي.

2. محاكاة "السائر". أخذت "Domyos Mini Stepper Essential" في ديكاتلون. لكنه رأى نموذجًا مشابهًا جدًا في Sportmaster. بشكل عام ، يبدو أن جميع السائرون يفعلون وفقًا للرسومات نفسها ، مما يجعل الحد الأدنى من التغييرات التجميلية.

3. العدة مع لوحة Arduino هي الأسهل ، فقط إذا كانت تشمل:
- لوحة Arduino (في حالتي - النظير الصيني لـ Arduino Nano)
- سلك USB للتوصيل بالكمبيوتر
- لوحة الدوائر والأسلاك
- عدد 2 لمبة LED ومقاومان 220 أوم ومقاومة 1 كيلو أوم

يمكنك أن تأخذ كل هذه العناصر على حدة.

4. محول طاقة كهرضغطية مصنف للجهد من 5 فولت. على بلدي مكتوب - HPM-14A.

5. مفتاح مصغر للقصب ، على سبيل المثال ، MKA-10110A. لا يعمل مفتاح القصب الأكبر بشكل جيد هنا! تم الفحص!

6. سلكين طويلين لربط مفتاح القصب في جهاز المحاكاة و Arduino

7. غطاء من قلم حبر قديم لوضع مفتاح القصب فيه

8. لحام الحديد ، حفر ، ملاقط ، مسدس الغراء ، اختبار / متعدد.

تعليمات خطوة بخطوة


1. أضف مفتاح القصب إلى السائر


قم بثني أحد أطراف مفتاح القصب برفق ، مع الإمساك به بملاقط في القاعدة حتى لا تنكسر العلبة الزجاجية عند ثنيها! لقد فقدت مفتاح القصب للتو.



أسلاك اللحام:



نضع مفتاح القصب في الغطاء من قلم الحافة ونثبته ، على غرار القلم القياسي ، ولكن من الجانب الآخر. تعيين على الفور إلى المكان الصحيح لن يعمل. المكان الصحيح هو عندما يعمل مفتاح القصب تمامًا في منتصف الخطوة ، عندما تكون الدواسة اليمنى متدفقة مع اليسار. لذلك ، أولاً نلصقها بشريط وننقلها يمينًا ويسارًا حتى نجد الموضع الصحيح (نحتاج إلى جهاز اختبار لمعرفة متى يتم إغلاق الاتصال -):



ثم نصلح الغطاء أخيرًا باستخدام المستشعر ، ونصب الغراء من مسدس الغراء. حتى يتم ضبط الغراء أخيرًا ، لا يزال بإمكانك ضبط موضع المستشعر قليلاً.

يتم توصيل الأسلاك من المستشعر من خلال الثقب المحفور ، فمن المنطقي أن يتم تجهيزها بموصلات قابلة للفصل بسهولة (مأخوذة من مجموعة مع Arduino). ثم عدة مرات لمس السلك بقدمه ، وهذا أنقذه من جرف.



2. نقوم بتجميع الدائرة مع لوحة Arduino




بالنسبة لي ، تحول هذا إلى تشابك الأسلاك:



3. املأ البرنامج في Arduino


كود البرنامج
//   ,     int brightnessB=LOW, brightnessR=LOW; int blinkingB=0; int blinkingR=0; int speakerPin=8; int BlueLED=10; int RedLED=11; int freq[]={3830,3038,2550,3038}; int cur_freq=0; int buzzer_value=0; volatile int stepper=0, old_stepper=0; //     pin void step() { stepper=!stepper; Serial.print(stepper); Serial.flush(); } void setup() { pinMode(10,OUTPUT); pinMode(11,OUTPUT); pinMode(2,INPUT); Serial.begin(9600); //attachInterrupt(0,step,CHANGE); } void loop() { delay (200); // 1.        while(Serial.available()) { switch(Serial.read()) { case '0': //    ,   brightnessB=HIGH; blinkingB=0; brightnessR=HIGH; blinkingR=0; buzzer_value=1; break; case '1': //    . brightnessB=LOW; blinkingB=1; brightnessR=HIGH; blinkingR=1; buzzer_value=0; break; case '2': //   brightnessB=HIGH; blinkingB=1; brightnessR=LOW; blinkingR=0; buzzer_value=0; break; case '3'://   brightnessB=LOW; blinkingB=0; brightnessR=HIGH; blinkingR=1; buzzer_value=0; break; case '4': //   brightnessB=LOW; blinkingB=0; brightnessR=HIGH; blinkingR=0; buzzer_value=0; break; case '5': // . brightnessB=LOW; blinkingB=0; brightnessR=LOW; blinkingR=0; buzzer_value=0; break; } } //      , ,     if(1==blinkingB) { if(HIGH==brightnessB) brightnessB=LOW; else brightnessB=HIGH; } if(1==blinkingR) { if(HIGH==brightnessR) brightnessR=LOW; else brightnessR=HIGH; } digitalWrite(RedLED,brightnessR); digitalWrite(BlueLED,brightnessB); if(1==buzzer_value) { tone(speakerPin, freq[cur_freq], 200); cur_freq++; if(cur_freq>3) {cur_freq=0;} } stepper=digitalRead(2); if(old_stepper!=stepper) { Serial.print(stepper); Serial.flush(); old_stepper=stepper; } } 


نتحقق من أنه يعمل - في Serial Monitor ، الموجود في بيئة تطوير Arduino ، يمكنك رؤية مجموعة متزايدة من الأصفار والأصفار عندما تخطو على المحاكي.



وإذا كنت تقود الأرقام وترسلها إلى Arduino ، فعليه أن يتصرف على النحو التالي:

5 - مصابيح LED مطفأة
4 - تضيء باللون الأحمر
3 - وميض أحمر
2 - يومض باللون الأزرق
1 - أحمر ، ثم يومض باللون الأزرق
0 - صرير صرير. كلا الثنائيات قيد التشغيل.

4. قم بتشغيل البرنامج على الكمبيوتر


يمكن استخدام برنامج DimForce.exe على github (بما في ذلك في شكل رموز المصدر):
https://github.com/MastaLomaster/DimForce

حاليا ، البرنامج متصل بشبكة اتصال اردوينو عبر منفذ COM9. إذا لم يكن هذا هو الحال معك ، فقم بتكوين منفذ Arduino كـ COM9. أو إعادة ترجمة البرنامج عن طريق تصحيح السطر في ملف DFSerial.cpp فيه:

 Port = CreateFile(L"\\\\.\\COM9", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL); 

عندما تخطو على المحاكي ، في نافذة البرنامج ، يجب أن يتغير الصفر بمقدار واحد والعكس صحيح:



إذا توقفت عن الوتيرة ، فيجب أن تومض مؤشرات LED بشكل أكثر إزعاجًا ، ثم يتم تشغيل جهاز squeaker ، وفي النهاية ستصبح الشاشة معتمة قليلاً.

لا تتوقف! احصل على صحة!

Source: https://habr.com/ru/post/ar404669/


All Articles