فهرست مطالب:
- مرحله 1: تنظیم و کالیبراسیون MPU6050
- مرحله 3: ادغام سنسورها با آردوینو
- مرحله 4: ارسال داده ها به ابر
- مرحله 5: استفاده همزمان از 2 دستگاه
- مرحله 6: پیشرفت ها ، یادداشت ها و برنامه های آینده
تصویری: ردیاب دویدن پا IDC2018IOT: 6 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
ما این ایده را به عنوان بخشی از دوره "اینترنت اشیا" در IDC Herzliya مطرح کردیم.
هدف این پروژه افزایش فعالیتهای بدنی است که شامل دویدن یا راه رفتن با استفاده از NodeMCU ، چند سنسور و سرور می شود. نتیجه این پروژه یک دستگاه IOT بسیار مفید است که می تواند در آینده به یک محصول تولیدی واقعی تبدیل شود که در همه جا استفاده خواهد شد! لطفا نظر خود را با ما در میان بگذارید:)
قبل از شروع ، مطمئن شوید که موارد زیر را دارید:
* دستگاه NodeMCU.
* 1 سنسور پیزوالکتریک
* سنسور MPU6050
* یک ماتریس بزرگ
* طناب الاستیک
* حساب Firebase
اختیاری:
* چند سنسور پیزوالکتریک
* مالتی پلکسر
مرحله 1: تنظیم و کالیبراسیون MPU6050
"loading =" تنبل"
دستورالعمل ها:
- پیزو را با مقاومت 1M وصل کنید (به تصویر پیوست مراجعه کنید).
- طرح پیوست شده را بارگذاری کنید.
- دستگاه را با استفاده از طناب کشسان به یک پا وصل کنید.
- "سریال پلاتر" را باز کنید.
- ویدیویی را که به این مرحله ضمیمه شده است مشاهده کنید.
مرحله 3: ادغام سنسورها با آردوینو
ما دیدیم که چگونه سنسورها را کالیبره کنیم ، حالا ما قصد داریم هر دو سنسور را در NodeMCU ادغام کنیم!
- هر دو سنسور را به دستگاه وصل کنید ، از پین های مشابه مراحل 1+2 استفاده کنید.
- طرح پیوست شده را بارگذاری کنید.
- دستگاه را با 2 سنسور به یک پا وصل کنید.
- "سریال پلاتر" را باز کنید.
- فیلم ضمیمه را مشاهده کنید.
مرحله 4: ارسال داده ها به ابر
در این مرحله ما دستگاه خود را به ابر متصل می کنیم و داده ها را برای مشاهده نمودارهای شگفت انگیز ارسال می کنیم!
ما از پروتکل MQTT استفاده می کنیم و داده ها را به سروری رایگان به نام "Adafruit" ارسال می کنیم.
توجه: Adafruit از ارسال داده چند بار در هر ثانیه پشتیبانی نمی کند ، اما با سرعت کمتری کار می کند ، بنابراین ما به طور متوسط از نقاط داده خود ، و نه خود نقاط داده ، ارسال می کنیم. ما داده ها را از 2 سنسور خود به داده های میانگین با استفاده از تغییرات زیر تبدیل می کنیم:
* زمان تشخیص مرحله به مرحله در دقیقه تبدیل می شود. مدت زمان هر مرحله را می توان با (millis () - step_timestamp) پیدا کرد و میانگین را می توان با استفاده از فیلتر انجام داد ، همانطور که قبلاً دیدیم: val = val * 0.7 + new_val * 0.3.
* قدرت گام به توان پله متوسط تبدیل می شود. ما از روش مشابهی برای استفاده از "max" برای هر مرحله استفاده خواهیم کرد ، اما از یک فیلتر برای انجام میانگین گیری با استفاده از میانگین فیلتر = میانگین * 0.6 + new_val * 0.4 استفاده خواهیم کرد.
دستورالعمل ها:
- وب سایت Adafruit را به آدرس io.adafruit.com وارد کنید و مطمئن شوید که حساب کاربری دارید.
- یک داشبورد جدید ایجاد کنید ، می توانید نام آن را "آشکارساز مراحل من" بگذارید.
- در داخل داشبورد ، دکمه + را فشار داده و "نمودار خطی" را انتخاب کنید ، و یک فید با نام "steps_per_min" ایجاد کنید.
- در داخل داشبورد ، دکمه + را فشار داده و "نمودار خطی" را انتخاب کنید ، و یک فید با نام "average_step_power" ایجاد کنید.
- اکنون باید 2 نمودار خالی برای هر یک از فیلدها مشاهده کنید.
- از طرح پیوست شده استفاده کنید و پیکربندی زیر را تنظیم کنید:
USERNAME = نام کاربری Adafruit شما.
KEY = کلید Adafruit شما
WLAN_SSID = نام WIFI
WLAN_PASS = گذر WIFI
mpuStepThreshold = آستانه از مرحله 2
سپس می توانید دستگاه را به یک پا متصل کنید و طرح داده های مراحل را به سرور ارسال می کند!
مرحله 5: استفاده همزمان از 2 دستگاه
در این مرحله ، ما 2 نفر را که همزمان با دستگاه راه می روند شبیه سازی می کنیم!
ما از 2 دستگاه مختلف استفاده می کنیم - با همان نقاط داده که در مرحله 4 توضیح داده شده است.
بنابراین این بسیار آسان است ، 3 کار ساده وجود دارد:
1) ایجاد فیدهای اضافی برای داده ها از دستگاه دوم ، ما پیشنهاد می کنیم که پس از "_2" رفع مشکل را انجام دهید
2) بلوک های داشبورد را برای ارائه داده های هر دو فید تغییر دهید.
3) نام فیدها را در طرح دستگاه دوم تغییر دهید.
4) نتایج را ببینید!
توجه داشته باشید:
Adafruit در برابر داده هایی که خیلی سریع می آیند مقاومت می کند ، ممکن است نیاز به تنظیم فرکانس ارسال داده به سرور باشد. این کار را با یافتن موارد زیر در طرح انجام دهید:
/ / ارسال هر 5 ثانیه بیش از حد Adafruit برای کاربران رایگان نیست. // اگر از حق بیمه یا سرور شخصی خود استفاده می کنید ، تغییر دهید. // هر بار یک نقطه داده متناوب ارسال کنید. if (millis () - lastTimeDataSent> 5000) {
مرحله 6: پیشرفت ها ، یادداشت ها و برنامه های آینده
چالش اصلی:
چالش اصلی در این پروژه آزمایش NodeMCU در یک فعالیت بدنی بود. کابل usb اغلب قطع می شود و هنگام تلاش برای حرکت سریع ممکن است مشکل جدا شدن پین ها وجود داشته باشد. بارها ما در حال اشکال زدایی قطعه ای از کد بودیم که واقعاً کار می کرد و مشکل در حوزه فیزیکی بود.
ما با حمل لپ تاپ به دونده و نوشتن هر قطعه کد در یک زمان بر این چالش غلبه کردیم.
یکی دیگر از چالش ها این بود که اجزای مختلف به راحتی با هم تعامل داشته باشند:
- پیزو با دستگاه شتاب دهنده: همانطور که در مرحله 3 توضیح داده شد ، با ایده ای خلاقانه که داشتیم ، مورد استفاده قرار گرفت.
- سنسورهای سرور: همانطور که در مرحله 4 توضیح داده شد ، ما مقادیر را به مقادیر دیگری تبدیل کردیم که می توانند با سرعتی کمتر به سرور ارسال شوند.
محدودیت های سیستم:
- قبل از استفاده نیاز به کالیبراسیون دارد.
- باید به محصول سفت و سخت تری تبدیل شود که در فعالیت بدنی به راحتی شکسته نمی شود.
- سنسور پیزوالکتریک بسیار دقیق نیست.
- به اتصال وای فای نیاز دارد (به راحتی با استفاده از نقطه اتصال تلفن همراه حل می شود)
برنامه های آینده
اکنون که ما یک دستگاه مانیتورینگ پا به طور کامل کار می کنیم ، پیشرفت های بیشتری می توان انجام داد!
پیوزهای متعدد!
- پیزوها را به نواحی مختلف پا متصل کنید.
- از مالتی پلکسر استفاده کنید زیرا NodeMCU فقط از یک پین آنالوگ پشتیبانی می کند.
- می تواند نقشه حرارتی پا را برای توصیف مناطق ضربه نشان دهد.
- می توانید از این داده ها برای ایجاد هشدار در مورد وضعیت نادرست بدن و تعادل بدن استفاده کنید.
بسیاری از دستگاه ها!
- ما به شما نحوه اتصال همزمان 2 دستگاه را نشان دادیم ، اما می توانید 22 پیزو را به 22 بازیکن فوتبال متصل کنید!
- داده ها را می توان در طول بازی نشان داد تا معیارهای جالبی در مورد بازیکنان نشان دهد!
سنسورهای پیشرفته
ما از پیزو و شتاب سنج استفاده کردیم ، اما می توانید دستگاه های دیگری را اضافه کنید که خروجی را غنی کرده و داده های بیشتری را ارائه می دهند:
- لیزرهای دقیق برای تشخیص قدم ها.
- فاصله بین پا و زمین را اندازه بگیرید.
- اندازه گیری فاصله بین بازیکنان مختلف (در صورت وجود چندین دستگاه)
توصیه شده:
آیا دویدن بر توده پا تأثیر می گذارد: 13 مرحله
آیا دویدن بر توده پا تأثیر می گذارد: آیا دویدن بر حجم/اندازه پا تأثیر می گذارد؟
ردیاب رومیزی COVID19 با ساعت! ردیاب رزبری پای: 6 مرحله
ردیاب رومیزی COVID19 با ساعت! ردیاب رزبری پای: ما می دانیم که ما می توانیم در هر زمان بمیریم ، حتی من می توانم هنگام نوشتن این پست بمیرم ، به هر حال ، من ، شما ، همه ما فانی هستیم. تمام دنیا به دلیل همه گیری COVID19 لرزید. ما می دانیم چگونه از این امر جلوگیری کنیم ، اما هی! ما می دانیم چگونه دعا کنیم و چرا باید دعا کنیم ، آیا این کار را می کنیم
تأثیر ضربه بر پاشنه و پای دونده در حین دویدن: 6 مرحله
تأثیر نیرو بر پاشنه و پای دونده در حین دویدن: برای پروژه خود می خواستم میزان نیرویی را که پاشنه و پای دونده در معرض آن است و اگر کفش های دویدن جدید واقعاً این نیرو را کاهش می دهند ، آزمایش کنم. شتاب سنج دستگاهی است که شتاب را در محورهای X ، Y و Z تشخیص می دهد. شتاب قابل اندازه گیری است
کرونومتر برای 30 متر دویدن (آردوینو): 6 مرحله (همراه با تصاویر)
کرونومتر برای 30 متر دویدن (آردوینو): این پروژه با هدف خاصی در مربیگری بیس بال فنلاند و آزمایش سرعت بازیکنان خردسال در 30 متر دویدن ساخته شده است. این arduino projeckt همچنین یک پروژه درسی در مطالعات من بود. این پروژه فراز و نشیب هایی داشت ، اما در حال حاضر ، حداقل ، کارایی دارد
چگونه هنگام دویدن برق تولید کنیم!: 4 قدم
چگونه می توان هنگام دویدن برق تولید کرد!: آیا دوست ندارید که انرژی جنبشی مورد استفاده در هنگام دویدن به چیزهای دیگر متصل شود؟ خوب بدانید که می تواند! این ایده ای است که من از Daily Planet گرفتم. وضعیت آنها بسیار بهتر بود ، اما من می خواستم خودم آن را بسازم