সুচিপত্র:

EV3: 6 ধাপ ব্যবহার করে স্বয়ংক্রিয় অন্ধ ওপেনার
EV3: 6 ধাপ ব্যবহার করে স্বয়ংক্রিয় অন্ধ ওপেনার

ভিডিও: EV3: 6 ধাপ ব্যবহার করে স্বয়ংক্রিয় অন্ধ ওপেনার

ভিডিও: EV3: 6 ধাপ ব্যবহার করে স্বয়ংক্রিয় অন্ধ ওপেনার
ভিডিও: মানের জালিয়াতির বিরুদ্ধে লড়াই করুন। এটি মানুষের আত্মা ফিরে পাওয়ার যুদ্ধ। 2024, জুলাই
Anonim
EV3 ব্যবহার করে স্বয়ংক্রিয় অন্ধ ওপেনার
EV3 ব্যবহার করে স্বয়ংক্রিয় অন্ধ ওপেনার
EV3 ব্যবহার করে স্বয়ংক্রিয় অন্ধ ওপেনার
EV3 ব্যবহার করে স্বয়ংক্রিয় অন্ধ ওপেনার

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

ধাপ 1: সম্ভাব্য ধারণা বা সমাধান

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

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

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

আমি কর্ড পদ্ধতিটি পছন্দ করি কারণ এটি একটি খুব সহজ সমাধান যা কর্ডের ম্যানুয়াল ব্যবহারকে বাধা দেয় না এবং অন্ধদের কোনও বড় পরিবর্তনের প্রয়োজন হবে না। যখন আমি একটি ESP8266 দিয়ে চূড়ান্ত সংস্করণটি তৈরি করি তখন আমি এটিকে যতটা সম্ভব গোপন এবং সংক্ষিপ্ত করার পরিকল্পনা করি।

ধাপ 2: সমাবেশ তৈরি করা

সমাবেশ তৈরি করা
সমাবেশ তৈরি করা
সমাবেশ তৈরি করা
সমাবেশ তৈরি করা

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

ধাপ 3: ব্লাইন্ড গিয়ার ডিজাইন করা

ব্লাইন্ড গিয়ার ডিজাইন করা
ব্লাইন্ড গিয়ার ডিজাইন করা
ব্লাইন্ড গিয়ার ডিজাইন করা
ব্লাইন্ড গিয়ার ডিজাইন করা
ব্লাইন্ড গিয়ার ডিজাইন করা
ব্লাইন্ড গিয়ার ডিজাইন করা
ব্লাইন্ড গিয়ার ডিজাইন করা
ব্লাইন্ড গিয়ার ডিজাইন করা

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

ধাপ 4: অন্ধদের কোডিং

কোডিং দ্য ব্লাইন্ড
কোডিং দ্য ব্লাইন্ড

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

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

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

এই লুপগুলির মধ্যে একটি হল "বাটনস্টেট" লুপ যা ক্রমাগত "বোতামপ্রেসড" নামে একটি ভেরিয়েবলে বোতামের অবস্থা প্রকাশ করে। এটি স্ক্রিপ্টে একাধিক বোতাম ব্লকের প্রয়োজনীয়তা দূর করে।

দ্বিতীয় লুপ হল "হালকা বা অন্ধকার" যা আমার জানালার বাইরে আলোর স্তরকে ক্রমাগত কোডের পূর্বে সংজ্ঞায়িত ধ্রুবকের সাথে তুলনা করে। যদি ফলাফলটি সেই ধ্রুবকের নিচে থাকে, তাহলে লুপটি "ItIsLight" ভেরিয়েবলে "মিথ্যা" লিখবে, যখন এটি মানটির উপরে থাকলে এটি "সত্য" লিখবে।

তৃতীয় লুপটিতে 3 টি অপশনের একটি সংখ্যাসূচক তালিকা রয়েছে যা মূলত অন্ধদের কি করতে হবে তা বলে, 0 = অন্ধ নিচে, 1 = অন্ধ করে, 2 = কিছুই করবেন না কারণ অন্ধ সঠিক জায়গায় আছে। লুপটি "ব্লাইন্ডশোল্ড" ভ্যারিয়েবল পড়ে শুরু হয় যা অন্ধদের সঠিক কাজটি নির্দিষ্ট করে, তারপর সেই কাজটি সম্পাদন করে, "ব্লাইন্ড ওপেন" ভেরিয়েবলকে সঠিক বিকল্পে পরিবর্তন করে এবং তারপর "ব্লাইন্ডশোল্ড" ভেরিয়েবল পরিবর্তন না হওয়া পর্যন্ত অলস হয়ে যায়। এটি পুনরাবৃত্তি করে। এটি "RotationsNeeded" মানের পাশাপাশি +/- 100% শক্তি ব্যবহার করে অন্ধদের সম্পূর্ণরূপে খোলা বা বন্ধ করতে।

চতুর্থ এবং চূড়ান্ত লুপটি সবচেয়ে জটিল, এটি "ডিসাইডার" লুপ যা সমস্ত ডেটা পরিচালনা করে এবং প্রতিটি ক্রমানুসারে কী করতে হবে তা নির্ধারণ করে। এটি যুক্তি ভিত্তিক "রাস্তায় কাঁটা" ব্যবহার করে এটি করে যেখানে "বোতাম চাপানো হয়", "হালকা স্তর", "অন্ধ খোলা" সত্য বা মিথ্যা প্রশ্ন। সমস্ত ক্রমানুসারে একটি কঠিন কোডেড প্রতিক্রিয়া রয়েছে, যা হয় 0 = অন্ধ নিচে, 1 = অন্ধ হয় বা 2 = কিছুই করে না - এই মানটি "ব্লাইন্ডশোল্ড" ভেরিয়েবলে লেখা হয় যা পূর্বের লুপ দ্বারা পরিচালিত হয়। কিছু প্রতিক্রিয়া স্ক্রিপ্ট শেষ করার আগে "ItIsLight" এবং/অথবা "ButtonPressed" ভেরিয়েবলের পরিবর্তনের জন্য অপেক্ষা করবে, এটি কেবল বোতাম সক্রিয় ক্রমানুসারে পরিবর্তিত হবে কারণ অন্যথায় এটি অবিলম্বে তার অবস্থান সংশোধন করার চেষ্টা করবে যার অর্থ অন্ধ ফিরে আসবে তার আসল অবস্থায়। এই প্রক্রিয়াটি একটি শক্তিশালী এবং অপেক্ষাকৃত সহজ স্বয়ংক্রিয় সিস্টেম তৈরির জন্য লুপ করা হয়, যা সহজেই যোগ করা যায় এবং ডিবাগ করা যায়। ফু।

ধাপ 5: সমাপ্তি স্পর্শ

সমাপক ছোঁয়া
সমাপক ছোঁয়া

আমি পরে সিদ্ধান্ত নিয়েছিলাম আমার ইভি 3 -তে 9V পাওয়ার সাপ্লাই যুক্ত করতে কিছু কাঠের ডোয়েল এবং স্ক্রু "ব্যাটারি" ব্যবহার করে, এটি পণ্যটিকে ব্যাটারির উপর অবিশ্বস্ত করে তোলে এবং আমাকে প্রতি কয়েক দিন ব্যাটারি পরিবর্তন করতে বাধা দেয়।

ধাপ 6: প্রকল্পের মূল্যায়ন

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

প্রস্তাবিত: