সুচিপত্র:

Vibrotactile Sensory Substitution and Augmentation Device (SSAD): 4 ধাপ
Vibrotactile Sensory Substitution and Augmentation Device (SSAD): 4 ধাপ

ভিডিও: Vibrotactile Sensory Substitution and Augmentation Device (SSAD): 4 ধাপ

ভিডিও: Vibrotactile Sensory Substitution and Augmentation Device (SSAD): 4 ধাপ
ভিডিও: Sensory Substitution: How to See with Your Tongue 2024, জুলাই
Anonim
Vibrotactile সংবেদনশীল প্রতিস্থাপন এবং বর্ধন ডিভাইস (SSAD)
Vibrotactile সংবেদনশীল প্রতিস্থাপন এবং বর্ধন ডিভাইস (SSAD)
Vibrotactile সংবেদনশীল প্রতিস্থাপন এবং বর্ধন ডিভাইস (SSAD)
Vibrotactile সংবেদনশীল প্রতিস্থাপন এবং বর্ধন ডিভাইস (SSAD)

এই প্রকল্পের লক্ষ্য সংবেদনশীল প্রতিস্থাপন এবং বর্ধনের ক্ষেত্রে গবেষণাকে সহজতর করা। আমার এমএসসি গবেষণার মধ্যে ভাইব্রোট্যাক্টাইল এসএসএডি প্রোটোটাইপ তৈরির বিভিন্ন উপায় অন্বেষণ করার সম্ভাবনা ছিল। সেন্সরি প্রতিস্থাপন এবং বর্ধন একটি বিষয় যা কেবল কম্পিউটার বিজ্ঞানীদেরই নয়, জ্ঞানীয় বিজ্ঞানের মতো অন্যান্য ক্ষেত্রের গবেষকদেরও একটি ধাপে ধাপে নির্দেশাবলী ইলেকট্রনিক্স এবং কম্পিউটার বিজ্ঞানের অ-বিশেষজ্ঞদের তাদের নিজের জন্য এই প্রোটোটাইপ একত্রিত করতে সক্ষম করে গবেষনার কাজে ব্যবহৃত.

আমি ঠিক এক ধরনের ব্র্যান্ড/পণ্যের জন্য বিজ্ঞাপন দিতে চাই না। এই প্রকল্পটি কোন কোম্পানির পৃষ্ঠপোষকতা পায়নি। আমি যে উপাদানটি ব্যবহার করেছি তা টেকনিক্যাল স্পেসিফিকেশন এবং সুবিধার (ডেলিভারির গতি/খরচ, প্রাপ্যতা ইত্যাদি) কারণে নির্বাচিত হয়েছিল। এই নির্দেশাবলীতে উল্লিখিত সমস্ত পণ্যগুলির জন্য, সমানভাবে উপযুক্ত বিকল্পগুলি উপলব্ধ।

বর্তমান নির্দেশাবলীতে 4 টি মোটর এবং এনালগ সেন্সর সহ একটি প্রাথমিক এসএসএডি প্রোটোটাইপ কীভাবে তৈরি করা যায় তার ধাপে ধাপে নির্দেশাবলী রয়েছে।

উপরন্তু এই নির্দেশযোগ্য আমি তিনটি এক্সটেনশন তৈরি করেছি: প্রথমত, আমি এই SSAD প্রোটোটাইপ (https://www.instructables.com/id/Using-More-Than-4…) দিয়ে চারটির বেশি মোটর কীভাবে ব্যবহার করতে হয় সে সম্পর্কে নির্দেশাবলী প্রকাশ করেছি। দ্বিতীয়ত, আমি কিভাবে এই প্রোটোটাইপ পরিধানযোগ্য (https://www.instructables.com/id/Making-the-SSAD-W…) এবং কিভাবে এনক্যাপসুলেটেড রোটটিং ভর ব্যতীত ERM মোটরকে coverাকতে হয় তার উদাহরণ এবং উদাহরণ তৈরি করেছি (https:/ /www.instructables.com/id/Covering-Rotating…)। এছাড়াও, প্রোটোটাইপের সাথে এনালগ সেন্সর (এই ক্ষেত্রে একটি প্রক্সিমিটি সেন্সর) ছাড়া অন্যকে কীভাবে সংহত করা যায় তার একটি উদাহরণও প্রকাশিত হয় (https://www.instructables.com/id/Including-a-Proxi…)।

"সংবেদনশীল প্রতিস্থাপন এবং বর্ধন" কি?

সংবেদনশীল প্রতিস্থাপনের সাথে একটি সংবেদনশীল পদ্ধতি (যেমন দৃষ্টি) দ্বারা সংগৃহীত তথ্য অন্য অর্থে (যেমন শব্দ) দ্বারা উপলব্ধি করা যায়। এটি একটি প্রতিশ্রুতিশীল অ আক্রমণকারী কৌশল যা মানুষকে সংবেদনশীল ক্ষতি বা দুর্বলতা কাটিয়ে উঠতে সহায়তা করে।

যদি সংবেদী উদ্দীপনা, যা অনুবাদ করা হয়, সাধারণত মানুষের দ্বারা অনুধাবন করা যায় না (যেমন UV আলো), এই পদ্ধতিকে বলা হয় সংবেদনশীল বৃদ্ধি।

এই প্রোটোটাইপ তৈরির জন্য কোন দক্ষতা প্রয়োজন?

মূলত, নীচে প্রদত্ত নির্দেশাবলী অনুসরণ করার জন্য কোনও উন্নত প্রোগ্রামিং দক্ষতার প্রয়োজন নেই। যাইহোক, যদি আপনি সোল্ডারিংয়ের একজন শিক্ষানবিশ হন তবে এই কৌশলটি জানতে কিছু অতিরিক্ত সময় পরিকল্পনা করুন। যদি আপনি আগে কখনো প্রোগ্রাম করেননি, প্রোগ্রামিংয়ে অভিজ্ঞ কারো কাছ থেকে কিছু সাহায্যের প্রয়োজন হতে পারে।

এমন কোন মেশিন বা সরঞ্জাম আছে যা ব্যয়বহুল বা সহজে পাওয়া যায় না?

একটি সোল্ডারিং লোহা ব্যতীত, এই প্রোটোটাইপ তৈরির জন্য কোন মেশিন বা সরঞ্জাম প্রয়োজন হয় না যা আপনি সহজেই অনলাইনে বা পরবর্তী বাড়ির দোকানে কিনতে পারবেন না। এই এসএসএডিটি দ্রুত-প্রোটোটাইপিংয়ের অনুমতি দেওয়ার জন্য ডিজাইন করা হয়েছে, যার অর্থ এটি দ্রুত পুনরুত্পাদনযোগ্য হওয়া উচিত এবং ধারণাগুলির সস্তা অনুসন্ধানের অনুমতি দেওয়া উচিত।

সরবরাহ

প্রধান উপাদান (4 মোটরের জন্য প্রায় 65,, সোল্ডারিং সরঞ্জাম বাদে)

  • Arduino Uno (উদা https https://store.arduino.cc/arduino-uno-rev3, 20 £)
  • অ্যাডাফ্রুট মোটরশিল্ড v2.3 (যেমন https://www.adafruit.com/product/1438, 20 £) এবং পুরুষ স্ট্যাকিং হেডার (সাধারণত মোটরশিল্ড কেনার সময় অন্তর্ভুক্ত)
  • নলাকার ইআরএম মোটর (যেমন https://www.adafruit.com/product/1438, 5, 50 £/মোটর)
  • সোল্ডারিং লোহা এবং সোল্ডারিং তার
  • তারের

চ্ছিক (এক্সটেনশন দেখুন)

যদি অনাবৃত ঘূর্ণমান ভর সহ ERM মোটর কেনা হয়:

  • ভিনাইল টিউব
  • পাতলা নরম বোর্ড
  • 3D প্রিন্টার (Arduino আবরণ জন্য)

আপনি যদি 4 টিরও বেশি মোটর ব্যবহার করতে চান (8 টিরও বেশি একই সময়ে):

  • অ্যাডাফ্রুট মোটরশিল্ড v2.3 এবং পুরুষ স্ট্যাকিং হেডার
  • মহিলা স্ট্যাকিং হেডার (উদা
  • 6 টিরও বেশি মোটরের জন্য Arduino মেগা (যেমন

ধাপ 1: সোল্ডারিং

সোল্ডারিং
সোল্ডারিং

মোটরশিল্ডে পিনগুলি বিক্রি করুন

অ্যাডাফ্রুট একটি মোটরশিল্ডে শিরোলেখ কীভাবে বিক্রি করবেন তার একটি খুব বিস্তৃত টিউটোরিয়াল সরবরাহ করে (https://learn.adafruit.com/adafruit-motor-shield-v…):

  1. প্রথমত, Arduino Uno- এর পিনগুলিতে স্ট্যাকিং হেডার রাখুন,
  2. তারপরে, theালটি উপরে রাখুন, যাতে পিনের ছোট দিকটি আটকে যায়।
  3. এর পরে, সমস্ত পিন theালকে সোল্ডার করুন এবং নিশ্চিত করুন যে ঝালটি পিনের চারপাশে প্রবাহিত হয় এবং আগ্নেয়গিরির আকৃতি তৈরি করে (উপরের ছবিটি দেখুন, যা https://cdn.sparkfun.com/assets/c/d/ থেকে গ্রহণ করা হয়েছে a/a/9/523b1189…)।

আপনি যদি সোল্ডারিং এর একজন শিক্ষানবিশ হন, তাহলে https://learn.sparkfun.com/tutorials/how-to-solder… এর মতো আরও টিউটোরিয়াল দিয়ে নিজেকে সাহায্য করুন।

মোটর দীর্ঘ তারের ঝাল

যেহেতু মোটরগুলির বেশিরভাগই খুব ছোট বা পাতলা তার ছাড়াই আসে, সেগুলিকে দীর্ঘ এবং আরও শক্তিশালী তারে সোল্ডার করে প্রসারিত করা বোধগম্য। আপনি কীভাবে এটি করতে পারেন তা এখানে:

  1. তারের শেষের চারপাশে প্লাস্টিক সরান এবং তাদের অবস্থান করুন যাতে তারা তাদের উন্মুক্ত তারের সাথে একে অপরের সংস্পর্শে থাকে, যেমন ছবির মতো।
  2. উভয় তারের থ্রেড স্পর্শ করে এবং তাদের উপর ঝাল প্রবাহিত করে তাদের একসঙ্গে বিক্রি করুন।

ধাপ 2: তারের

তারের
তারের
  1. Arduino উপরে মোটরশিল্ড স্ট্যাক।
  2. মোটর ieldাল মধ্যে মোটর স্ক্রু।
  3. Arduino এর ওয়্যার এনালগ সেন্সর (ছবিতে এটি হালকা সেন্সর দিয়ে করা হয়, কিন্তু একই সার্কিট অন্যান্য এনালগ সেন্সরের জন্য একই রকম দেখাচ্ছে)।

ধাপ 3: কোডিং

কোডিং
কোডিং
কোডিং
কোডিং
কোডিং
কোডিং
কোডিং
কোডিং

1. ডাউনলোড করুন

জিপ ফোল্ডার ডাউনলোড করুন (SSAD_analogueInputs.zip), নিচে সংযুক্ত। এটি আনজিপ করুন।

Arduino IDE ডাউনলোড করুন (https://www.arduino.cc/en/main/software)।

Arduino IDE দিয়ে আনজিপ করা ফোল্ডারের ভিতরে থাকা Arduino ফাইল (SSAD_analogueInputs.ino) খুলুন।

2. লাইব্রেরি ইনস্টল করুন

প্রদত্ত কোডটি চালানোর জন্য, আপনাকে কিছু লাইব্রেরি ইনস্টল করতে হবে। সুতরাং, যদি এই নিবন্ধের শেষে সংযুক্ত Arduino ফাইলটি Arduino IDE এর ভিতরে খোলা থাকে, তাহলে নিম্নলিখিতগুলি করুন:

  1. ক্লিক করুন: সরঞ্জাম Lib লাইব্রেরি পরিচালনা করুন …
  2. আপনার অনুসন্ধান ফিল্টার ফিল্টার এ "Adafruit Motor Shield V2 Library" খুঁজুন
  3. ইনস্টল বাটনে ক্লিক করে এটি ইনস্টল করুন

সেই লাইব্রেরিগুলি ডাউনলোড করার পরে, এখন প্রদত্ত কোডগুলিতে #অন্তর্ভুক্ত বিবৃতিগুলি কাজ করা উচিত। "যাচাই করুন" বোতামে ক্লিক করে এটি পরীক্ষা করুন (বাম শীর্ষে টিক দিন)। আপনি জানেন যে সমস্ত লাইব্রেরি কাজ করে, যদি আপনি প্রোগ্রামের নীচে "সম্পন্ন কম্পাইলিং" বার্তাটি পান। অন্যথায় একটি লাল বার উপস্থিত হবে এবং আপনি কি ভুল হয়েছে তার একটি বার্তা পাবেন।

3. কোড পরিবর্তন করুন

নীচের নির্দেশাবলী অনুসরণ করে আপনার ব্যবহারের ক্ষেত্রে কোড পরিবর্তন করুন:

মোটর এবং তাদের সেন্সরি আউটপুট শুরু করা

প্রথমত, ঘোষণা করুন যে কোন পিন মোটর ব্যবহার করে, সেইসাথে মোটর কোন পরিসরে কাজ করে। উদাহরণস্বরূপ, একটি মোটর যা M4 এর সাথে সংযুক্ত এবং 25 এবং 175 এর (গতি) পরিসরে কাজ করে সেটিকে (প্রধান মন্তব্যের নীচে) ঘোষণা করা হয়েছে:

মোটর মোটর 1 = মোটর (4, 25, 175);

3V পর্যন্ত পরিসরে চালিত ছোট কম্পন মোটরগুলির সাথে কাজ করার সময়, মোটরশিল্ডটি সাবধানতার সাথে ব্যবহার করতে হবে কারণ এটি 4.5VDC থেকে 13.5VDC তে মোটর চালানোর জন্য তৈরি করা হয়েছে। 3V মোটরগুলিকে ক্ষতি না করার জন্য, আমি প্রোগ্রামগতভাবে ieldালের ভোল্ট আউটপুটকে সর্বোচ্চ 3V (ঠিক 2.95V) পর্যন্ত সীমাবদ্ধ করে রেখেছি। আমি ভোল্টে 255 এর সর্বোচ্চ গতি কত তা পরিমাপ করে এটি করেছি এবং একটি মাল্টিমিটার দিয়ে পরিমাপ করেছি যে এটি 4.3V। অতএব, আমি কখনই মোটরগুলিতে 175 এর চেয়ে বেশি গতি, যা প্রায় 3V, অনুমোদন করি নি।

প্রতিটি মোটর একটি SensoryOutput এর সাথে সংযুক্ত থাকবে।

একটি সেন্সরি আউটপুট এক বা একাধিক সংবেদনশীল উদ্দীপনা দ্বারা গঠিত। উদাহরণস্বরূপ, একটি মোটর হয় একটি একক সেন্সর অনুযায়ী কম্পন করতে পারে, অথবা একাধিক, ভিন্ন অবস্থানে থাকা সেন্সরের গড় অনুযায়ী।

অতএব, প্রথমে প্রতিটি মোটরের জন্য, একটি সেন্সরি আউটপুট ঘোষণা করতে হবে। বন্ধনীগুলির মধ্যে সংখ্যাগুলি সেন্সর (গোষ্ঠী) যা বুঝতে পারে তার সর্বনিম্ন এবং সর্বোচ্চ মান। এনালগ সেন্সরের জন্য এটি বেশিরভাগ 0 এবং 1023:

SensoryOutput আউটপুট 1 = SensoryOutput (0, 1023);

লুপ () ফাংশনে প্রতিটি মোটরকে তখন একটি আউটপুট ভ্যালু দেওয়া হয়। এখানে আপনি প্রতিটি মোটরের জন্য নিম্নলিখিত বিবৃতি লিখুন এবং "আউটপুট 1" এর পরিবর্তে, যেকোনো সেন্সরিঅউটপুট মান এর সাথে সংযুক্ত হওয়া উচিত। এই লাইনের সমস্ত "আউটপুট 1" নাম পরিবর্তন করতে ভুলবেন না, যদি আপনি এর জন্য অন্য নাম ব্যবহার করেন।

motor1.drive (output1.getValue (), output1.getMin (), output1.getMax ());

যদি আপনি চান, আপনি একাধিক মোটর (যেমন মোটর 1 এবং মোটর 2) একই সেন্সরি আউটপুট (যেমন আউটপুট 1) দিতে পারেন।

আরও, আপনি একাধিক সেন্সরের মান একটি মোটরকে দিতে পারেন (পরবর্তী বিভাগ দেখুন)।

সেন্সর সংজ্ঞায়িত করা

সেটআপ () ফাংশনে এটি ঘোষণা করতে হবে যে কোন সেন্সর কোন মোটর কম্পনের অংশ হতে চলেছে (SensoryOutput)। Arduino Pin A0 এর সাথে সংযুক্ত সেন্সরটি মোটর 1 এবং ফলস্বরূপ আউটপুট 1 এর সাথে কম্পনে অনুবাদ করা উচিত তা আপনি কিভাবে সংজ্ঞায়িত করেন তার একটি উদাহরণ এখানে দেওয়া হল:

আউটপুট 1. অন্তর্ভুক্ত (A0);

যদি একটি মোটর কম্পনের মধ্যে একাধিক সংবেদনশীল আউটপুট একত্রিত করা হয়, তাহলে আপনি আউটপুট 1 এ আরেকটি এনালগ ইনপুট পিন যুক্ত করতে পারেন:

আউটপুট 1. অন্তর্ভুক্ত (A1);

অন্যথায়, কেবল পরবর্তী আউটপুট দিয়ে চালিয়ে যান:

আউটপুট 2. অন্তর্ভুক্ত (A1);

একাধিক সেন্সরের সংমিশ্রণ

উপরে উল্লিখিত হিসাবে, একাধিক সেন্সর ইনপুট (উদা A A0, A1 এবং A2 থেকে) একটি মোটর হতে পারে। কোড, আমি প্রদান করি, সমস্ত অন্তর্ভুক্ত সেন্সর দ্বারা পড়া মানগুলির গড় গণনা করা হয়। সুতরাং, যদি এটি আপনার ব্যবহারের ক্ষেত্রে যথেষ্ট হয় এবং আপনি সরাসরি ম্যাপ করতে চান, উদাহরণস্বরূপ, কম কম্পনের জন্য একটি কম সংবেদনশীল ইনপুট, আপনি সম্পন্ন করেছেন এবং নিম্নলিখিতগুলি সম্পর্কে চিন্তা করতে হবে না:

আপনি যদি এক বা একাধিক কাঁচা সংবেদনশীল ইনপুট দিয়ে কি করতে চান তার অন্যান্য ধারণা থাকলে, আপনি SensoryOutput ক্লাসে int getValue () ফাংশনের পরিবর্তন অনুযায়ী করতে পারেন:

int getValue () {

ফাইনাল আউটপুট = 0; // সংবেদনশীল মান দিয়ে আপনি যা চান তা করুন // এখানে গড় তৈরি করা হয়, যদি একাধিক মান একত্রিত হয় (int i = 0; i <curArrayLength; i ++) {finalOutput+= analogRead (valueArray ); } finalUutput / curArrayLength ফেরত দিন; }

4. আপনার Arduino প্রোটোটাইপে কোড আপলোড করুন

আপনার পিসিতে Arduino প্রোটোটাইপ (ধাপ 2 থেকে) প্লাগ করুন।

সরঞ্জাম → পোর্ট Click ক্লিক করুন পোর্ট নির্বাচন করুন, যেখানে আরডুইনো/জেনুইনো ইউনো বন্ধনীতে লেখা আছে

Tools → Board → Arduino/Genuino Uno তে ক্লিক করুন

এখন, এনালগ সেন্সরের ইনপুট অনুযায়ী মোটর চালানো উচিত। আপনি যদি চান, আপনি আপনার পিসি থেকে Arduino সংযোগ বিচ্ছিন্ন করতে পারেন এবং এটি একটি 9V ব্যাটারির মতো অন্য পাওয়ার সোর্সে প্লাগ করতে পারেন।

ধাপ 4: সম্ভাব্য এক্সটেনশন

সম্ভাব্য এক্সটেনশন
সম্ভাব্য এক্সটেনশন
সম্ভাব্য এক্সটেনশন
সম্ভাব্য এক্সটেনশন
সম্ভাব্য এক্সটেনশন
সম্ভাব্য এক্সটেনশন

আপনি যে প্রোটোটাইপটি তৈরি করেছেন তা একচেটিয়াভাবে এনালগ ইনপুট দেয় এবং চারটি মোটর চালাতে পারে। উপরন্তু, এটি এখনও পরিধানযোগ্য নয়। আপনি যদি এই বৈশিষ্ট্যগুলি প্রসারিত করতে চান তবে নিম্নলিখিত নির্দেশাবলী দেখুন:

  • ইআরএম মোটরগুলির ঘূর্ণায়মান গণের আচ্ছাদন:
  • SSAD পরিধানযোগ্য করা:
  • 4 টিরও বেশি মোটর ব্যবহার করা-একাধিক মোটরশিল্ড স্ট্যাক করা:
  • SSAD ইনপুট হিসেবে অতিস্বনক প্রক্সিমিটি সেন্সর ব্যবহার করে:

প্রস্তাবিত: