فهرست مطالب:

دستگاه جایگزینی و تقویت حسی ارتعاشی (SSAD): 4 مرحله
دستگاه جایگزینی و تقویت حسی ارتعاشی (SSAD): 4 مرحله

تصویری: دستگاه جایگزینی و تقویت حسی ارتعاشی (SSAD): 4 مرحله

تصویری: دستگاه جایگزینی و تقویت حسی ارتعاشی (SSAD): 4 مرحله
تصویری: گوز زدن پریانکا چوپرا هنرپیشه بالیوود در یکی از برنامه های لایف تلویزیونی |C&C 2024, نوامبر
Anonim
دستگاه جایگزینی و تقویت حسی ارتعاشی (SSAD)
دستگاه جایگزینی و تقویت حسی ارتعاشی (SSAD)
دستگاه جایگزینی و تقویت حسی ارتعاشی (SSAD)
دستگاه جایگزینی و تقویت حسی ارتعاشی (SSAD)

هدف این پروژه تسهیل تحقیقات در زمینه جایگزینی حسی و افزایش است. من این امکان را داشتم که در پایان نامه کارشناسی ارشد روشهای مختلف ساخت نمونه های اولیه vibrotactile SSAD را بررسی کنم. جایگزینی حسی و تقویت موضوعی است که نه تنها دانشمندان کامپیوتر ، بلکه محققان حوزه های دیگر را نیز درگیر می کند ، مانند علوم شناختی ، یک دستورالعمل گام به گام باید به غیر متخصصان الکترونیک و علوم کامپیوتر این امکان را بدهد که این نمونه اولیه را برای خود جمع آوری کنند. اهداف تحقیق.

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

دستورالعمل فعلی شامل دستورالعمل های گام به گام نحوه ساخت نمونه اولیه SSAD با حداکثر 4 موتور و حسگرهای آنالوگ است.

