جدول المحتويات:
- الخطوة 1: المواد والمكونات
- الخطوة الثانية: تصميم سوار معصم
- الخطوة الثالثة: التوصيلات الإلكترونية
- الخطوة 4: الكود
- الخطوة 5: التجميع الكلي
- الخطوة 6: الفيديو
- الخطوة 7: الخاتمة
فيديو: يمكن ارتداؤها - المشروع النهائي: 7 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
المقدمة
في هذا المشروع ، كان لدينا مهمة صنع نموذج أولي عملي يمكن ارتداؤه استنادًا إلى وظائف سايبورغ. هل تعلم أن قلبك يتزامن مع BPM للموسيقى؟ يمكنك محاولة التحكم في حالتك المزاجية من خلال الموسيقى ، ولكن ماذا لو تركنا التكنولوجيا تساعدنا على الهدوء؟ نحتاج فقط إلى بعض المكونات ، Arduino وسماعات الرأس الخاصة بك. دعونا نبتكر!
مشروع من إعداد مارك فيلا وغيليرمو ستوفاخر وباو كارسيلي
الخطوة 1: المواد والمكونات
مواد بناء:
- معصم مطبوع ثلاثي الأبعاد
- مسامير M3 (x8)
- صواميل M3 (x12)
- فاني باك
المواد الإلكترونية:
-مستشعر معدل ضربات القلب BPM
- أزرار (x2)
- مقياس فرق الجهد
- وحدة LCD C 1602
- MODULE DFPLAYER MINI MP3
- سماعة جاك ستيريو TRRS مقاس 3.5 ملم
- بطاقة مايكرو التنمية المستدامة
- لوحة اردوينو أونو
- لحام
- صفيحة الباكليت
الخطوة الثانية: تصميم سوار معصم
نقوم أولاً بعمل عدة رسومات لتنظيم المكونات المختلفة في سوار المعصم.
مع الفكرة الواضحة ، أخذنا قياسات الأذرع الثلاثة لأعضاء المجموعة ، ثم قمنا بعمل المتوسط لإيجاد المقياس الأمثل للتصميم. أخيرًا نصمم المنتج ببرنامج ثلاثي الأبعاد ونطبعه باستخدام طابعة ثلاثية الأبعاد.
يمكنك تنزيل ملفات. STL هنا.
الخطوة الثالثة: التوصيلات الإلكترونية
نواصل إجراء الفحوصات اللازمة لتصميمنا ثلاثي الأبعاد ، وقمنا بالتجميع الأول لجميع المكونات في النموذج الأولي لنرى أن القياسات كانت صحيحة.
لتوصيل جميع المكونات بلوحة Arduino ، قمنا بإجراء اتصالات مختلفة من المكونات باستخدام كبلات 0 و 5 أمتار ، وبهذه الطريقة نحد من رؤية اللوحة وننظم النموذج الأولي بشكل أفضل.
الخطوة 4: الكود
هذا المشروع هو نموذج سايبورغ. من الواضح أننا لم نقدم المكونات الموجودة تحت الجلد ، لذلك قمنا بمحاكاة ذلك باستخدام سوار كجهاز تقويم (جهاز خارجي يتم وضعه على الجسم لتعديل الجوانب الوظيفية).
يأخذ الكود الخاص بنا ضغطات المستخدم ويظهرها باستخدام شاشة LCD. بالإضافة إلى BPM ، تُظهر الشاشة الكثافة المطلوبة بحيث يمكن للمستخدم مقارنتها بمعدل ضربات قلبه. هناك العديد من المواقف التي يكون فيها من المثير للاهتمام زيادة أو تقليل BPM الخاصة بك. على سبيل المثال ، يجب على رياضيي التحمل التحكم في النبضات حتى لا يتعبوا بشكل مفرط. من الأمثلة اليومية على ذلك الرغبة في النوم أو الهدوء في موقف عصبي. يمكن أيضًا تطبيقه كطريقة علاجية للأشخاص المصابين بالتوحد لتقليل التوتر الذي يشعرون به. يوجد بجانب الشاشة زرين للتحكم في الشدة المطلوبة وزيادة معدل ضربات القلب أو خفضه. اعتمادًا على شدة الموسيقى ، يتم تشغيل نوع موسيقي تمت دراسته مسبقًا. هناك دراسات تظهر أن الموسيقى يمكن أن تغير BPM. وفقًا لـ Beats per Minute of the Song ، فإن جسم الإنسان يقلد ويطابق تلك BPM.
عدد صحيح SetResUp = 11 ؛ // pin 10 من Arduino مع زر زيادة الكثافة.int SetResDown = 12 ؛ // pin 11 من Arduino مع زر تقليل الكثافة
int ResButtonCounter = 0 ؛ // مرات العداد الذي يزيد أو ينقص إعداد المقاومة ، القيمة الأولية 0 int ResButtonUpState = 0 ؛ // الحالة الحالية لزر زيادة الشدة int ResButtonDownState = 0 ؛ // الحالة الحالية لزر تقليل الشدة int lastResButtonUpState = 0 ؛ // آخر حالة لزر زيادة الكثافة int lastResButtonDownState = 0 ؛ // آخر حالة لزر تقليل الشدة
int pulsePin = 0 ؛ // Pulse Sensor متصل بالمنفذ A0 // هذه المتغيرات متقلبة لأنها تستخدم أثناء روتين المقاطعة في علامة التبويب الثانية. متقلبة int BPM ؛ // يدق في الدقيقة إشارة int متقلبة ؛ // إدخال بيانات مستشعر النبض متقلب int IBI = 600 ؛ // وقت النبض نبض منطقي متقلب = خطأ ؛ // صحيح عندما تكون موجة النبض عالية ، وكاذبة عندما تكون منخفضة التقلب المنطقي QS = خطأ ؛
# عرّف Start_Byte 0x7E # عرّف Version_Byte 0xFF # عرّف Command_Length 0x06 # عرّف End_Byte 0xEF # عرّف إقرار 0x00 // إرجاع المعلومات بالأمر 0x41 [0x01: info ، 0x00: no info]
// PANTALLA #include // قم بتحميل المكتبة لوظائف شاشة LCD # تضمين # تضمين
LiquidCrystal LCD (7 ، 6 ، 5 ، 4 ، 3 ، 2) ؛ // قم بتعريف المنافذ حيث تم توصيل شاشة LCD
// LECTOR #include #include // قم بتحميل المكتبة لوظائف الوحدة dfplayer mini MP3.
سلسلة شار البيانات ؛ نسونغ إنت في التلفاز؛
SoftwareSerial بالاتصالات (9 ، 10) ؛ // قم بتعريف المنافذ حيث يتم توصيل DFPlayer DFRobotDFPlayerMini mp3 ؛
إعداد باطل () {Serial.begin (9600) ؛ pinMode (SetResUp ، INPUT) ؛ pinMode (SetResDown ، INPUT) ؛
// تحديد أبعاد شاشة LCD (16 × 2) lcd.begin (16 ، 2) ؛ // نختار في أي عمود وفي أي سطر يبدأ النص في إظهار // LECTOR comm.begin (9600) ؛
mp3.begin (بالاتصالات) ؛ // يبدأ المكون serialData = (char) (('')) ؛ mp3.start () ، Serial.println ("تشغيل") ؛ // تشغيل أغنية mp3.volume (25) ؛ // تحديد الحجم}
حلقة باطلة () {if (digitalRead (11) == LOW) {mp3.next () ؛ // إذا تم الضغط على الزر ، تمر الأغنية} إذا (digitalRead (12) == LOW) {mp3.previous ()؛ // إذا تم الضغط على الزر ، فإن الأغنية السابقة} // if (SetResUp && SetResDown == LOW) {
int pulso = analogRead (A0) ؛ // اقرأ قيمة جهاز مراقبة معدل ضربات القلب المتصل بالمنفذ التناظري A0
Serial.println (pulso / 6) ؛ إذا كان (QS == true) {// Flag of Quantified Self صحيح مثل بحث اردوينو في BPM QS = false ؛ // إعادة تعيين علم النفس الكمي}
lcd.setCursor (0 ، 0) ؛ // إظهار lcd.print النص المطلوب ("BPM:") ؛ lcd.setCursor (0 ، 1) ؛ // إظهار lcd.print النص المطلوب ("INT:") ؛ lcd.setCursor (5 ، 0) ؛ // إظهار lcd.print النص المطلوب (نبض) ؛ lcd.setCursor (5 ، 1) ؛ // إظهار lcd.print النص المطلوب (ResButtonCounter) ؛ تأخير (50) ؛ lcd.clear () ؛ ResButtonUpState = digitalRead (SetResUp) ، ResButtonDownState = digitalRead (SetResDown) ،
// قارن TempButtonState مع حالتها السابقة
إذا (ResButtonUpState! = lastResButtonUpState && ResButtonUpState == LOW) {// إذا تغيرت الحالة الأخيرة ، فقم بزيادة العداد
ResButtonCounter ++ ؛ }
// حفظ الحالة الحالية كالحالة الأخيرة ، // في المرة التالية التي يتم فيها تنفيذ الحلقة lastResButtonUpState = ResButtonUpState؛
// قارن حالة الزر (زيادة أو نقصان) بالحالة الأخيرة
إذا (ResButtonDownState! = lastResButtonDownState && ResButtonDownState == LOW) {
// إذا تغيرت الحالة الأخيرة ، قم بإنقاص العداد
ResButtonCounter-- ؛ }
// حفظ الحالة الحالية كالحالة الأخيرة ، // في المرة التالية التي يتم فيها تنفيذ الحلقة lastResButtonDownState = ResButtonDownState؛ {Serial.println (ResButtonCounter) ،
إذا (ResButtonCounter> = 10) {ResButtonCounter = 10 ؛ }
إذا (ResButtonCounter <1) {ResButtonCounter = 1 ؛ }
}
}
الخطوة 5: التجميع الكلي
مع الكود المبرمج بشكل صحيح وتم تجميع جزأين من نموذجنا الأولي بالفعل. نضع جميع المكونات في مكانها ونجمعها بشريط لتثبيتها في السوار. المكونات الموجودة في السوار هي مستشعر معدل ضربات القلب BPM ، والزرين ، ومقياس الجهد وشاشة LCD ، كل واحد في الفتحة الخاصة به المصمم مسبقًا في ملف ثلاثي الأبعاد. بعد الانتهاء من الجزء الأول ، نركز على اللوحة الأولية ، كل موصل على الدبوس الصحيح للوحة Arduino. أخيرًا ، مع عملية التحقق من كل مكون ، نضعه في حزمة فاني لإخفاء الأسلاك.
الخطوة 6: الفيديو
الخطوة 7: الخاتمة
الشيء الأكثر إثارة للاهتمام في هذا المشروع هو التعرف على تقليد جسم الإنسان دون وعي بالموسيقى. هذا يفتح الباب أمام العديد من الخيارات للمشاريع المستقبلية. أعتقد أن هذا مشروع كامل ، فلدينا مجموعة متنوعة من المكونات مع كود عمل. إذا بدأنا مرة أخرى ، فسوف نفكر في بدائل أخرى للمكونات أو نشتريها بجودة أفضل. لقد واجهنا الكثير من المشاكل مع الكابلات المكسورة واللحام ، فهي صغيرة وحساسة للغاية (خاصة BPM). من ناحية أخرى ، يجب توخي الحذر عند توصيل المكونات ، فهي تحتوي على العديد من المخرجات ومن السهل ارتكاب الأخطاء.
إنه مشروع ثري للغاية تطرقنا فيه إلى مجموعة واسعة من خيارات أجهزة وبرامج Arduino.
موصى به:
تقنية يمكن ارتداؤها لمرض باركنسون: 4 خطوات
تكنولوجيا مرض باركنسون القابلة للارتداء: أكثر من 10 ملايين شخص في جميع أنحاء العالم يعيشون مع مرض باركنسون (PD). اضطراب تدريجي في الجهاز العصبي يسبب تيبسًا ويؤثر على حركة المريض. بعبارات أبسط ، عانى العديد من الأشخاص من مرض باركنسون ولكن
إضاءة يمكن ارتداؤها Jack-O-Lantern: 5 خطوات (مع صور)
يمكن ارتداؤها Light Up Jack-O-Lantern: إليك مشروع مطبوع ثلاثي الأبعاد رائع يجب تنفيذه قبل عيد الهالوين. اتبع الخطوات أدناه ، لتجعل من نفسك مصباح Jack-O-Lantern القابل للارتداء بطباعة ثلاثية الأبعاد ، والذي يمكنك ارتداؤه حول رقبتك ، أو وضعه على مكتب العمل الخاص بك للحصول على Hallowe
مصابيح بسيطة ومعيارية يمكن ارتداؤها!: 5 خطوات (بالصور)
مصابيح بسيطة وقابلة للارتداء! قم بإرفاق جميع أنواع الأدوات واستبدل الألوان لتتناسب مع الملابس / المشاعر / الأعياد / كل الأشياء! الصعوبة: مبتدئ + (solderi
ATtiny85 ساعة تتبع النشاط بالاهتزاز يمكن ارتداؤها وبرمجة ATtiny85 مع Arduino Uno: 4 خطوات (بالصور)
ATtiny85 ساعة تتبع النشاط بالاهتزاز يمكن ارتداؤها وبرمجتها ATtiny85 مع Arduino Uno: كيف تصنع ساعة تتبع النشاط القابلة للارتداء؟ هذه أداة يمكن ارتداؤها مصممة لتهتز عندما تكتشف ركودًا. هل تقضي معظم وقتك على الكمبيوتر مثلي؟ هل تجلس لساعات دون أن تدرك ذلك؟ هذا الجهاز هو f
شارة إلكترونية يمكن ارتداؤها: 6 خطوات (بالصور)
الشارة الإلكترونية القابلة للارتداء: هنا مشروع رائع يجب القيام به إذا كنت تخطط للذهاب إلى لقاء الأجهزة / Python ، أو تخطط للذهاب إلى Makerfaire المحلي. اصنع شارة إلكترونية يمكن ارتداؤها ، تستند إلى Raspberry Pi Zero وشاشة PaPiRus pHAT eInk. يمكنك متابعة