সুচিপত্র:

Arduino পোর্টেবল ওয়ার্কবেঞ্চ পার্ট 3:11 ধাপ
Arduino পোর্টেবল ওয়ার্কবেঞ্চ পার্ট 3:11 ধাপ

ভিডিও: Arduino পোর্টেবল ওয়ার্কবেঞ্চ পার্ট 3:11 ধাপ

ভিডিও: Arduino পোর্টেবল ওয়ার্কবেঞ্চ পার্ট 3:11 ধাপ
ভিডিও: #1 FLProg ওভারভিউ | Arduino ভিজ্যুয়াল এমবেডেড প্রোগ্রামিং 2024, জুলাই
Anonim
Arduino পোর্টেবল ওয়ার্কবেঞ্চ পার্ট 3
Arduino পোর্টেবল ওয়ার্কবেঞ্চ পার্ট 3
Arduino পোর্টেবল ওয়ার্কবেঞ্চ পার্ট 3
Arduino পোর্টেবল ওয়ার্কবেঞ্চ পার্ট 3

যদি আপনি অংশ 1, 2 এবং 2B দেখে থাকেন, তবে এখন পর্যন্ত এই প্রকল্পে আরডুইনো খুব বেশি হয়নি, তবে কেবল কয়েকটি বোর্ডের তার ইত্যাদি এটি সম্পর্কে নয় এবং অবকাঠামো অংশটি আগে তৈরি করতে হবে বিশ্রামের কাজ।

এটি ইলেকট্রনিক্স এবং আরডুইনো কোড। পূর্ববর্তী 2B নির্দেশযোগ্য বিদ্যুৎ সরবরাহের বিবরণ তালিকাভুক্ত করে।

এই বিভাগটি নিম্নলিখিত বৈশিষ্ট্যগুলির সাথে পোর্টেবল ওয়ার্কবেঞ্চ তৈরি করে

একটি TFT টাচ স্ক্রিন একটি ডিসপ্লে প্রদান করে, যা একটি Arduino Mega দ্বারা পরিচালিত হয় যা নিম্নলিখিতগুলি প্রদান করে

  1. 8 ডিজিটাল ডিসপ্লে, অফ/অন/দোলনা
  2. 4 ভোল্টেজ প্রদর্শন
  3. 3 বর্তমান/ভোল্টেজ প্রদর্শন
  4. E24 রেজিস্ট্যান্স মিটার (কারণ আমি আর কালার ব্যান্ড পড়তে পারি না)

আমি যোগ করব এমন অন্যান্য জিনিস থাকবে, কিন্তু এটি আমার প্রাথমিক লক্ষ্য ছিল। Arduino কোড একটি সিরিয়াল ডিসপ্লে, I2C ডিসপ্লে, ক্যাপাসিট্যান্স মিটার, ডিজিটাল সুইচ এবং অসিলোস্কোপ তালিকাভুক্ত করে যা আমি সময়ের সাথে যোগ করব। এছাড়াও আমি 3V3 পাওয়ার সাপ্লাই, একটি ভেরিয়েবল পাওয়ার সাপ্লাই, বা পাওয়ার সাপ্লাই ভোল্টেজ/কারেন্ট মনিটরিং যোগ করার মত সিদ্ধান্ত নিইনি। এখন পর্যন্ত এটি মেগা ব্যবহার করে নির্মিত হয়েছে কিন্তু আমি I2C অ্যাক্সেস করা সার্কিটগুলিকে আলাদা করার জন্য কিছু ফাংশন সরানোর দিকেও তাকিয়ে আছি, হয় ডেডিকেটেড চিপস বা প্রোগ্রামড এটমেল 328 এর যা সহজেই একটি ভিন্ন নিয়ামককে সামঞ্জস্য করবে।

সরবরাহ

5 x 16 উপায় হেডার সকেট

5 x 8 ওয়ে ডুপন্ট সকেট, আসলে দীর্ঘ 40 ওয়ে একক থেকে তৈরি লাইন সকেটে প্রয়োজনীয় দৈর্ঘ্য পর্যন্ত কাটা

1 x 3.5 ILI9486 TFT টাচ স্ক্রিন

1 x Arduino মেগা 2650

স্বতন্ত্র উপাদান

পাঠ্য অনুসারে, এর মধ্যে কিছুটির মান একেবারে স্থির নয় এবং যদি আপনি কোনও ফাংশন মিস করেন তবে মোটেই প্রয়োজন হবে না:)

ডিজিটাল ইনপুট

16 x 10K প্রতিরোধক

এনালগ ইনপুট

1 x TL074 একটি চতুর্ভুজ jfet opamp, এই আমি একটি অতিরিক্ত হিসাবে কি ছিল, অনুরূপ কিছু করতে হবে:)

ভোল্টেজ ডিভাইডার হিসাবে ব্যবহৃত 4 x 68K এবং 4 x 430k প্রতিরোধক।

4 x 1N4001 বা অনুরূপ

প্রতিরোধক মিটার

1 x TL072 একটি দ্বৈত jfet opamp, এই আমি একটি অতিরিক্ত হিসাবে কি ছিল, অনুরূপ কিছু করতে হবে:)

1M0, 300k, 100k, 30k, 10k, 3k, 1k, 300R (যদি এই মানগুলি পরিবর্তিত হয় তবে Arduino কোডটি আপডেট করতে হবে)

ধাপ 1: ইলেকট্রনিক্সের ওভারভিউ

ইলেকট্রনিক্স এর ওভারভিউ
ইলেকট্রনিক্স এর ওভারভিউ
ইলেকট্রনিক্স এর ওভারভিউ
ইলেকট্রনিক্স এর ওভারভিউ
ইলেকট্রনিক্স এর ওভারভিউ
ইলেকট্রনিক্স এর ওভারভিউ
ইলেকট্রনিক্স এর ওভারভিউ
ইলেকট্রনিক্স এর ওভারভিউ

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

প্রজেক্ট বক্স ইলেকট্রনিক্সের জন্য প্রধান প্রয়োজনীয়তা ছিল Arduino বা Raspberry PI এর ব্যবহার করে নতুন সার্কিটগুলিকে শক্তি প্রদান করা তাই USB সকেটগুলির মতো 5V অপরিহার্য ছিল। আলোকিত সুইচগুলি আমাকে বলছে যে বিদ্যুৎ চালু আছে কি না, এবং পরীক্ষার সময় আমাকে নিয়মিত ছোট অক্জিলিয়ারী সার্কিট তৈরি করতে হবে যাতে সাময়িক স্থিতি প্রদর্শন করা যায়। আমার একটি ভারী মিটারের বাক্স আছে যা অনেক বেঞ্চ স্পেস ব্যবহার করে এবং সব থেকে বেশি, আমার এমন একটি ডিসপ্লে দরকার যা আমি সহজেই পড়তে পারি আমার দৃষ্টিশক্তি কমে গেলে, বড় কিছু উজ্জ্বল চরিত্রের সাথে। তাই আমার ডিজিটাল ডিসপ্লে, ভোল্টেজ মিটার, কারেন্ট মিটার দরকার, এবং এই ক্ষেত্রে E24 সিরিজের প্রতিরোধককে দ্রুত সনাক্ত করার জন্য একটি প্রতিরোধের মিটার আকারে একটু বিলাসিতা প্রয়োজন, সবই প্রজেক্ট ব্রেডবোর্ডের 15cm এর মধ্যে এবং একটি কম্প্যাক্ট, পোর্টেবল ক্ষেত্রে।

পূর্ববর্তী নিবন্ধে বর্ণিত প্রধান পিএসইউ, wayাকনা বন্ধ করার সময় way০ টি পথের ফিতা কেবল ব্যবহার করে providesাকনাকে শক্তি প্রদান করে। এটি প্যানেল ইলেকট্রনিক্স এবং ব্রেডবোর্ড সরবরাহের জন্য সুইচড 5v এবং 12V সরবরাহ সরবরাহ করে।

সমস্ত পাওয়ার এবং সিগন্যাল ইনপুট 2x8way PCB হেডার সকেট দ্বারা 8-ওয়ে ডুপন্ট সকেটের সাথে সমান্তরালভাবে প্রদান করা হয়। এটি সম্ভবত ওভারকিল, বেশিরভাগ রুটিবোর্ডগুলিতে পাওয়ার রেল রয়েছে তবে এটি করা সহজ ছিল।

পাওয়ার সকেটে, বিদ্যুৎ সরবরাহের প্রধান 0V রেল সব সরবরাহের জন্য সাধারণ এবং এটি উপলব্ধ করা হয়। এর উপরে একটি 5V পাওয়ার সাপ্লাই, বেস ইউনিটের উপর সুইচ করা হয়েছে, এবং এর উপরে দুটি সরবরাহ করা হয় +12V এবং -12V সরবরাহ, যা বর্তমানে স্থির করা হয়েছে যদিও আমার সাপ্লাই হ্যাক করার জন্য এটি একটি পরিবর্তনশীল এবং 3.3-20V সরবরাহ করার ধারণা আছে পরিবর্তনশীল সরবরাহ।

ধাপ 2: ইলেকট্রনিক্স

ইলেকট্রনিক্স
ইলেকট্রনিক্স
ইলেকট্রনিক্স
ইলেকট্রনিক্স
ইলেকট্রনিক্স
ইলেকট্রনিক্স

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

আরডুইনো মেগা 2650 mingাকনায় মাউন্ট করা হয়েছে যাতে ইউএসবি সকেট প্রোগ্রামিং এর জন্য উপলব্ধ। এটি সমস্ত আউটপুট এবং ইনপুট প্রদর্শন করতে ব্যবহৃত TFT টাচস্ক্রিন চালায়।

8 ডিজিটাল ইনপুটগুলি 2 x 8-way PCB হেডারের মাধ্যমে উপলব্ধ করা হয় এবং যদি ফাংশনটি নির্বাচন করা হয় তবে স্ক্রিনে তাদের অবস্থা প্রদর্শন করা হয়। এটি একটি সহজ অন/অফ ডিসপ্লে, রেড অফ, গ্রিন অন। আমি ভবিষ্যতের পরিবর্তন হিসাবে দোলনা যোগ করতে পারি।

4 ভোল্টেজ ইনপুটগুলি পিসিবি হেডার এবং একটি ভোল্টেজ ডিভাইডারের মাধ্যমেও উপলব্ধ করা হয়, স্ক্রিনে প্রদর্শিত ভোল্টেজ। সামনের প্যানেলে প্রতিটি ইনপুট ভোল্টেজ, সাধারণ স্থানের রেফারেন্স সহ, 7 ভোল্টেজ বিভাজক দ্বারা বিভাজনে প্রেরণ করা হয় এবং তারপর একটি টিএল 074 এ চারটি অপ-অ্যাম্পের মধ্যে একটিকে সংশোধনকারী পরিবর্ধক হিসাবে কনফিগার করা হয়, কেবল নেতিবাচক ভোল্টেজের সাথে দুর্ঘটনা এড়ানোর জন্য । কিছু পর্যায়ে একটি পোলারিটি ইঙ্গিত যোগ করা ভাল হবে কিন্তু এই সময় নয়। প্রতিটি op-amp থেকে আউটপুট Arduino এর ADC ইনপুটগুলির মধ্যে একটি।

আরও একটি PCB হেডার সিরিয়াল এবং I2C সংযোগ উভয়ই প্রকাশ করে। এটি একটি সিরিয়াল ডিসপ্লে কনসোল এবং একটি মৌলিক I2C শনাক্তকরণ ফাংশন বাস্তবায়নের অনুমতি দেওয়ার জন্য করা হয়েছিল।

ভোল্টেজ/ডিজিটাল ইনপুটগুলি সব প্রয়োজন নেই বলে প্রমাণিত হতে পারে তাই ডিজিটাল সুইচিং আউটপুট প্রদানের জন্য সেগুলি পুনরায় কনফিগার করা যেতে পারে।

Arduino একটি ভোল্টেজ ডিভাইডারে একটি রেজিস্ট্যান্স অ্যারে ক্ষমতা দেয় যা একটি রেজিস্ট্যান্স মিটার কার্যকারিতা প্রদান করে। এর আউটপুট একটি op-amp দ্বারা অর্ধেক করা হয় এর উদ্দেশ্য সঠিক প্রতিরোধের পরিমাপ নয় কিন্তু E24 সিরিজের মানগুলি দ্রুত চিহ্নিত করা, যদিও কিছু ক্রমাঙ্কনের সাথে এটি একটি মৌলিক মিটার হিসাবে ব্যবহার করা যেতে পারে। সামনের প্যানেলে লাগানো দুটি স্প্রিংসে 9M9 এর চেয়ে কম প্রতিরোধের উপস্থিতি আছে কিনা তা সনাক্ত করা এবং তারপর 2.5V এর নিকটতম মান পরিমাপ না করা বা শেষ প্রতিরোধক নির্বাচিত হওয়া পর্যন্ত ডিভাইডার অ্যারেতে প্রতিটি প্রতিরোধককে 5V স্যুইচ করুন গণনা এবং তুলনা তারপর সবচেয়ে কাছের E24 মান নির্ধারণ করা হয়। 5V আর্ডিনোতে 3-10 ডিজিটাল আউটপুট থেকে পাওয়া যায় যা ত্রুটিগুলি কমানোর জন্য প্রতিটি পরিমাপের মধ্যে উচ্চ প্রতিবন্ধকতা ইনপুট হিসাবে পুনরায় কনফিগার করা হয়। Arduino পিন D3-10 ইচ্ছাকৃতভাবে ভবিষ্যতে সংযোজন হিসাবে ব্যবহার করা হয়েছিল এই আউটপুটগুলির PWM ক্ষমতা ব্যবহার করে একটি ক্যাপাসিট্যান্স মিটার হতে পারে যা সম্ভবত একটি সফ্টওয়্যার পরিবর্তন হতে পারে।

একটি পরিবর্তিত INA3221 বোর্ড সামনে প্যানেল থেকে ইনপুট সহ I2C ইন্টারফেসের মাধ্যমে অতিরিক্ত ভোল্টেজ এবং বর্তমান পরিমাপ প্রদান করে। জাম্পার কেবল ব্যবহার করে সবকিছুই তারযুক্ত করা হয় যাতে ভবিষ্যতে ফাংশনগুলির পুনassনির্ধারণ সহজ হয়।

ধাপ 3: INA3221 ভোল্টেজ/বর্তমান ইনপুট

INA3221 ভোল্টেজ/বর্তমান ইনপুট
INA3221 ভোল্টেজ/বর্তমান ইনপুট

এটি বাক্সে ভোল্টেজ/বর্তমান পরিমাপ প্রদান করার জন্য একটি দ্রুত সমাধান হিসাবে অভিপ্রায় করা হয়েছিল কিন্তু এটি প্রমাণিত হয়েছিল যে আমি যে বোর্ডে কিনেছি তা ব্যাটারি চার্জিং নিরীক্ষণের উদ্দেশ্যে ছিল তাই তিনটি স্বাধীন পরিমাপ প্রদানের জন্য সংশোধন করতে হয়েছিল। যদি এই প্রকল্পটি তৈরি করার সময় আপনি একটি INA3221 বোর্ড উৎস করতে পারেন যা ডেটশীট অনুসারে এই চিপটি প্রয়োগ করে তবে এটি প্রয়োজনীয় নয়।

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

সামনের প্যানেল থেকে বোর্ডের সাথে সংযোগগুলি পরিমাপ প্রতিরোধক জুড়ে জাম্পার লিডগুলির মাধ্যমে তৈরি করা হয়।

বোর্ডের শক্তি মাটির মতো Arduino 5V পিন থেকে নেওয়া হয়, I2C সংযোগগুলি ইলেকট্রনিক্স পিসিবিতে যায়।

ধাপ 4: ডিসপ্লে স্ক্রিন

ডিসপ্লে স্ক্রিন
ডিসপ্লে স্ক্রিন

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

এই প্রকল্পের জন্য একটি টাচ স্ক্রিন অপরিহার্য, এটি চারপাশে ঘুরে বেড়ায় যাতে ডেডিকেটেড সুইচ না থাকে এবং ভবিষ্যতে মেনু এবং ফাংশন যোগ করার সুবিধা থাকে না অনেক রিয়ারিং ছাড়া।

ধাপ 5: এটি একসাথে সংযুক্ত করা

এটিকে একসাথে সংযুক্ত করা
এটিকে একসাথে সংযুক্ত করা
এটিকে একসাথে সংযুক্ত করা
এটিকে একসাথে সংযুক্ত করা
এটিকে একসাথে সংযুক্ত করা
এটিকে একসাথে সংযুক্ত করা

আরডুইনো মেগা Hাকনার এলএইচএস -এ অবস্থিত, এর ইউএসবি এবং পাওয়ার পোর্টগুলি কেসের বাইরে থেকে অ্যাক্সেসযোগ্য। Arduino এর পাশে RHS- এ ম্যাট্রিক্স বোর্ডে মাউন্ট করা ইলেকট্রনিক্স রয়েছে এবং এর উপরে Aাকনার পিছনে INA3221 বোর্ড লাগানো আছে।

এছাড়াও Arduino এর উপরে LHS এ idাকনার পিছনে একটি সাধারণ গ্রাউন্ড কানেকশন বোর্ড যার সাথে সকল স্থল সংযুক্ত।

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

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

ধাপ 6: একত্রিত সীসা

একত্রিত সীসা
একত্রিত সীসা
  1. আরডুইনো এডিসি পোর্টে ভোল্টেজ এবং রেজিস্ট্যান্স ইনপুট, পাঁচটি নেতৃত্ব বিশ সেমি সেমি পৃথক পুরুষ সংযোগকারীদের সাথে এক প্রান্তে ছয়টি হাউজিংয়ে একত্রিত করে আরডুইনো হেডারের ফাঁক মিটানোর জন্য।
  2. সামনের প্যানেলে ভোল্টেজ পিনগুলিকে সার্কিট বোর্ডের সাথে সংযুক্ত করার জন্য 4 -ওয়ে হাউজিং থেকে 2 -ওয়ে হাউজিং পর্যন্ত 4 ওয়ে 10 সেমি ক্যাবল।
  3. 8x10 সেমি ক্যাবল 2x4 ওয়ে পুরুষ হেডার থেকে 8-ওয়ে মহিলা হেডার
  4. সিরিয়াল এবং I2C কে সামনের প্যানেলে সংযুক্ত করার জন্য 4 ওয়ে মহিলা হাউজিং থেকে 4 ওয়ে 10 সেমি ক্যাবল
  5. INA3221 কে সামনের প্যানেলে সংযুক্ত করার জন্য 4 ওয়ে হাউজিং থেকে 4 ওয়ে হাউজিং থেকে 4 সিঙ্গেল কানেক্টর পর্যন্ত 4 সেম 10 সেমি ক্যাবল
  6. 4 উপায় 20cm তারের চার উপায় মহিলা আবাসন চার উপায় পুরুষ আবাসন সংযোগ করার জন্য সিরিয়াল এবং I2C Arduino থেকে সার্কিট বোর্ড ফ্যান আউট নিতে।
  7. 8 ওয়ে 10 সেমি ক্যাবল 8 ওয়ে ফিমেল হাউজিং থেকে 8 ওয়ে ফিমেল হাউজিং পর্যন্ত সামনের প্যানেল থেকে সার্কিট বোর্ডে ডিজিটাল ইনপুট নিতে।
  8. 8 উপায় 10 সেমি তারের 8 উপায় মহিলা হাউজিং এক 3 উপায় পুরুষ আবাসন এবং একটি 5 উপায় পুরুষ আবাসন সার্কিট বোর্ডের প্রতিরোধের বিভাজক সংযোগ করার জন্য। দুটি হাউজিংগুলি Arduino বোর্ডে হেডারের অ-মান ফাঁক সামঞ্জস্য করতে ব্যবহৃত হয়।
  9. INA3221 পাওয়ার সাপ্লাইয়ের জন্য 2 সিঙ্গেল পুরুষ সংযোগকারীকে 2 ওয়ে মহিলা হাউজিং নিতে 2 ওয়ে 20 সেমি ক্যাবল।
  10. সামনের প্যানেলে তৃতীয় INA3221 মনিটর সংযোগের জন্য 2 টি 10 সেমি তারের দুটি একক মহিলা হাউজিংয়ে 2-উপায় মহিলা আবাসন নিতে।
  11. 2 উপায় 10cm তারের 2-উপায় মহিলা আবাসন নিতে 2-উপায় মহিলা হাউজিং INA3221 কে I2C ফ্যানআউট সংযোগের সাথে সংযুক্ত করতে।

ধাপ 7: Arduino কোড

Arduino কোড
Arduino কোড
Arduino কোড
Arduino কোড

এই প্রকল্পটি Arduino Mega 2650 এর উপর ভিত্তি করে তৈরি করা হয়েছে যার জন্য আমি একটি সহজ বিন্যাসে কাজের জন্য নিবেদিত অনেক I/O পোর্ট চেয়েছিলাম। TFT টাচস্ক্রিনের জন্য লাইব্রেরিগুলি Arduino Uno কে সমর্থন করে এবং মেগা সমর্থন করার জন্য সম্পাদনা করতে হবে। লাইব্রেরি সম্পাদনা মূল TFT কোড লেখক দ্বারা সমর্থিত, সহজ এবং পরবর্তী ধাপে বর্ণনা করা হয়েছে।

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

কোডের একটি কার্যকরী সংস্করণ এখানে অন্তর্ভুক্ত করা হয়েছে এবং আপডেট করা হবে কিন্তু সাম্প্রতিকতম আপডেটগুলি গিথুবে থাকবে।

কোডের প্রধান ফাংশন ডিসপ্লের চারপাশে ঘুরছে, ডিসপ্লের প্রতিটি উপাদান একটি একক অ্যারে এন্ট্রি ধারণ করে যা উপাদান টাইপ ধারণ করে, যেখানে স্ক্রিনে এটি প্রদর্শিত হয়, রঙ এবং ইনপুট উৎসের মতো অতিরিক্ত পরামিতি। মন্তব্য সহ এই অ্যারের একটি স্ক্রিনশট উপরে দেখানো হয়েছে। এটি পর্দায় প্রদর্শিত হবে কিনা তা নিয়ন্ত্রণ করার জন্য একটি ক্ষেত্রও ধারণ করে। এই অ্যারে সম্পাদনা করে, নতুন বৈশিষ্ট্য যোগ করা যেতে পারে, বা বৈশিষ্ট্যগুলি সরানো যেতে পারে। কোডের 'লুপ' রুটিন এই অ্যারের মাধ্যমে ধারাবাহিকভাবে চলে, প্রতিটি যোগ্য উপাদানকে ক্রমানুসারে প্রক্রিয়া করে এবং তারপর পুনরাবৃত্তি করে। বর্তমানে 6 টি ভিন্ন উপাদান রয়েছে।

মেনু উপাদানগুলি - এগুলি তথ্য প্রদর্শন করে না কিন্তু স্পর্শ করা হলে উপাদানগুলির পরামিতিতে চিহ্নিত একটি সংশ্লিষ্ট সাবরুটিন চালানো হয়

ডিজিটাল উপাদান - সংশ্লিষ্ট ডিজিটাল ইনপুট পিনের স্থিতির উপর নির্ভর করে পর্দায় একটি বাক্স হিসাবে লাল বা সবুজ হিসাবে প্রদর্শন করুন। উদাহরণ কনসোলটি 8 ডিজিটাল পিনের জন্য তারযুক্ত কিন্তু এটি ইচ্ছামতো বৃদ্ধি বা হ্রাস করা যেতে পারে।

অ্যানালগ উপাদান - সংশ্লিষ্ট অ্যানালগ পিনে পরিমাপ করা একটি আনুমানিক ভোল্টেজ প্রদর্শন করুন। চারটি মূলত নির্দিষ্ট করা আছে।

যথার্থ উপাদান - একটি বহিরাগত নির্ভুলতা ভোল্ট/বর্তমান মিটার মডিউল থেকে ইনপুট প্রদর্শন। এর মধ্যে মাত্র তিনটি আছে কিন্তু একটি দ্বিতীয় বা তৃতীয় মডিউল যোগ করা যেতে পারে।

প্রতিরোধের উপাদান - এটি একটি একক উপাদান যা প্রতিরোধের মিটার থেকে ইনপুট প্রদর্শন করে।

স্পর্শ - এটিই একমাত্র রুটিন যা সর্বদা সম্পাদিত হয় যাতে স্ক্রিনটি স্পর্শ করা হয়েছে কিনা তা সনাক্ত করা যায় এবং তারপরে কী স্পর্শ করা হয়েছে তার উপর ভিত্তি করে সিদ্ধান্ত নিন। অর্থাত্ যদি একটি মেনু আইটেম, যে কি পরবর্তী প্রদর্শন করা হচ্ছে।

পর্দার তিনটি স্ট্যাটাস মোড রয়েছে, স্বাভাবিক, বড় এবং পূর্ণ পর্দা এবং সমস্ত উপাদান স্থিতির উপর নির্ভর করে তাদের ক্রিয়াকলাপ পরিবর্তন করে। তিনটি মোড একটি উপাদান এবং সংশ্লিষ্ট মেনু বিকল্প স্পর্শ করে মেনু থেকে নির্বাচনযোগ্য।

সাধারণ মোড - 8 টি ডিজিটাল ইনপুট, চারটি এনালগ ভোল্টেজ ইনপুট, তিনটি স্পষ্টতা উপাদান, প্রতিরোধের উপাদান এবং চারটি মেনু উপাদান প্রদর্শন করে। মেনু থেকে সাধারণ নির্বাচন করা এই মোডে ডিসপ্লে রাখে।

লার্জ মোড - স্ক্রিনের যেকোনো এলিমেন্ট স্পর্শ করে সিলেক্ট করা হয় তার পরে লার্জ। যখন নির্বাচিত হয়, সেই উপাদানটির ধরনই একমাত্র নির্বাচিত প্রকার এবং সেই প্রকারের উপাদানগুলিকে পুরো পর্দা পূরণ করার জন্য পুনর্বিন্যাস করা হয়।

ফুল স্ক্রিন মোড - স্ক্রিনের যেকোনো এলিমেন্ট স্পর্শ করে ফুল স্ক্রিন দ্বারা নির্বাচিত হয়। যখন নির্বাচিত হয়, সেই উপাদানটিই একমাত্র উপাদান প্রদর্শিত হয় এবং সেই একটি আইটেমের সর্বাধিক দৃশ্যমানতা প্রদান করে পুরো পর্দাটি পুনরায় সাজানো হয়।

অতিরিক্ত কার্যকারিতা যোগ করার জন্য, নিম্নলিখিত রুটিন যোগ করা প্রয়োজন

'ড্র' রুটিন যা সেই উপাদানটির তথ্য পেতে বলা হয়, যথাযথ স্ক্রিন আপডেট রুটিন কল করুন এবং ফিরে আসা স্পর্শ তথ্য নিবন্ধন করুন

'লজিক' রুটিন যা ড্র রুটিন থেকে তথ্য গ্রহণ করে এবং স্ক্রিনে তথ্য রাখার জন্য উপযুক্ত স্ক্রিন ড্রাইভার রুটিন ব্যবহার করে এবং স্ক্রিন আঁকা এলাকার জন্য সঠিক স্পর্শ তথ্য ফেরত দেয়

'সেটআপ' রুটিন যা Arduino সেটআপের অংশ হিসাবে বলা হয়

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

ধাপ 8: Arduino লাইব্রেরি সম্পাদনা

আরডুইনো লাইব্রেরি সম্পাদনা
আরডুইনো লাইব্রেরি সম্পাদনা
আরডুইনো লাইব্রেরি সম্পাদনা
আরডুইনো লাইব্রেরি সম্পাদনা

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

দুটি ফাইল MCUFRIEND_kbv / ইউটিলিটি ফোল্ডারে mcufriend_shield.h এবং mcufriend_special.h হিসাবে সংরক্ষিত আছে। প্রয়োজনীয় পরিবর্তনগুলি প্রথমে 'শিল্ড' হেডার ফাইলে প্রথম লাইনটি পড়ে তা নিশ্চিত করার জন্য

#US_SPECIAL নির্ধারণ করুন

'বিশেষ' হেডার ফাইলটি লোড করা হয়েছে তা নিশ্চিত করতে।

লাইনটি নিশ্চিত করতে 'বিশেষ' হেডার ফাইলটিও আপডেট করতে হবে

#USE_MEGA_8BIT_PROTOSHIELD সংজ্ঞায়িত করুন

অসম্পূর্ণ

এই দুটি পরিবর্তনের মানে হল যে এই ডিসপ্লের ডিসপ্লে কোডটি ইউনোর ডিফল্ট 3-10 এর পরিবর্তে Arduino Mega এ 20-29 পিন ব্যবহার করে কাজ করবে।

ধাপ 9: স্ক্রিন শট

স্ক্রিন শট
স্ক্রিন শট
স্ক্রিন শট
স্ক্রিন শট
স্ক্রিন শট
স্ক্রিন শট

আমি এখানে স্ক্রিন শট রেখেছি যাতে কনসোলটি কী করা উচিত তা সহজেই দেখা যায়। পরবর্তী বিভাগটি Arduino- এ কোড লোড করা বোঝায়।

প্রথম স্ক্রিনটি উপরের দিকে মেনু সহ 'স্বাভাবিক' স্ক্রিন, এলএইচএস -এ ভোল্টেজ পরিমাপ, আরএইচএস -এ ভোল্টেজ এবং বর্তমান পরিমাপ এবং নীচে ডিজিটাল পিন স্ট্যাটাস, 'মিথ্যা/কম' -এর জন্য লাল, 'সত্য/উচ্চ' -এর জন্য সবুজ '। অবশেষে কেন্দ্রে প্রতিরোধের পরিমাপ।

দ্বিতীয় পর্দায় বড় মোডে সক্রিয় ডিজিটাল ইনপুট দেখানো হয়েছে, প্রতিটি ইনপুট স্পষ্টভাবে প্রদর্শিত হয়েছে।

তৃতীয় পর্দা বড় মোডে ভোল্টেজ ইনপুট দেখায়।

ধাপ 10: Arduino কোড লোড হচ্ছে

কোড সংযুক্ত করা হয়েছে, কিন্তু পূর্বে উল্লিখিত হিসাবে কিছু সময়ে গিথুব পর্যন্ত স্থাপন করা হবে এবং অবস্থান এখানে যোগ করা হবে। মূল সোর্স কোড ফাইল হল Arduino_Workbench_v01.ino এবং অন্যান্য রুটিন বিভিন্ন বৈশিষ্ট্য প্রদান করা।

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

যেসব লাইব্রেরি লোড করতে হবে সেগুলো হল Adafruit GFX এবং টাচস্ক্রিন লাইব্রেরি যা Arduino লাইব্রেরি ম্যানেজার থেকে পাওয়া উচিত, MCUFRIEND_kbv এর একটি কপি গিথুব থেকে ডাউনলোড করা যেতে পারে এবং INA3221 এর জন্য, SwitchDocLabs লাইব্রেরি SDL_Arduino_INA3221 এছাড়াও github থেকে ডাউনলোড করা যায়, উভয়ই দ্রুত আসে একটি গুগল সার্চ।

ধাপ 11: চূড়ান্ত স্পর্শ

চূড়ান্ত স্পর্শ
চূড়ান্ত স্পর্শ
চূড়ান্ত স্পর্শ
চূড়ান্ত স্পর্শ
চূড়ান্ত স্পর্শ
চূড়ান্ত স্পর্শ
চূড়ান্ত স্পর্শ
চূড়ান্ত স্পর্শ

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

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

এই মুহূর্তে আমি এটি পেতে এবং এটি ব্যবহার করতে যাচ্ছি, আমার কাজ করার জন্য কয়েকটি প্রকল্প আছে!

প্রস্তাবিত: