কম্পন মতামত সহ একটি এক্সটেন্ডেবল বোতাম প্রয়োগ: 7 টি ধাপ (ছবি সহ)
কম্পন মতামত সহ একটি এক্সটেন্ডেবল বোতাম প্রয়োগ: 7 টি ধাপ (ছবি সহ)
Anonim
কম্পন প্রতিক্রিয়া সহ একটি এক্সটেন্ডেবল বোতামের একটি অ্যাপ্লিকেশন
কম্পন প্রতিক্রিয়া সহ একটি এক্সটেন্ডেবল বোতামের একটি অ্যাপ্লিকেশন
কম্পন প্রতিক্রিয়া সহ একটি এক্সটেন্ডেবল বোতামের একটি অ্যাপ্লিকেশন
কম্পন প্রতিক্রিয়া সহ একটি এক্সটেন্ডেবল বোতামের একটি অ্যাপ্লিকেশন

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

ধাপ 1: ভাইব্রেশন মোটর সেট-আপের বোতামের জন্য প্রয়োজনীয় উপাদানগুলি

কম্পন মোটর সেট-আপ করার জন্য বোতামের জন্য প্রয়োজনীয় উপাদান
কম্পন মোটর সেট-আপ করার জন্য বোতামের জন্য প্রয়োজনীয় উপাদান
  • আরডুইনো উনো
  • ব্রেডবোর্ড
  • মুদ্রা কম্পনকারী কম্পন মোটর
  • গ্রোভ বোতাম
  • পুরুষ থেকে পুরুষ জাম্পার তার (x10)
  • জাম্পার ওয়্যার 4 পিন
  • হ্যাপটিক মোটর ড্রাইভার
  • পুরুষ থেকে মহিলা এজ সংযোগকারী
  • তাতাল

ধাপ 2: বোতাম টু ভাইব্রেশন মোটর সেট-আপের জন্য স্কিম্যাটিক্স

বোতাম থেকে কম্পন মোটর সেট-আপের জন্য স্কিম্যাটিক্স
বোতাম থেকে কম্পন মোটর সেট-আপের জন্য স্কিম্যাটিক্স

পূর্ববর্তী চিত্রটি Fritzing.org দিয়ে তৈরি করা হয়েছিল।

ধাপ 3: বোতামের সেট-আপ থেকে কম্পন মোটর সেট-আপ

ধাপ 1: কম্পন মোটর ড্রাইভারের কাছে প্রান্ত সংযোগকারীকে সোল্ডার করুন। কম্পন মোটর ড্রাইভারের টার্মিনালে কয়েন ভাইব্রেটরের তারগুলি oldালুন।

ধাপ 2: বোতাম ব্রেকআউটে 4 পিন জাম্পার কেবল সংযুক্ত করুন।

ধাপ 3: একটি জাম্পার তার ব্যবহার করে, আরডুইনোতে GRD পিনটি রুটিবোর্ডে একটি সারিতে সংযুক্ত করুন।

ধাপ 4: আরেকটি জাম্পার তার ব্যবহার করে, আরডুইনোতে ভোল্ট 3.3 পিনটি রুটিবোর্ডের একটি ভিন্ন সারিতে সংযুক্ত করুন।

ধাপ 5: এখন আমরা কম্পন মোটর ড্রাইভারকে আরডুইনোতে সংযুক্ত করব। একটি তৃতীয় জাম্পার তার ব্যবহার করে, কম্পন মোটর ড্রাইভারের GND পিনটিকে একই সারিতে ব্রেডবোর্ডে আরডুইনো থেকে GRD পিনের সাথে সংযুক্ত করুন। ভাইব্রেশন মোটর ড্রাইভারের VCC (ভোল্ট) -এর জন্য আরেকটি তার দিয়ে ব্রেডবোর্ডের ভোল্ট সারিতে একই কাজ করুন।

ধাপ 6: কম্পন মোটর ড্রাইভারের এসডিএ পিনকে সরাসরি আরডুইনোতে এসডিএ পিনের সাথে সংযুক্ত করতে আরেকটি তার ব্যবহার করুন। আবার, উভয়ের এসসিএল পিনের সাথে একই কাজ করুন। বিকল্পভাবে, ধাপ 5 এর অনুরূপ পদ্ধতি অনুসরণ করুন এবং জাম্পার তারের মাধ্যমে রুটিবোর্ডে তাদের নিজস্ব সারিতে আরডুইনোতে এসডিএ এবং এসসিএল পিন সংযুক্ত করুন। তারপর সারি থেকে একটি তারের চালান যেখানে SDA পিনটি রুটিবোর্ডে মোটর ড্রাইভারের SDA পিনের সাথে সংযুক্ত থাকে। মোটর ড্রাইভারের এসসিএল পিন থেকে ব্রেডবোর্ডে এসসিএল সারির জন্য একই করুন।

ধাপ 7: এখন আমরা কম্পন মোটর ড্রাইভার এবং Arduino এর সাথে বোতাম সংযুক্ত করে শেষ করব। জিআরডি সংযোগ করতে 4 টি পিন জাম্পার ওয়্যার থেকে বোতাম ব্রেকআউটের সাথে সংযুক্ত ব্রেডবোর্ডের অন্যান্য জিআরডি তারের মতো একই সারিতে সংযুক্ত করুন। আবার ভোল্ট (VCC) দিয়ে একই কাজ করুন।

ধাপ 8: বোতাম ব্রেকআউটে এসআইজি থেকে চূড়ান্ত লেখাটি আরডুইনোতে একটি পিনে সংযুক্ত করুন (আমাদের কোডের উদ্দেশ্যে, আমরা পিন 7 ব্যবহার করেছি)।

ধাপ 9: Arduino এ প্লাগ করুন এবং কোড আপলোড করুন, এবং এটি কাজ করে দেখুন!

ধাপ 4: কোড

বোতাম-কম্পন-মোটর.সি

/ * কোড https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 */
#অন্তর্ভুক্ত// স্পার্কফান হ্যাপটিক মোটর ড্রাইভার লাইব্রেরি
#অন্তর্ভুক্ত// I2C লাইব্রেরি
SFE_HMD_DRV2605L HMD; // হ্যাপটিক মোটর ড্রাইভার অবজেক্ট তৈরি করুন
int বাটন = 7; // pushbutton এর জন্য ইনপুট পিন 7 নির্বাচন করুন
int button_val = 0; // পিন স্ট্যাটাস পড়ার জন্য পরিবর্তনশীল
অকার্যকর সেটআপ()
{
/ * হ্যাপটিক মোটর ড্রাইভার অবজেক্ট শুরু করুন */
HMD.begin ();
Serial.begin (9600);
HMD. Mode (0); // অভ্যন্তরীণ ট্রিগার ইনপুট মোড - প্লেব্যাক ট্রিগার করতে অবশ্যই GO () ফাংশন ব্যবহার করতে হবে।
HMD. MotorSelect (0x36); // ইআরএম মোটর, 4x ব্রেকিং, মাঝারি লুপ লাভ, 1.365x ব্যাক ইএমএফ লাভ
এইচএমডি লাইব্রেরি (2); // 1-5 এবং 7 ইআরএম মোটরের জন্য, 6 টি এলআরএ মোটরের জন্য
}
voidloop ()
{
/ * কম্পন মোটর শুরু করুন */
HMD.go ();
button_val = digitalRead (button);
যদি (button_val == HIGH) {
/* এই আউটপুট লগ ইন করতে যে বোতাম টিপানো হয়েছে, debugginh জন্য ব্যবহার করুন*/
Serial.println ("বোতাম টিপে।");
/ * তরঙ্গাকৃতি লাইব্রেরিতে 0-122 বিভিন্ন ধরণের তরঙ্গ রয়েছে */
HMD. তরঙ্গাকৃতি (0, 69);}
অন্য {
/ * যদি বোতাম টিপানো না হয় তাহলে কম্পন মোটর বন্ধ করুন */
HMD.stop ();
}
}

GitHub দ্বারা raw দিয়ে হোস্ট করা rawButton-Vibration-Motor.c দেখুন

ধাপ 5: বোতাম থেকে ভাইব্রেশন মোটর সেট-আপের ভিডিও

Image
Image

ধাপ 6: গ্লাভস এক্সটেন্ডেবল এর প্রোটোটাইপ

গ্লাভস এক্সটেন্ডেবল এর প্রোটোটাইপ
গ্লাভস এক্সটেন্ডেবল এর প্রোটোটাইপ
গ্লাভস এক্সটেন্ডেবল এর প্রোটোটাইপ
গ্লাভস এক্সটেন্ডেবল এর প্রোটোটাইপ

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

এই ধরনের গ্লাভসের পিছনে চিন্তা প্রক্রিয়াটি হবে যে এটি পরা কেউ তাদের নিয়মিত আঙ্গুলের সীমার বাইরে জিনিসগুলিকে "স্পর্শ" করার অনুমতি দেয় এবং তারা এই পৃষ্ঠতলগুলি স্পর্শ করছে এমন প্রতিক্রিয়া পান। কোন আঙুলটি পৃষ্ঠকে স্পর্শ করছে তার উপর নির্ভর করে কম্পনের প্রতিক্রিয়া পরিবর্তিত হয়, যাতে ব্যবহারকারীর পক্ষে বলা সম্ভব যে কোন আঙুলটি পৃষ্ঠকে স্পর্শ করছে কম্পনের ধরণ অনুসারে।

প্রোটোটাইপকে আরও এগিয়ে নেওয়ার অনেকগুলি উপায় রয়েছে, যেমন আঙ্গুলগুলি আরও প্রসারিত করা, বা পৃষ্ঠের ধরন স্পর্শ করা হওয়ার ভিত্তিতে প্রতিক্রিয়া পরিবর্তন করা। আদর্শভাবে, প্রসারিতযোগ্য আঙ্গুলগুলি 3 ডি মুদ্রণের মাধ্যমে তৈরি করা হবে, ভাল টেলিস্কোপিং বিকল্পগুলির জন্য। বোতামগুলির জায়গায় একটি তাপমাত্রা সেন্সর ব্যবহার করা যেতে পারে, ব্যবহারকারী পৃষ্ঠটি কতটা গরম স্পর্শ করছে তার প্রতিক্রিয়া জানাতে বা অনুরূপ উদ্দেশ্যে একটি আর্দ্রতা সেন্সর ব্যবহার করতে পারে। "আঙুল" কতদূর প্রসারিত হয়েছে তা বোঝার একটি উপায় প্রয়োগ করা যেতে পারে, যাতে ব্যবহারকারী জানতে পারে যে তারা যে বস্তুটি স্পর্শ করছে তা কতটা দূরে। এই প্রোটোটাইপটিকে আরও এগিয়ে নেওয়ার জন্য এটি কেবল কয়েকটি সম্ভাব্য বিকল্প।

এই গ্লাভসটি সাধারণ উপকরণ দিয়ে তৈরি করা যায় যাতে আপনার ইন্দ্রিয় প্রসারিত করা যায় এবং প্রতিক্রিয়া তৈরি করা যায় যা ব্যবহারকারী অনুভব করতে পারে এবং বুঝতে পারে।

ধাপ 7: অনন্য কম্পন আউটপুট সহ একাধিক বোতামের জন্য কোড

mutliple_buttons_to_vibmotor.ino

/ * স্পার্কফুন থেকে অ্যাডাপ্ট করা কোড https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide */
#অন্তর্ভুক্ত// স্পার্কফান হ্যাপটিক মোটর ড্রাইভার লাইব্রেরি
#অন্তর্ভুক্ত// I2C লাইব্রেরি
SFE_HMD_DRV2605L HMD; // হ্যাপটিক মোটর ড্রাইভার অবজেক্ট তৈরি করুন
int button_middle = 7;
int button_index = 5; // pushbutton এর জন্য ইনপুট পিন নির্বাচন করুন
int button_ring = 9;
int button_pinky = 3;
অকার্যকর সেটআপ()
{
HMD.begin ();
Serial.begin (9600);
HMD. Mode (0); // অভ্যন্তরীণ ট্রিগার ইনপুট মোড - প্লেব্যাক ট্রিগার করতে অবশ্যই GO () ফাংশন ব্যবহার করতে হবে।
HMD. MotorSelect (0x36); // ইআরএম মোটর, 4x ব্রেকিং, মাঝারি লুপ লাভ, 1.365x ব্যাক ইএমএফ লাভ
এইচএমডি লাইব্রেরি (2); // 1-5 এবং 7 ইআরএম মোটরের জন্য, 6 টি এলআরএ মোটরের জন্য
}
voidloop ()
{
HMD.go (); // কম্পন মোটর শুরু করুন
/ * কোন বোতামটি চাপানো হয়েছে তা পরীক্ষা করুন এবং তরঙ্গাকৃতি আউটপুট 0-122 */
যদি (digitalRead (button_middle) == উচ্চ) {
Serial.println ("বোতাম টিপে।");
HMD. ওয়েভফর্ম (0, 112);}
elseif (digitalRead (button_index) == উচ্চ) {
এইচএমডি ওয়েভফর্ম (0, 20);
}
elseif (digitalRead (button_ring) == উচ্চ) {
এইচএমডি ওয়েভফর্ম (0, 80);
}
elseif (digitalRead (button_pinky) == উচ্চ) {
এইচএমডি ওয়েভফর্ম (0, 100);
}
/ * যদি কোন বোতাম না চাপানো হয় তবে থামুন */
অন্য {
HMD.stop ();
}
}

GitHub দ্বারা raw দিয়ে হোস্ট করা rawmutliple_buttons_to_vibmotor.ino দেখুন

প্রস্তাবিত: