فهرست مطالب:

پوشیدنی - پروژه نهایی: 7 مرحله
پوشیدنی - پروژه نهایی: 7 مرحله

تصویری: پوشیدنی - پروژه نهایی: 7 مرحله

تصویری: پوشیدنی - پروژه نهایی: 7 مرحله
تصویری: آموزش مدیریت پروژه بر اساس استاندارد PMBOK 7 در دانشگاه تهران 2024, ژوئن
Anonim
پوشیدنی - پروژه نهایی
پوشیدنی - پروژه نهایی

معرفی

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

پروژه توسط Marc Vila ، Guillermo Stauffacher و Pau Carcellé

مرحله 1: مواد و اجزاء

مواد و اجزاء
مواد و اجزاء

مصالح و مواد ساختمانی:

- مچ بند چاپی سه بعدی

- پیچ M3 (x8)

- مهره M3 (x12)

- بسته فانی

مواد الکترونیکی:

سنسور ضربان قلب BPM

- دکمه ها (x2)

- پتانسیومتر

- LCD C 1602 MODULE

- MODULE DFPLAYER MINI MP3

- هدست 3.5 میلی متری جک استریو TRRS

- کارت MicroSD

- صفحه آردوینو اونو

- جوشکار

- بشقاب صفحه

مرحله 2: یک مچ بند طراحی کنید

طراحی مچ بند
طراحی مچ بند
طراحی مچ بند
طراحی مچ بند

ابتدا چندین طرح برای سازماندهی اجزای مختلف در مچ بند تهیه می کنیم.

با ایده روشن ، اندازه گیری سه بازوی اعضای گروه را انجام دادیم ، سپس میانگین را بدست آوردیم تا اندازه مطلوب برای طراحی را بیابیم. در نهایت ما محصول را با یک برنامه سه بعدی طراحی کرده و با چاپگر سه بعدی چاپ می کنیم.

می توانید فایل های. STL را از اینجا بارگیری کنید.

مرحله 3: اتصالات الکترونیکی

اتصالات الکترونیکی
اتصالات الکترونیکی

ما به بررسی های لازم در مورد طراحی سه بعدی خود ادامه می دهیم ، اولین مجموعه ای از تمام اجزای نمونه اولیه را ایجاد کردیم تا ببینیم اندازه گیری ها درست بوده است.

برای اتصال همه قطعات به برد آردوینو ، اتصالات متفاوتی از قطعات با استفاده از کابل های 0 ، 5 متری ایجاد کردیم ، به این ترتیب دید برد را کاهش می دهیم و نمونه اولیه را بهتر سازماندهی می کنیم.

مرحله 4: کد

کد
کد
کد
کد
کد
کد

این پروژه یک نمونه اولیه سایبورگ است. بدیهی است که ما اجزای زیر پوست را معرفی نکرده ایم ، بنابراین آن را با یک دستبند به عنوان ارتز شبیه سازی کرده ایم (دستگاه خارجی برای اصلاح جنبه های عملکردی روی بدن اعمال می شود).

کد ما ضربه های کلیدی کاربر را می گیرد و با استفاده از صفحه LCD آنها را نشان می دهد. علاوه بر BPM ، صفحه نمایش شدت مورد نظر را نشان می دهد تا کاربر بتواند آن را با ضربان قلب خود مقایسه کند. شرایط زیادی وجود دارد که افزایش یا کاهش BPM خود جالب است. به عنوان مثال ، ورزشکاران استقامتی باید ضربان قلب را کنترل کنند تا بیش از حد خسته نشوند. یک مثال روزمره این است که بخواهید در شرایط عصبی بخوابید یا آرام باشید. همچنین می تواند به عنوان یک روش درمانی برای افراد مبتلا به اوتیسم مورد استفاده قرار گیرد تا استرس خود را کاهش دهند. در کنار صفحه دو دکمه برای کنترل شدت مورد نظر و افزایش یا کاهش ضربان قلب وجود دارد. بسته به شدت ، یک نوع موسیقی که قبلاً مورد مطالعه قرار گرفته است پخش می شود. مطالعاتی وجود دارد که نشان می دهد موسیقی می تواند BPM را تغییر دهد. با توجه به Beats per Minute آهنگ ، بدن انسان از آن BPM تقلید می کند و با آن مطابقت دارد.

int SetResUp = 11؛ // پین 10 آردوینو با دکمه افزایش شدت.int SetResDown = 12؛ // پین 11 آردوینو با دکمه کاهش شدت

int ResButtonCounter = 0؛ // شمارنده زمان که تنظیم مقاومت را افزایش یا کاهش می دهد ، مقدار اولیه 0 int ResButtonUpState = 0 ؛ // وضعیت فعلی دکمه افزایش شدت int ResButtonDownState = 0؛ // وضعیت فعلی دکمه کاهش شدت int lastResButtonUpState = 0؛ // آخرین حالت دکمه افزایش شدت int lastResButtonDownState = 0؛ // آخرین حالت دکمه کاهش شدت

int pulsePin = 0؛ // سنسور پالس متصل به پورت A0 // این متغیرها فرار هستند زیرا در روال وقفه در برگه دوم استفاده می شوند. فرار int BPM ؛ // ضربان در دقیقه فرار int سیگنال؛ // سنسور پالس ورودی داده فرار int IBI = 600؛ // زمان پالس فرار boolean Pulse = false؛ // درست زمانی که موج پالس زیاد است ، غلط زمانی که کم است فرار QS = false؛

# define Start_Byte 0x7E # define Version_Byte 0xFF # define Command_Length 0x06 # define End_Byte 0xEF # define تصدیق 0x00 // اطلاعات را با فرمان 0x41 [0x01: اطلاعات ، 0x00: بدون اطلاعات] برمی گرداند

// PANTALLA #include // بارگذاری کتابخانه برای عملکردهای صفحه LCD #شامل #شامل

LCD مایع LiquidCrystal (7 ، 6 ، 5 ، 4 ، 3 ، 2) ؛ // پورتهایی را که LCD متصل است اعلام کنید

// LECTOR #include #include // بارگذاری کتابخانه برای عملکردهای ماژول dfplayer mini MP3.

char serialData؛ int nsong؛ در تلویزیون؛

نرم افزار ارتباطات سریال (9 ، 10) ؛ // پورتهایی را که DFPlayer به آن متصل است اعلام کنید DFRobotDFPlayerMini mp3 ؛

void setup () {Serial.begin (9600)؛ pinMode (SetResUp ، INPUT) ؛ pinMode (SetResDown ، INPUT) ؛

// ابعاد LCD (16x2) lcd.begin (16 ، 2) را تعریف کنید ؛ // ما انتخاب می کنیم که در کدام ستون و در کدام خط متن شروع به نمایش می کند // LECTOR comm.begin (9600) ؛

mp3.begin (comm) ؛ // کامپوننت شروع می کند serialData = (char) ((''))؛ mp3.start ()؛ Serial.println ("پخش") ؛ // پخش آهنگ mp3.volume (25)؛ // تعریف حجم}

void loop () {if (digitalRead (11) == LOW) {mp3.next ()؛ // اگر دکمه فشار داده شود ، آهنگ} if (digitalRead (12) == LOW) {mp3.prevenue ()؛ // اگر دکمه فشار داده شود ، آهنگ قبلی} // if (SetResUp && SetResDown == LOW) {

int pulso = analogRead (A0) ؛ // مقدار مانیتور ضربان قلب متصل به پورت آنالوگ A0 را بخوانید

Serial.println (pulso/6)؛ if (QS == true) {// Flag of Quantified Self درست است مانند جستجوی آردوینو BPM QS = false؛ // بازنشانی پرچم Quantified Self}

lcd.setCursor (0 ، 0) ؛ // نمایش متن مورد نظر lcd.print ("BPM:") ؛ lcd.setCursor (0 ، 1) ؛ // نمایش متن مورد نظر lcd.print ("INT:")؛ lcd.setCursor (5 ، 0) ؛ // نمایش متن مورد نظر lcd.print (pulso) ؛ lcd.setCursor (5 ، 1) ؛ // نمایش متن مورد نظر lcd.print (ResButtonCounter) ؛ تأخیر (50) ؛ lcd.clear ()؛ ResButtonUpState = digitalRead (SetResUp) ؛ ResButtonDownState = digitalRead (SetResDown) ؛

// TempButtonState را با حالت قبلی خود مقایسه کنید

if (ResButtonUpState! = lastResButtonUpState && ResButtonUpState == LOW) {// اگر آخرین حالت تغییر کرد ، شمارنده را افزایش دهید

ResButtonCounter ++ ؛ }

// ذخیره حالت فعلی به عنوان آخرین حالت ، // برای دفعه بعد که حلقه اجرا می شود lastResButtonUpState = ResButtonUpState؛

// وضعیت دکمه (افزایش یا کاهش) را با آخرین حالت مقایسه کنید

if (ResButtonDownState! = lastResButtonDownState && ResButtonDownState == LOW) {

// اگر آخرین حالت تغییر کرد ، شمارنده را کاهش دهید

ResButtonCounter-- ؛ }

// ذخیره حالت فعلی به عنوان آخرین حالت ، // برای دفعه بعد که حلقه اجرا می شود lastResButtonDownState = ResButtonDownState؛ {Serial.println (ResButtonCounter) ؛

if (ResButtonCounter> = 10) {ResButtonCounter = 10 ؛ }

if (ResButtonCounter <1) {ResButtonCounter = 1 ؛ }

}

}

مرحله 5: مجموع مونتاژ

با کد به درستی برنامه ریزی شده و دو قسمت نمونه اولیه ما از قبل مونتاژ شده اند. همه اجزا را در جای خود قرار می دهیم و با نوار به آن می پیوندیم تا به دستبند ثابت شود. اجزای موجود در دستبند عبارتند از سنسور ضربان قلب BPM ، دو دکمه ، پتانسیومتر و صفحه LCD ، هر یک در سوراخ مربوطه که قبلاً در فایل 3D طراحی شده بود. با انجام اولین قسمت ، ما روی صفحه اصلی تمرکز می کنیم ، هر اتصال دهنده روی پین صحیح برد Arduino قرار دارد. در نهایت ، با تأیید عملکرد هر جزء ، آن را در پکیج فانی قرار می دهیم تا سیم ها پنهان شوند.

مرحله ششم: فیلم

مرحله 7: نتیجه گیری

جالب ترین چیز در مورد این پروژه یادگیری در مورد تقلید ناخودآگاه بدن انسان با موسیقی است. این راه را برای گزینه های زیادی برای پروژه های آینده باز می کند. من فکر می کنم این یک پروژه کامل است ، ما اجزای بسیار متنوعی با کد کار شده داریم. اگر دوباره شروع کنیم ، به جایگزین های دیگری فکر می کنیم یا آنها را با کیفیت بهتر خریداری می کنیم. ما مشکلات زیادی در مورد خرابی کابل ها و جوش ها داشته ایم ، آنها کوچک و بسیار ظریف هستند (مخصوصاً BPM). از طرف دیگر هنگام اتصال قطعات باید مراقب باشید ، آنها خروجی های زیادی دارند و اشتباه کردن آسان است.

این یک پروژه بسیار غنی کننده است که در آن طیف گسترده ای از گزینه های سخت افزاری و نرم افزاری آردوینو را لمس کرده ایم.

توصیه شده: