معرفی:
مانند بسیاری از افراد خارج از خانه، من از یک جلسه ورزشی خوب لذت می برم، چه در داخل خانه یا خارج از خانه. به عنوان بخشی از آن، من یک مانیتور ضربان قلب با مارک Polar خریداری کردم که با یک بند سینه "Wearlink" و ساعت گیرنده RS300Xsd ارائه شد.
این ساعت می تواند به تنهایی تجزیه و تحلیل های زیادی را انجام دهد، از نظر ثبت میانگین ضربان قلب، مناطق هدف و موارد مشابه، اما بدون دستگاه اضافی FlowLink، هیچ راه عملی برای انتقال این داده ها به رایانه شخصی برای دستکاری بیشتر وجود ندارد. (در هر صورت، دستگاه FlowLink فقط می تواند با وب سایتی که توسط Polar اجرا می شود همگام شود).
به تازگی با پلتفرم آردوینو و چند برنامه نویسی ساده (من می توانم یک LED چشمک بزنم) شروع به کار کردم، یک راه حل واضح به نظر می رسید، واحد گیرنده خود را بسازم و هر کاری که می خواهم با داده ها انجام دهم…
امکانات و الزامات:
الزامات کلیدی آشکار مانیتور عبارتند از:
- قابل حمل بودن (ورزش شما را جاهایی می برد و معمولاً در آن زمان قلب شما با شماست!)
- باید دادهها را در رسانههای ذخیرهسازی غیرفرار برای بررسی بعدی ثبت کند.
در حالت ایدهآل باید با بند قطبی موجود من ارتباط برقرار کند، زیرا من واقعاً کسی نیستم که هنگام ورزش سیمها را از سینهام آویزان کنند.
در صورت امکان، من همچنین می خواهم یک صفحه نمایش برخی از فرم ها برای نشان دادن آمار/ضربان قلب یا برخی اطلاعات دیگر و همچنین نوعی ورودی برای تغییر تنظیمات دستگاه بدون نیاز به بارگیری مجدد طرح اضافه کنم.
کنار هم قرار دادن چیزها:
پس از کمی تحقیق، مشخص شد که یک ماژول OEM برای ارتباط مستقیم با تسمههای ضربان قلب با برند Polar، ماژول RMCM01 موجود در Sparkfun در دسترس است.
این ماژول تمام کارهای سخت دریافت و فیلتر سیگنال (در فرکانس 5.5 کیلوهرتز) را انجام می دهد و به ازای هر ضربان قلب شناسایی شده، یک پالس 1 میلی ثانیه در 3 ولت تولید می کند. ماژول به راحتی کوچک است و فقط به یک کریستال 32 کیلوهرتز برای ارائه سیگنال ساعت نیاز دارد. در صورت نیاز، یک سیم پیچ آنتن اضافی نیز می تواند به ماژول اضافه شود تا برد دریافت را افزایش دهد.
در مورد مغز واحد، من تصمیم گرفتم با Arduino Uno کار کنم، صرفاً به دلیل سادگی استفاده از سخت افزار و کد از قبل موجود از کتابخانه ها.
من یک صفحه نمایش لمسی 2.8 اینچی Adafruit TFT LCD از آزمایش های قبلی داشتم که به راحتی گزینه های ذخیره سازی، نمایشگر و ورودی را در یک بسته تمیز پوشش می داد. این بدون چند اشکال نبود، زیرا این شیلد خاص تقریباً از تمام پینهای موجود در Uno استفاده میکند. من همچنین تصمیم گرفتم سپر لاگر را که در ابتدا قصد استفاده از آن را برای ذخیره سازی و زمان بندی داشتم کنار بگذارم، زیرا احتمالاً با LCD رفتار نادرست می کند (یا حداقل باعث می شود خیلی بیشتر از آنچه می خواستم کد بنویسم) و می تواند با سود بیشتری در جاهای دیگر استفاده شود. در نتیجه تصمیم گرفتم یک سپر جدید برای ماژول RMCM01 بسازم، حتی اگر این کار باعث میشود من از یک RTC برای زمانبندی دقیق بی بهره باشم.
من همچنین یک بلوک دیاگرام تقریبی از نحوه عملکرد کارها را برای خودم ترسیم کردم، همانطور که در زیر نشان داده شده است: