সুচিপত্র:

মাল্টি-টাইমার W/ বাহ্যিক নিয়ন্ত্রণ: 13 টি ধাপ
মাল্টি-টাইমার W/ বাহ্যিক নিয়ন্ত্রণ: 13 টি ধাপ

ভিডিও: মাল্টি-টাইমার W/ বাহ্যিক নিয়ন্ত্রণ: 13 টি ধাপ

ভিডিও: মাল্টি-টাইমার W/ বাহ্যিক নিয়ন্ত্রণ: 13 টি ধাপ
ভিডিও: ✨A Will Eternal EP 01 - 106 Full Version [MULTI SUB] 2024, জুলাই
Anonim
মাল্টি-টাইমার W/ বহিরাগত নিয়ন্ত্রণ
মাল্টি-টাইমার W/ বহিরাগত নিয়ন্ত্রণ

এই প্রকল্প নির্দেশযোগ্য একটি মাল্টি ফাংশন টাইমার একটি বিল্ড।

এই টাইমারটি এইভাবে কাজ করতে সক্ষম:

  1. 1 সেকেন্ড এবং +90 ঘন্টার মধ্যে নির্বাচনযোগ্য সময়ের সাথে একটি সাধারণ উদ্দেশ্য এলার্ম। শ্রবণযোগ্য এলার্ম এবং/অথবা বহিরাগত যন্ত্রের নিয়ন্ত্রণ শেষ না হওয়া পর্যন্ত গণনা করা তারপর অ্যালার্মের পর থেকে সময়ের গণনা-ইঙ্গিত।
  2. 7 টি নির্বাচনযোগ্য সময়, কাউন্ট-ডাউন এবং সমাপ্তির সময় অ্যালার্ম সহ একটি ন্যাপ টাইমার।
  3. একটি ধ্যান টাইমার select টি বাছাইযোগ্য সময়, কাউন্ট-ডাউন এবং সমাপ্তির উপর একটি ছোট চিৎকার, তার পরে ৫ মিনিটে আরেকটি চিড়ির সাথে গণনা করুন।

এই প্রকল্পটি এখানে বর্ণিত হিসাবে তৈরি করা যেতে পারে বা অনুসারে পরিবর্তিত হতে পারে। আমি পূর্বে এই কার্যকারিতা দিয়ে একটি টাইমার তৈরি করেছি এবং এটি আমার প্রথম নির্দেশনায় ইউভি এক্সপোজার বক্স নিয়ন্ত্রণ করতে ব্যবহার করেছি।

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

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

ধাপ 1: হার্ডওয়্যার উপাদান ওভারভিউ

ডিভাইসটি 4 AAA ব্যাটারি দ্বারা চালিত এবং এটি একটি Arduino Pro Mini 5V দ্বারা নিয়ন্ত্রিত।

একটি ছোট বাজার/স্পিকার একটি শ্রবণযোগ্য অ্যালার্ম প্রদান করে।

একটি ক্ষুদ্র 5v রিলে বাহ্যিক ডিভাইসে নিয়ন্ত্রণ ভোল্টেজ প্রদান করে। এই নিয়ন্ত্রণ ভোল্টেজ আউটপুট উৎসে নমনীয়তা প্রদান করা হয়।

পুশ বাটন সহ একটি ঘূর্ণমান এনকোডার মেনু নির্বাচন প্রদান করে।

একটি OLED ডিসপ্লে এবং ক্ষণস্থায়ী স্টার্ট/স্টপ সুইচ ইউজার ইন্টারফেস সম্পূর্ণ করে।

অতিরিক্ত ইলেকট্রনিক হার্ডওয়্যার একটি SPDT পাওয়ার সুইচ এবং একটি ক্ষুদ্র ফোন জ্যাক বহিরাগত ডিভাইসের সাথে সংযোগ স্থাপন করে।

উপরন্তু, এই প্রকল্পে আপনাকে সহায়তা করার জন্য ফাইলগুলি প্রদান করা হয়:

একটি 3D মুদ্রিত প্রকল্প ক্ষেত্রে STL ফাইল।

কন্ট্রোল সার্কিট বোর্ড এবং রোটারি এনকোডারের এচিং এবং ফিনিশিংয়ের জন্য কপার এবং সোল্ডার মাস্ক ইমেজ।

যারা আমার নকশা পরিবর্তন করতে চান তাদের জন্য একটি রেফারেন্স হিসাবে পরিকল্পিত এবং বোর্ড চিত্র।

আপনি সার্কিট বোর্ড উৎপাদনের উদাহরণ হিসাবে ডবল পার্শ্বযুক্ত সার্কিট বোর্ড তৈরির বিষয়ে আমার নির্দেশাবলী পর্যালোচনা করতে পারেন।

পদক্ষেপ 2: সফ্টওয়্যার ওভারভিউ

Arduino সোর্স ফাইলগুলির সাথে, কিছু অতিরিক্ত তথ্য যা সহায়ক হতে পারে..

হার্ডওয়্যার কন্ট্রোল লাইব্রেরিগুলি যখন পাওয়া যায় তখন ব্যবহার করা হয় (বোতাম ডি-বাউন্স, ওএলইডি কন্ট্রোল, রোটারি এনকোডার রিডিং)।

লুপ ফাংশনে একটি সুইচ স্টেটমেন্ট হিসাবে কোড এক্সিকিউশন নিয়ন্ত্রণ করার জন্য প্রোগ্রামটি একটি সহজ সসীম স্টেট মেশিন (FSM) প্রয়োগ করে।

একটি মেনু শ্রেণী OLED- এ প্রদর্শিত বিকল্পগুলির নির্বাচন এবং ঘূর্ণমান এনকোডার ব্যবহার করে নির্বাচন করার জন্য সংজ্ঞায়িত করা হয়।

ইনপুটটি সরাসরি ভোটের মাধ্যমে প্রয়োগ করা হয় (নন-ইন্টারাপ্ট চালিত) যেহেতু এটি সময় সমালোচনামূলক নয় এবং কোড পরিষ্কার করে তোলে।

সিরিয়াল প্রিন্ট স্টেটমেন্ট কোড এক্সিকিউশন এবং ডিবাগিং ট্রেস করতে সাহায্য করার জন্য ব্যবহৃত হয়

প্রোগ্রাম কাঠামোর বিভিন্ন ধরণের উপাদান সহ:

  • হার্ডওয়্যার কন্ট্রোল ফাংশন এবং ভেরিয়েবলগুলিকে আলাদা করতে একাধিক কোড ট্যাব।
  • স্টেট ভ্যালু (FSM) এবং নিয়ন্ত্রণ ভেরিয়েবল সেট করতে স্টেটমেন্ট স্যুইচ করুন।
  • কাঠামোর সংজ্ঞা
  • গণনাগুলি পাঠ্য হিসাবে রাষ্ট্রীয় মান নির্ধারণের অনুমতি দেয়।
  • #হার্ডওয়্যার পিন এবং স্ট্যান্ডার্ড মানগুলির জন্য প্রাক-প্রসেসরের সংজ্ঞা নির্ধারণ করুন।

ধাপ 3: অংশ তালিকা

ঘের তৈরি করুন
ঘের তৈরি করুন

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

আমি পিএলএ ফিলামেন্ট ব্যবহার করে সমস্ত অংশ মুদ্রণ করি, ঘেরের উপরে এবং নীচের জন্য একটি রঙ, নক এবং বেজেলের জন্য আরেকটি বৈপরীত্য (যা উপরের দিকে আঠালো।) -ষড়ভুজটি কমপক্ষে %৫% ইনফিল করুন যাতে কোণার স্ক্রুগুলি ট্যাপ করার অনুমতি দেওয়া হয় এবং ইনসাইজড লেটারিং পড়ার জন্য "কোন সমর্থন নেই" সেটিং। আমি আমার প্রিন্টার "স্বাভাবিক" স্তর উচ্চতা ব্যবহার করে বাক্সটি মুদ্রণ করেছি।

ধাপ 9: ডিজাইন এবং রাইটিং কোড

এই পদক্ষেপটি alচ্ছিক কিন্তু ভাল বোঝার জন্য প্রস্তাবিত।

ঘন্টার পরিপ্রেক্ষিতে প্রচেষ্টার সিংহভাগ হল কোড লেখা। যদি আপনি সংযুক্ত প্রোগ্রামটি -is হিসাবে ব্যবহার করেন তবে আপনি এই পদক্ষেপটি এড়িয়ে যেতে পারেন। যাইহোক, এটি পরামর্শ দেওয়া হয়েছে যে আপনি আপনার প্রয়োজন মেটাতে আরও ভালভাবে বোঝার বা পরিবর্তনের জন্য কোডটি পর্যালোচনা করার জন্য সময় নিন।

নিম্নলিখিত মন্তব্যগুলি এই প্রক্রিয়াটি বুঝতে সহায়ক হতে পারে।

  • মন্তব্য - আপনি যেতে যেতে ব্যাপকভাবে মন্তব্য করুন - আমি কোড লেখার আগে প্রায়ই মন্তব্য লিখি।
  • বিভক্ত করুন এবং জয় করুন - ফাংশন, ক্লাস এবং মডিউল ব্যবহার করুন (ট্যাব।) সিনট্যাক্স চেক করতে ঘন ঘন কম্পাইল (যাচাই করুন) ব্যবহার করুন। ডিবাগ - প্রবাহ এবং পরীক্ষার মান এবং হার্ডওয়্যার ইন্টারফেস যাচাই করতে মুদ্রণ বিবৃতি ব্যবহার করুন। যেতে যেতে সমস্যার মধ্য দিয়ে কাজ করতে ভয় পাবেন না, কেউই এমন কোড লিখেন না যা বাগ-মুক্ত!
  • ধ্রুবক - #সংজ্ঞায়িত পূর্ব -কম্পাইলার নির্দেশাবলী পিন নম্বরগুলিতে নাম বরাদ্দ করে। মন্তব্যগুলির সাথে কনস্ট ভেরিয়েবল সংজ্ঞা "ম্যাজিক" সংখ্যাগুলি হ্রাস বা নির্মূল করে। একটি প্রোগ্রাম বা ফাংশনের শুরুতে অবস্থিত ধ্রুবকগুলির ব্যবহার কোডটি পুনর্লিখন ছাড়াই পরামিতিগুলি পরিবর্তন করার অনুমতি দেয়
  • পূর্বনির্ধারিত লাইব্রেরি - পূর্বনির্ধারিত লাইব্রেরি ব্যবহার করা প্রোগ্রামিং বোঝা এবং ডিবাগ সময় হ্রাস করে।
  • ডিজাইন ব্লক - ফাংশন ব্যবহার করে তৈরি, পৃথক ট্যাবে কোড বিচ্ছিন্ন করা (সংশ্লিষ্ট প্রোগ্রাম এবং.hfiles), গণনা, ক্লাস এবং কাঠামো। বাকি কোডের সাথে তারা কীভাবে কাজ করে তা বোঝার জন্য আপনার প্রতি মনোযোগ কেন্দ্রীভূত করুন।
  • স্টেট মেশিন (গুলি) - এটি একটি প্রোগ্রামিং প্যাটার্ন যা Arduinos বা যে কোন প্রোগ্রাম যা আউটপুট নিয়ন্ত্রণ করতে বা ইনপুটগুলিকে প্রতিক্রিয়া করতে ব্যবহৃত হয় তার সাথে দারুণ কাজ করে। রাষ্ট্রীয় মেশিনের বেশ কয়েকটি স্বাদ বিদ্যমান। এই কোডটি লুপ ফাংশনে সুইচ স্টেটমেন্টের উপর ভিত্তি করে একটি স্টেট মেশিন ব্যবহার করে। এই ফর্মটি বোঝা এবং ডিবাগ করা সহজ।
  • ডিসপ্লে এবং মেনু - OLED আউটপুটটি অস্পষ্ট কিন্তু নৈমিত্তিক ব্যবহারকারীদের জন্য পর্যাপ্ত প্রতিক্রিয়া প্রদান করে এবং বিকল্প নির্বাচন সমর্থন করে। এটি স্টেট মেশিনের সাথে ভালভাবে সংহত হয় (প্রায় সব রাজ্যেরই সংশ্লিষ্ট OLED স্ক্রিন থাকে)। মেনু ক্লাস প্রদর্শন এবং মেনু অপশন নির্বাচন করতে কোড বিচ্ছিন্ন করতে সহায়ক ছিল

অনুগ্রহ করে প্রোগ্রামটি কয়েকবার পড়ুন। এটি একটি সময়ে একটি ফাংশন বা বিভাগ নিতে সাহায্য করে। আমি প্রায়ই যে কোডটি লিখেছি তা বুঝতে পারি না যদি না আমি এটি অন্তত দুবার পড়ে থাকি!

ধাপ 10: প্রোগ্রামটি ইনস্টল করুন

আপনার কম্পিউটারে সংযুক্ত ফাইলটি অনুলিপি করুন তারপর এটি আপনার স্কেচ ডিরেক্টরিতে আনজিপ করুন

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

ধাপ 11: টাইমার একত্রিত করুন

টাইমার একত্রিত করুন
টাইমার একত্রিত করুন
টাইমার একত্রিত করুন
টাইমার একত্রিত করুন
টাইমার একত্রিত করুন
টাইমার একত্রিত করুন
টাইমার একত্রিত করুন
টাইমার একত্রিত করুন

একবার কেসের উপরের এবং নীচের অংশগুলি মুদ্রিত এবং পরিষ্কার করা হলে উপাদানগুলি ছোট স্ব-ট্যাপিং প্লাস্টিকের স্ক্রু ব্যবহার করে সংযুক্ত করা যেতে পারে। প্রথমে ব্যাটারি হোল্ডারকে পিছনে টেনে আনা হয়। বাকি অংশগুলি নিম্নলিখিত ক্রমে ঘেরের উপরে সংযুক্ত করা হয়েছে:

  1. OLED এবং কেবল
  2. সুইচ ও ওয়্যারিং শুরু/বন্ধ করুন
  3. রোটারি এনকোডার এবং কেবল
  4. স্পিকার / বুজার এবং তারের
  5. বাহ্যিক নিয়ন্ত্রণ জ্যাক এবং তারের
  6. অন/অফ স্লাইড সুইচ এবং ওয়্যারিং (ডাবল চেক ওরিয়েন্টেশন যাতে চালু হয় সেই দিকে আপনি চান

আপনি যদি কেবল আপনার সার্কিট বোর্ডে কেবলগুলি সোল্ডারিং করেন, তারের ভাঙ্গন কমাতে আপনার ঘেরের সাথে সমস্ত অংশ সংযুক্ত হওয়ার পরে এটি করুন। আপনি বোর্ডটি পিছনে স্ক্রু করার আগে তারগুলি মূল বোর্ডে তারযুক্ত না হওয়া পর্যন্ত অপেক্ষা করুন।

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

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

ধাপ 12: ইন্টিগ্রেশন টেস্টিং

ইন্টিগ্রেশন টেস্টিং
ইন্টিগ্রেশন টেস্টিং
ইন্টিগ্রেশন টেস্টিং
ইন্টিগ্রেশন টেস্টিং
ইন্টিগ্রেশন টেস্টিং
ইন্টিগ্রেশন টেস্টিং

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

ধাপ 13: চূড়ান্ত চিন্তা

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

আপনার সময় দেখার এবং/অথবা এই প্রকল্পটি নির্মাণের জন্য ধন্যবাদ।

প্রস্তাবিত: