ورکشاپ آموزشی - آیسی مدار
رفتن به محتوا

پروانه پوشیدنی بیوفیدبک با آردوینو و سنسور ضربان قلب MAX30102

ابزار و گجت
۰ نظر
۸۸ نفر
کد ۳۰۶۸

تا حالا شده یه وسیله بسازی که مستقیم به ضربان قلبت واکنش نشون بده؟ توی این پروژه قراره یه پروانه کوچیک و پوشیدنی بسازیم که بال‌هاش دقیقا هماهنگ با ضربان قلب تو حرکت می‌کنن. هرچی قلبت تندتر بزنه، بال‌های پروانه سریع‌تر می‌چرخن و هرچی آروم‌تر باشی، حرکتش هم آروم‌تر می‌شه.

این پروژه یه ترکیب جالب از الکترونیک، طراحی مکانیکی و هنر حرکتیه. به‌جای اینکه یه وسیله کاربردی بسازیم، هدف اینه یه تجربه حسی و آروم‌بخش بسازیم؛ چیزی که بهت کمک کنه توی لحظه‌های استرس‌زا با بدنت ارتباط بیشتری بگیری. دقیقا همین ترکیب سنسور و حرکت فیزیکیه که کار رو برای علاقه‌مندان به پروژه‌های خلاقانه جذاب می‌کنه.

برای ساختش از یه آردوینو، سنسور ضربان قلب MAX30102 و یه موتور سروو کوچیک استفاده می‌کنیم. سنسور ضربان قلبت رو می‌خونه، آردوینو این داده رو پردازش می‌کنه و بر اساسش سرعت چرخش موتور سروو رو تنظیم می‌کنه؛ موتوری که از طریق یه مکانیزم پرینت‌شده سه‌بعدی، بال‌های پروانه رو حرکت می‌ده.

تیم آیسی‌مدار این آموزش رو قدم‌به‌قدم آماده کرده تا حتی اگه تازه‌کار باشی، بتونی از تست سنسور و موتور تا مونتاژ نهایی پروانه رو خودت جلو ببری. بریم سراغ ساخت.

قطعات موردنیاز

  • آردوینو Uno (ArduinoUno)
  • سنسور ضربان قلب MAX30102 (max30102)
  • موتور سروو ریز SG90 (SG90)
  • سیم‌های جامپر
  • بردبورد (board)
  • مقوای نازک یا ورق‌های پلاستیکی
  • بال‌های کاغذی یا فوم سبک
  • چسب
  • سیم نازک یا گیره کاغذ (برای لینکیج)
  • پیچ (3 عدد)
  • نرم‌افزار Arduino IDE
  • کتابخانه SparkFun MAX30102
مرحله ۱

اتصال سنسور ضربان قلب به آردوینو

اول سنسور MAX30102 رو به آردوینو Nano وصل کن. پین VCC رو به 3.3 ولت، پین GND رو به GND، پین SDA رو به A4 و پین SCL رو به A5 وصل کن. یه نکته مهم: بعضی از ماژول‌های MAX30102 فقط با 3.3 ولت کار می‌کنن و اگه بهشون 5 ولت بدی، بسته به نوع برد ممکنه سنسور آسیب ببینه.

مرحله ۲

تست کردن سنسور MAX30102

قبل از اینکه بریم سراغ ساخت مکانیزم پروانه، اول باید مطمئن بشیم سنسور ضربان قلب درست کار می‌کنه.

دستورالعمل:

  1. کتابخانه SparkFun MAX30102 رو نصب کن
  2. برو به File ← Examples ← MAX3010x ← و گزینه "Example5_HeartRate" رو باز کن
  3. سنسور رو به برد آردوینو وصل کن: 5 ولت به 5 ولت، GND به GND، SDA به A4 (یا SDA)، SCL به A5 (یا SCL)، پین INT بدون اتصال بمونه
  4. کد نمونه رو روی آردوینو Uno آپلود کن
  5. Serial Monitor رو باز کن
  6. بررسی کن: اگه سنسور درست روشن شده باشه، یه چراغ ال‌ای‌دی قرمز باید دیده بشه (عکس اول سنسور خاموشه، عکس دوم روشنه)
  7. انگشتت رو به آرومی روی سنسور بذار؛ زیاد فشار نده چون کیفیت خوندن داده رو پایین میاره
  8. بعد از چند ثانیه باید مقادیر BPM توی Serial Monitor نمایش داده بشه (اگه چیزی نمی‌بینی، مطمئن شو Serial Monitor بازه و باد ریت گوشه پایین‌سمت‌راست درست تنظیم شده)
مرحله ۳

تست کردن موتور سروو

موتور سروو مسئول حرکت بال‌های پروانه‌ست. قبل از اینکه اون رو توی مکانیزم اصلی نصب کنی، اول تست کن که درست می‌چرخه.

دستورالعمل:

  1. سیم سیگنال سروو رو وصل کن

سیم نارنجی (سیگنال) به پین D9، سیم قرمز (VCC) به 5 ولت و سیم GND به GND وصل می‌شه.

  1. یه فایل جدید توی آردوینو باز کن و این کد تست رو بارگذاری کن:
  1. کد رو روی آردوینو Uno آپلود کن. نتیجه‌ای که باید ببینی: موتور سروو باید نرم و روان به جلو و عقب بچرخه.
مرحله ۴

ساخت مدار نهایی پروژه

حالا وقتشه سنسور ضربان قلب و موتور سروو رو توی یه مدار واحد با هم ترکیب کنی.

دستورالعمل:

  1. سنسور و موتور رو طبق دیاگرام به آردوینو وصل کن
  2. کد نهایی آردوینو رو (که پایین‌تر اومده) آپلود کن

این کد چیکار می‌کنه:

  1. داده BPM رو از سنسور MAX30102 می‌خونه
  2. مقادیر ضربان قلب رو صاف و هموار می‌کنه
  3. مقدار BPM رو به سرعت موتور سروو نگاشت می‌کنه
  4. حرکت بال پروانه رو به‌صورت لحظه‌ای کنترل می‌کنه
  1. انگشتت رو روی سنسور بذار و صبر کن تا ضربان قلبت رو تشخیص بده (بعضی وقتا این کار تا 2 دقیقه طول می‌کشه)
  1. خروجی Serial Monitor توی Arduino IDE رو چک کن؛ باید مقادیری مثل BPM، Avg، Current و Step Size رو ببینی
  1. نتیجه مورد انتظار: موتور بسته به ضربان قلبت کندتر یا سریع‌تر می‌چرخه (نمونه خروجی: BPM=58.37, Avg=35, Current=152, Step Size=1)

!! عیب‌یابی !!

اگه موتورت حرکت نمی‌کنه، احتمالا یکی از این دلایله. اول توی خط خروجی رو چک کن:

  1. اگه BPM=0 بود، یعنی هیچ داده‌ای از سنسور نمیاد و باید صبر کنی تا شروع به ثبت کنه. می‌تونی سریع‌تر نفس بکشی یا انگشت دیگه‌ای رو روی سنسور بذاری :)
  2. BPM پایین (مثلا BPM=9.96, Avg=0, Current=10, StepSize=0)

توی کد این شرط هست: اگه bpmToUse کمتر از 20 باشه، stepSize روی حداقل مقدارش تنظیم می‌شه. یعنی همه مقادیر BPM زیر 20 هیچ حرکتی ایجاد نمی‌کنن و باید صبر کنی تا ضربان قلبت بالاتر بره. دومین نکته مربوط به خود برده:

  1. اتصال سیم‌ها پایدار نیست؛ سیم‌ها رو چک کن
  2. اتصال سیم‌ها اشتباهه؛ مدار رو یه بار دیگه بررسی کن
مرحله ۵

پرینت سه‌بعدی مکانیزم بال پروانه

این مکانیزم طوری طراحی شده که سبک باشه و حرکت طبیعی بال پروانه رو تولید کنه.

دستورالعمل:

  1. فایل‌های مدل سه‌بعدی ارائه‌شده رو باز کن و قطعات رو با این تنظیمات پرینت بگیر:

تنظیمات پرینت:

  1. نازل: 0.4 میلی‌متر
  2. درصد پرکنندگی: 15٪
  3. متریال: PETG

از PETG شفاف استفاده شده تا ظاهر پروانه سبک و ظریف به نظر برسه.

مرحله ۶

مونتاژ مکانیزم حرکتی پروانه

دستورالعمل:

  1. موتور سروو رو داخل "هوزینگ" پرینت‌شده جا بذار
  2. سیستم لینکیج بال رو مونتاژ کن
  3. بال‌های پروانه رو وصل کن
  4. همه قطعات متحرک رو محکم ببند
مرحله ۷

مونتاژ نهایی و آماده‌سازی برای پوشیدن

وقت عمله! تقریبا کارت تمومه. حالا باید بخش الکترونیک و مکانیزم پروانه رو توی یه سیستم پوشیدنی با هم ترکیب کنی.

دستورالعمل:

  1. پروانه رو به بند مچی وصل کن و موتور سروو و سنسور رو به آردوینو متصل کن
  2. انگشتت رو روی سنسور بذار و ببین چطور پروانه به‌صورت لحظه‌ای به ضربان قلبت واکنش نشون می‌ده. لذت ببر!
مرحله ۸

جمع‌بندی

پروانه بیوفیدبک ترکیبی از رباتیک پوشیدنی، بیوفیدبک و هنر حرکتیه که توی یه وسیله کوچیک و تعاملی جمع شده؛ وسیله‌ای که هدفش کمک به آرامش و ذهن‌آگاهی توی لحظه‌های پراسترسه.

این پروژه از نظر کاربردی شاید "بی‌فایده" به نظر برسه، اما نشون می‌ده تکنولوژی می‌تونه فراتر از کاربرد صرف، یه تجربه حسی و احساسی هم بسازه. امیدواریم این آموزش تیم آیسی‌مدار برات جذاب بوده باشه؛ اگه سوالی داشتی یا خودت این پروانه رو ساختی، خوشحال می‌شیم توی بخش نظرات باهامون به اشتراک بذاری. ممنون که تا اینجا همراه ما بودی.

فایل‌های پیوست

INO sketch_butterly.ino
STL butterfly.stl
ZIP SparkFun_MAX3010x_Sensor_Library-master.zip

تو میتونی اولین سازنده باشی!

اگه پروژه رو ساختی به اشتراک بزار و اعتبار هدیه بگیر

این آموزش با استانداردهای اختصاصی آیسی‌مدار بازنویسی و بهینه‌سازی شده و تمامی حقوق انتشار آن متعلق به این مجموعه است و در صورت کپی یا بازنشر پیگرد قانونی خواهد داشت.

آموزش‌های مشابه

گفتگو‌های کاربران

هنوز نظری ثبت نشده؛ تو شروع کن!