علاوه بر این دستورالعمل ، من سه برنامه افزودنی ایجاد کرده ام: در ابتدا ، دستورالعمل هایی در مورد نحوه استفاده از بیش از چهار موتور با این نمونه اولیه SSAD (https://www.instructables.com/id/Using-More-Than-4…) منتشر کردم. در مرحله دوم ، من یک مثال و نحوه ایجاد پوشیدنی بودن این نمونه اولیه (https://www.instructables.com/id/Making-the-SSAD-W…) و نحوه پوشش دادن موتورهای ERM بدون جرم چرخشی محصور شده ایجاد کردم (https:/ /www.instructables.com/id/Covering-Rotating…). علاوه بر این ، نمونه ای از نحوه ادغام غیر از سنسورهای آنالوگ (در این مورد سنسورهای مجاورت) با نمونه اولیه نیز منتشر می شود (https://www.instructables.com/id/Including-a-Proxi…).

"جایگزینی حسی و تقویت" چیست؟

با استفاده از جایگزینی حسی ، اطلاعات جمع آوری شده توسط یک روش حسی (مانند بینایی) را می توان از طریق حس دیگری (به عنوان مثال صدا) درک کرد. این یک تکنیک امیدوار کننده غیر تهاجمی است که به افراد کمک می کند تا بر ضعف یا اختلال حسی غلبه کنند.

اگر محرک حسی ، که ترجمه می شود ، به طور معمول توسط انسان قابل درک نیست (به عنوان مثال نور UV) ، این رویکرد افزایش حسی نامیده می شود.

برای ساخت این نمونه اولیه به چه مهارتهایی نیاز است؟

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

آیا ماشین آلات یا ابزار مورد نیاز گران قیمت هستند یا به راحتی در دسترس نیستند؟

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

تدارکات

اجزای اصلی (حدود 65 اینچ برای 4 موتور ، بدون تجهیزات لحیم کاری)

  • Arduino Uno (به عنوان مثال https://store.arduino.cc/arduino-uno-rev3 ، 20 £)
  • Adafruit Motorshield v2.3 (به عنوان مثال https://www.adafruit.com/product/1438 ، 20 £) و هدرهای انباشته مردانه (معمولاً هنگام خرید موتور شیلد شامل می شود)
  • موتورهای ERM استوانه ای (به عنوان مثال https://www.adafruit.com/product/1438 ، 5 ، 50 £/motor)
  • آهن لحیم کاری و سیم لحیم کاری
  • سیم ها

اختیاری (به برنامه های افزودنی مراجعه کنید)

اگر موتور ERM با جرم چرخان بدون پوشش خریداری شود:

  • لوله وینیل
  • تخته نرم نازک
  • چاپگر سه بعدی (برای قاب آردوینو)

اگر می خواهید از بیش از 4 موتور استفاده کنید (برای بیش از 8 همان زمان دیگر):

  • Adafruit Motorshield v2.3 و هدرهای انباشته مردانه
  • هدرهای انباشته زنانه (به عنوان مثال
  • Arduino Mega برای بیش از 6 موتور (به عنوان مثال

مرحله 1: لحیم کاری

لحیم کاری
لحیم کاری

پین ها را به موتور موتور بچسبانید

Adafruit یک آموزش بسیار جامع در مورد نحوه اتصال سرصفحه به موتور (https://learn.adafruit.com/adafruit-motor-shield-v…) ارائه می دهد:

  1. ابتدا ، هدرهای روی هم را در پین های Arduino Uno قرار دهید ،
  2. سپس ، سپر را در بالا قرار دهید ، به طوری که قسمت کوتاه سنجاق ها به بیرون بچسبد.
  3. پس از آن ، همه پین ها را به سپر بچسبانید و مطمئن شوید که لحیم در اطراف سوزن جریان می یابد و به شکل آتشفشان شکل می گیرد (به عکس بالا مراجعه کنید ، که از https://cdn.sparkfun.com/assets/c/d/ گرفته شده است) a/a/9/523b1189…).

اگر در زمینه لحیم کاری مبتدی هستید ، با آموزش های بیشتری مانند https://learn.sparkfun.com/tutorials/how-to-solder… به خودتان کمک کنید.

سیمهای بلندتری را به موتور وصل کنید

از آنجا که اکثر موتورها بدون سیم یا بسیار کوتاه و نازک می آیند ، منطقی است که آنها را با لحیم کاری به سیم های بلندتر و قوی تر بسازیم. در اینجا نحوه انجام این کار است:

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

مرحله 2: سیم کشی

سیم کشی
سیم کشی
  1. پشته موتور را در بالای آردوینو قرار دهید.
  2. موتورها را داخل محافظ موتور پیچ کنید.
  3. سنسورهای آنالوگ سیم به آردوینو (در تصویر این کار با سنسورهای نور انجام می شود ، اما مدار مشابه برای سایر سنسورهای آنالوگ یکسان به نظر می رسد).

مرحله 3: کد نویسی

کد نویسی
کد نویسی
کد نویسی
کد نویسی
کد نویسی
کد نویسی
کد نویسی
کد نویسی

1. بارگیری کنید

پوشه zip (SSAD_analogueInputs.zip) را که در زیر ضمیمه شده است بارگیری کنید. آن را از حالت فشرده خارج کنید.

Arduino IDE (https://www.arduino.cc/fa/main/software) را بارگیری کنید.

فایل Arduino (SSAD_analogueInputs.ino) را که داخل پوشه فشرده نشده است با IDE آردوینو باز کنید.

2. کتابخانه ها را نصب کنید

برای اجرای کد ارائه شده ، باید برخی از کتابخانه ها را نصب کنید. بنابراین ، اگر فایل آردوینو ، که در انتهای این مقاله ضمیمه شده است ، در داخل آردوینو IDE باز است ، موارد زیر را انجام دهید:

  1. کلیک کنید: ابزارها → مدیریت کتابخانه ها…
  2. در قسمت فیلتر جستجوی خود "کتابخانه Adafruit Motor Shield V2" را جستجو کنید
  3. با کلیک روی دکمه نصب آن را نصب کنید

پس از بارگیری آن کتابخانه ها ، اکنون عبارات #شامل کدهای ارائه شده کار می کند. با کلیک روی دکمه "تأیید" (علامت در بالا سمت چپ) آن را بررسی کنید. می دانید که همه کتابخانه ها کار می کنند ، اگر در انتهای برنامه پیام "کامپایل انجام شد" را دریافت کنید. در غیر این صورت یک نوار قرمز ظاهر می شود و شما پیامی از اشتباه دریافت خواهید کرد.

3. کد را تغییر دهید

با توجه به دستورالعمل زیر ، کد را با توجه به مورد استفاده خود تغییر دهید:

راه اندازی موتورها و خروجی های حسی آنها

اول از همه ، اعلام کنید که موتورها از کدام پین استفاده می کنند و همچنین موتورها در چه محدوده ای کار می کنند. به عنوان مثال ، موتوری که به M4 متصل است و در محدوده (سرعت) 25 و 175 کار می کند به این صورت اعلام شده است (زیر نظر اصلی):

موتور موتور 1 = موتور (4 ، 25 ، 175) ؛

هنگام کار با موتورهای ارتعاشی کوچک که در محدوده حداکثر تا 3 ولت حرکت می کنند ، موتور موتور باید با احتیاط مورد استفاده قرار گیرد زیرا برای حرکت موتورهای 4.5VDC تا 13.5VDC ساخته شده است. برای آسیب رساندن به موتورهای 3 ولت ، من برنامه ریزی خروجی ولت محافظ را حداکثر به 3 ولت (دقیقاً 2.95 ولت) محدود کردم. من این کار را با اندازه گیری حداکثر سرعت 255 بر ولت و با مولتی متر اندازه گیری کردم که 4.3 ولت است. بنابراین ، من هرگز سرعت بیشتری از 175 ، که حدود 3V است ، به موتورها اجازه نمی دهم.

هر موتور با یک SensoryOutput متصل می شود.

One SensoryOutput از یک یا چند محرک حسی تشکیل شده است. به عنوان مثال ، یک موتور می تواند با توجه به یک سنسور واحد ، یا با توجه به میانگین سنسورهای چندگانه ، با موقعیت متفاوت ، ارتعاش کند.

بنابراین ، ابتدا برای هر موتور ، یک SensoryOutput باید اعلام شود. اعداد داخل براکت ها حداقل و حداکثر مقدار آن چیزی است که سنسور (گروه) می تواند درک کند. برای سنسورهای آنالوگ بیشتر این عدد 0 و 1023 است:

خروجی SensoryOutput1 = SensoryOutput (0 ، 1023) ؛

در تابع حلقه () ، هر موتور به یک مقدار خروجی اختصاص داده می شود. در اینجا شما برای هر موتور عبارت زیر را می نویسید و به جای "output1" ، هر مقدار SensoryOutput باید به آن متصل شود. فراموش نکنید که همه نامهای "output1" را در این خط تغییر دهید ، اگر از نام دیگری برای آن استفاده می کنید.

motor1.drive (output1.getValue () ، output1.getMin () ، output1.getMax ()) ؛

در صورت تمایل ، می توانید چندین موتور (به عنوان مثال موتور 1 و موتور 2) SensoryOutput یکسان (به عنوان مثال خروجی 1) را بدهید.

علاوه بر این ، می توانید مقادیر چند سنسور را به یک موتور بدهید (بخش بعدی را ببینید).

تعریف سنسورها

در تابع setup () باید اعلام شود که کدام حسگرها قسمتی از ارتعاش موتور هستند (SensoryOutput). در اینجا یک مثال از نحوه تعریف شما وجود دارد که سنسور متصل به Arduino Pin A0 باید به ارتعاشات موتور 1 و در نتیجه خروجی 1 تبدیل شود:

خروجی 1. شامل (A0) ؛

اگر چندین خروجی حسی باید در یک ارتعاش موتور ترکیب شوند ، فقط می توانید پین ورودی آنالوگ دیگری را به خروجی 1 اضافه کنید:

خروجی 1. شامل (A1) ؛

در غیر این صورت ، فقط خروجی بعدی را ادامه دهید:

output2.include (A1) ؛

ترکیب چند سنسور

همانطور که در بالا ذکر شد ، چندین ورودی سنسور (مانند A0 ، A1 و A2) را می توان به یک موتور هدایت کرد. کدی که ارائه می دهم ، محاسبه میانگین مقادیری است که توسط همه سنسورهای موجود خوانده می شود. بنابراین ، اگر این مورد برای مورد استفاده شما کافی است و می خواهید به طور مستقیم ، به عنوان مثال ، ورودی حسی کم به ارتعاش کم را ترسیم کنید ، کارتان تمام شده است و لازم نیست به موارد زیر فکر کنید:

با این حال ، اگر ایده های دیگری در مورد آنچه می خواهید با یک یا چند ورودی حسی خام انجام دهید دارید ، می توانید با توجه به تغییرات در تابع int getValue () در کلاس SensoryOutput انجام دهید:

int getValue () {

finalOutput = 0؛ // TODO هر کاری که می خواهید با مقادیر حسی انجام دهید // در اینجا میانگین ساخته می شود ، اگر مقادیر متعددی برای (int i = 0 ؛ i <curArrayLength ؛ i ++) {finalOutput+= analogRead (valueArray )؛ } return finalOutput / curArrayLength؛ }

4. کد را در Arduino Prototype خود بارگذاری کنید

Arduino Prototype (از مرحله 2) را به رایانه خود وصل کنید.

روی Tools → Port → Port را انتخاب کنید ، جایی که Arduino/Genuino Uno در داخل پرانتز نوشته شده است

روی Tools → Board → Arduino/Genuino Uno کلیک کنید

در حال حاضر ، موتورها باید بر اساس ورودی سنسورهای آنالوگ کار کنند. در صورت تمایل ، می توانید Arduino را از رایانه شخصی خود جدا کرده و آن را به منبع تغذیه دیگری مانند باتری 9 ولت متصل کنید.

مرحله 4: برنامه های افزودنی احتمالی

برنامه های افزودنی احتمالی
برنامه های افزودنی احتمالی
برنامه های افزودنی احتمالی
برنامه های افزودنی احتمالی
برنامه های افزودنی احتمالی
برنامه های افزودنی احتمالی

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

  • پوشش توده های دوار ERM Motors:
  • ساخت SSAD پوشیدنی:
  • استفاده از بیش از 4 موتور-چیدن چند موتور موتور:
  • استفاده از سنسور مجاورت فراصوت به عنوان ورودی SSAD:

توصیه شده: