কিভাবে আরডুইনো বোর্ডের সাথে LED সংযোগ করবেন
আরডুইনো প্ল্যাটফর্মটি সারা বিশ্বে অত্যন্ত জনপ্রিয়। প্রোগ্রামিং এবং হার্ডওয়্যার পরিচালনার বিকাশের প্রথম পদক্ষেপের জন্য একটি আদর্শ হাতিয়ার। আপনার দক্ষতা বাড়ার সাথে সাথে আপনি পেরিফেরিয়াল যোগ করে আর্কিটেকচারকে স্কেল করতে পারেন এবং আরও জটিল সিস্টেম তৈরি করতে পারেন যা আরও জটিল প্রোগ্রাম চালায়। Arduino Uno এবং Arduino Nano বোর্ড প্রাথমিক প্রশিক্ষণের জন্য উপযুক্ত। তাদের উদাহরণে, আরডুইনোতে LED এর সংযোগ বিবেচনা করা হয়।
Arduino Uno এবং Arduino Nano কি?
Arduino Uno বোর্ডের ভিত্তি হল ATmega328 মাইক্রোকন্ট্রোলার। এটিতে অতিরিক্ত উপাদান রয়েছে:
- কোয়ার্টজ অনুরণনকারী;
- রিসেট বোতাম;
- ইউএসবি সংযোগকারী;
- ইন্টিগ্রেটেড ভোল্টেজ স্টেবিলাইজার;
- পাওয়ার সংযোগকারী;
- মোড নির্দেশ করার জন্য বেশ কয়েকটি এলইডি;
- ইউএসবি চ্যানেলের জন্য যোগাযোগ চিপ;
- ইন-সার্কিট প্রোগ্রামিং জন্য সংযোগকারী;
- আরো কয়েকটি সক্রিয় এবং নিষ্ক্রিয় উপাদান।
এই সমস্ত আপনাকে সোল্ডারিং লোহা ব্যবহার না করেই প্রথম পদক্ষেপ নিতে এবং একটি মুদ্রিত সার্কিট বোর্ড তৈরির পর্যায় এড়াতে দেয়।ইউনিটটি 7..12 V এর একটি বাহ্যিক ভোল্টেজ উত্স দ্বারা বা একটি USB সংযোগকারীর মাধ্যমে চালিত হয়৷ এটির মাধ্যমে, মডিউলটি স্কেচ ডাউনলোড করতে পিসির সাথে সংযুক্ত থাকে। বহিরাগত ডিভাইসগুলিকে পাওয়ার জন্য বোর্ডে একটি 3.3 V ভোল্টেজের উৎস রয়েছে। 6, 14টি সাধারণ-উদ্দেশ্য ডিজিটাল আউটপুট অপারেশনের জন্য উপলব্ধ। 5 V দ্বারা চালিত হলে ডিজিটাল আউটপুটের লোড ক্ষমতা 40 mA হয়। এর মানে হল যে একটি LED এর মাধ্যমে সরাসরি এর সাথে সংযুক্ত হতে পারে সীমিত প্রতিরোধক.

আরডুইনো ন্যানো বোর্ডটি Uno-এর সাথে সম্পূর্ণ সামঞ্জস্যপূর্ণ, তবে আকারে ছোট এবং টেবিলে নির্দেশিত কিছু পার্থক্য এবং সরলীকরণ রয়েছে।
| বেতন | নিয়ন্ত্রক | বাহ্যিক বিদ্যুৎ সরবরাহের জন্য সংযোগকারী | ইউএসবি যোগাযোগের জন্য মাইক্রোচিপ | ইউএসবি সংযোগকারী |
|---|---|---|---|---|
| Arduino Uno | ATmega328 | এখানে | ATmega8U2 | ইউএসবি এ-বি |
| আরডুইনো ন্যানো | ATmega328 | না | FT232RL | মাইক্রো USB |

পার্থক্যগুলি মৌলিক নয় এবং পর্যালোচনার বিষয়বস্তুর জন্য গুরুত্বপূর্ণ নয়।
আরডুইনো বোর্ডের সাথে এলইডি সংযোগ করতে আপনার যা দরকার
LED সংযোগের জন্য দুটি বিকল্প আছে। শেখার উদ্দেশ্যে, আপনি যে কোনোটি বেছে নিতে পারেন।
- বিল্ট-ইন LED ব্যবহার করুন. এই ক্ষেত্রে, ইউএসবি সংযোগকারীর মাধ্যমে একটি পিসিতে সংযোগ করার জন্য একটি কেবল ছাড়া অন্য কিছুর প্রয়োজন নেই - পাওয়ার এবং প্রোগ্রামিংয়ের জন্য। বোর্ডকে পাওয়ার জন্য একটি বাহ্যিক ভোল্টেজ উত্স ব্যবহার করার কোন মানে নেই: বর্তমান খরচ কম।পিসিতে Arduino Uno সংযোগ করতে USB A-B কেবল।
- বাহ্যিক এলইডি সংযুক্ত করুন. এখানে আপনার অতিরিক্ত প্রয়োজন হবে:
- LED নিজেই;
- 250-1000 ohms (LED এর উপর নির্ভর করে) নামমাত্র মান সহ 0.25 W (বা তার বেশি) শক্তি সহ বর্তমান-সীমাবদ্ধ প্রতিরোধক;
- একটি বহিরাগত সার্কিট সংযোগের জন্য তার এবং একটি সোল্ডারিং লোহা।

এলইডিগুলি মাইক্রোকন্ট্রোলারের যেকোনো ডিজিটাল আউটপুটে ক্যাথোডকে সংযুক্ত করা হয়, একটি ব্যালাস্ট প্রতিরোধকের মাধ্যমে একটি সাধারণ তারের সাথে অ্যানোড। প্রচুর পরিমাণে এলইডি সহ, একটি অতিরিক্ত শক্তির উত্স প্রয়োজন হতে পারে।
এক আউটপুটে একাধিক LED সংযোগ করা কি সম্ভব?
এটি একটি বহিরাগত LED বা LEDs গ্রুপ যে কোনো আউটপুট সংযোগ করার প্রয়োজন হতে পারে. মাইক্রোকন্ট্রোলারের একটি আউটপুটের লোড ক্ষমতা, যেমন উল্লেখ করা হয়েছে, ছোট। 15 mA এর বর্তমান খরচ সহ এক বা দুটি LED সরাসরি সমান্তরালভাবে এর সাথে সংযুক্ত হতে পারে। সম্ভাবনার প্রান্তে লোড দিয়ে আউটপুটটির বেঁচে থাকার যোগ্যতা পরীক্ষা করা বা এটি অতিক্রম করা মূল্যবান নয়। ট্রানজিস্টরের সুইচ ব্যবহার করা ভালো (ক্ষেত্র বা বাইপোলার)।
প্রতিরোধক R1 নির্বাচন করা আবশ্যক যাতে এর মাধ্যমে বর্তমান আউটপুটের লোড ক্ষমতা অতিক্রম না করে। সর্বোচ্চ অর্ধেক বা তার কম নেওয়া ভালো। সুতরাং, একটি মাঝারি বর্তমান সেট করতে 10 mA, সরবরাহের 5 ভোল্টে রেজিস্ট্যান্স হওয়া উচিত 500 ওহম.
প্রতিটি LED এর নিজস্ব ব্যালাস্ট প্রতিরোধক থাকতে হবে, এটি একটি সাধারণের সাথে প্রতিস্থাপন করা অবাঞ্ছিত। Rbal নির্বাচন করা হয় যাতে প্রতিটি LED এর মাধ্যমে তার অপারেটিং কারেন্ট সেট করা যায়। সুতরাং, একটি সরবরাহ ভোল্টেজের জন্য 5 ভোল্ট এবং একটি কারেন্ট 20 mA, প্রতিরোধের 250 ohms বা নিকটতম মান মান হওয়া উচিত।
এটি নিশ্চিত করা প্রয়োজন যে ট্রানজিস্টরের সংগ্রাহকের মাধ্যমে মোট বর্তমান তার সর্বোচ্চ মান অতিক্রম না করে। সুতরাং, KT3102 ট্রানজিস্টরের জন্য, বৃহত্তম Ik 100 mA-তে সীমাবদ্ধ হওয়া উচিত। এর মানে হল যে কারেন্ট সহ 6টির বেশি LED এর সাথে সংযুক্ত করা যাবে না। 15 mA. এটি পর্যাপ্ত না হলে, একটি আরো শক্তিশালী কী ব্যবহার করা আবশ্যক।এই ধরনের একটি সার্কিটে একটি n-p-n ট্রানজিস্টর নির্বাচন করার জন্য এটি একমাত্র সীমাবদ্ধতা। এমনকি এখানে, তাত্ত্বিকভাবে, ট্রায়োডের লাভ বিবেচনায় নেওয়া প্রয়োজন, তবে এই শর্তগুলির জন্য (ইনপুট বর্তমান 10 এমএ, আউটপুট 100) এটি কমপক্ষে 10 হওয়া উচিত। যেকোনো আধুনিক ট্রানজিস্টর যেমন h21e তৈরি করতে পারে।
এই ধরনের সার্কিট শুধুমাত্র মাইক্রোকন্ট্রোলারের বর্তমান আউটপুট বাড়ানোর জন্য উপযুক্ত নয়। তাই আপনি বর্ধিত ভোল্টেজ (উদাহরণস্বরূপ, 12 ভোল্ট) দ্বারা চালিত যথেষ্ট শক্তিশালী অ্যাকচুয়েটর (রিলে, সোলেনয়েড, বৈদ্যুতিক মোটর) সংযোগ করতে পারেন। গণনা করার সময়, আপনাকে সংশ্লিষ্ট ভোল্টেজ মান নিতে হবে।
আপনি কীগুলি চালানোর জন্যও ব্যবহার করতে পারেন MOSFETs, কিন্তু Arduino আউটপুট করতে পারে তার চেয়ে তাদের খোলার জন্য একটি উচ্চ ভোল্টেজের প্রয়োজন হতে পারে। এই ক্ষেত্রে, অতিরিক্ত সার্কিট এবং উপাদান প্রদান করা আবশ্যক। এটি এড়াতে, তথাকথিত "ডিজিটাল" ফিল্ড-ইফেক্ট ট্রানজিস্টর ব্যবহার করা প্রয়োজন - তাদের 5টি প্রয়োজন ভোল্ট খুলতে. কিন্তু তারা কম সাধারণ।
প্রোগ্রাম্যাটিকভাবে একটি LED নিয়ন্ত্রণ করা
মাইক্রোকন্ট্রোলারের আউটপুটে একটি LED সংযোগ করা সামান্য কাজ করে। প্রোগ্রাম্যাটিকভাবে Arduino থেকে LED এর নিয়ন্ত্রণ আয়ত্ত করা প্রয়োজন। এটি আরডুইনো ভাষায় করা যেতে পারে, যা C (C) এর উপর ভিত্তি করে। এই প্রোগ্রামিং ভাষা প্রাথমিক শিক্ষার জন্য C-এর একটি অভিযোজন। এটি আয়ত্ত করার পরে, C++ এ রূপান্তর সহজ হবে। স্কেচ লিখতে (যেমন Arduino এর জন্য প্রোগ্রাম বলা হয়) এবং তাদের লাইভ ডিবাগ করতে, আপনাকে নিম্নলিখিতগুলি করতে হবে:
- একটি ব্যক্তিগত কম্পিউটারে Arduino IDE ইনস্টল করুন;
- ইউএসবি কমিউনিকেশন চিপের জন্য আপনাকে একটি ড্রাইভার ইনস্টল করতে হতে পারে;
- একটি USB-microUSB কেবল ব্যবহার করে বোর্ডটিকে একটি পিসিতে সংযুক্ত করুন।

সাধারণ প্রোগ্রাম এবং সার্কিট ডিবাগ করতে কম্পিউটার সিমুলেটর ব্যবহার করা যেতে পারে। Arduino Uno এবং Nano বোর্ডের অপারেশনের সিমুলেশন সমর্থিত, উদাহরণস্বরূপ, Proteus দ্বারা (সংস্করণ 8 থেকে শুরু)। সিমুলেটরের সুবিধা হল যে একটি ভুলভাবে একত্রিত সার্কিট দিয়ে হার্ডওয়্যারটি নিষ্ক্রিয় করা অসম্ভব।

স্কেচ দুটি মডিউল নিয়ে গঠিত:
- সেটআপ - প্রোগ্রাম স্টার্টআপে একবার কার্যকর করা হয়, হার্ডওয়্যারটির ভেরিয়েবল এবং অপারেশন মোড শুরু করে;
- লুপ - অসীম সেটআপ ব্লকের পরে চক্রাকারে কার্যকর করা হয়।
জন্য LED সংযোগ আপনি 14টি ফ্রি পিনের (পিন) মধ্যে যেকোনো একটি ব্যবহার করতে পারেন, যেগুলোকে প্রায়শই ভুলভাবে পোর্ট বলা হয়। আসলে, পোর্ট হল, সহজভাবে বলতে গেলে, পিনের একটি গ্রুপ। পিন শুধু একটি উপাদান.
পিন 13 এর জন্য নিয়ন্ত্রণের একটি উদাহরণ বিবেচনা করা হয় - একটি LED ইতিমধ্যেই বোর্ডে এটির সাথে সংযুক্ত রয়েছে (Uno বোর্ডে একটি পরিবর্ধক-অনুসারীর মাধ্যমে, ন্যানোতে একটি প্রতিরোধকের মাধ্যমে)। একটি পোর্ট পিনের সাথে কাজ করার জন্য, এটি ইনপুট বা আউটপুট মোডে কনফিগার করা আবশ্যক। সেটআপ বডিতে এটি করা সুবিধাজনক, তবে প্রয়োজনীয় নয় - আউটপুট গন্তব্য গতিশীলভাবে পরিবর্তন করা যেতে পারে। অর্থাৎ, প্রোগ্রামটি কার্যকর করার সময়, পোর্টটি ইনপুট বা ডেটা আউটপুটের জন্য কাজ করতে পারে।
Arduino (ATmega 328 মাইক্রোকন্ট্রোলারের B পোর্ট B এর পিন PB5) এর পিন 13 এর প্রাথমিককরণ নিম্নরূপ:
অকার্যকর সেটআপ()
{
পিনমোড (13, আউটপুট);
}
এই কমান্ডটি কার্যকর করার পরে, বোর্ডের 13 পিনটি আউটপুট মোডে কাজ করবে, ডিফল্টরূপে এটি লজিক কম হবে। প্রোগ্রামটি সম্পাদনের সময়, এটিতে শূন্য বা এক লেখা যেতে পারে। ইউনিট রেকর্ড এই মত দেখায়:
অকার্যকর লুপ()
{
ডিজিটাল রাইট (13, উচ্চ);
}
এখন বোর্ডের 13 পিনটি উচ্চ সেট করা হবে - একটি যুক্তিযুক্ত, এবং এটি LED আলোতে ব্যবহার করা যেতে পারে।
LED বন্ধ করতে, আপনাকে আউটপুটটি শূন্যে সেট করতে হবে:
ডিজিটাল রাইট (13, কম);
সুতরাং, পোর্ট রেজিস্টারের সংশ্লিষ্ট বিটে পর্যায়ক্রমে এক এবং শূন্য লিখে, আপনি বহিরাগত ডিভাইসগুলি নিয়ন্ত্রণ করতে পারেন।
এখন আপনি এলইডি নিয়ন্ত্রণ করতে আরডুইনো প্রোগ্রামটিকে জটিল করতে পারেন এবং কীভাবে আলো নির্গত উপাদানটিকে ব্লিঙ্ক করতে হয় তা শিখতে পারেন:
অকার্যকর সেটআপ()
{
পিনমোড (13, আউটপুট);
}
অকার্যকর লুপ()
{
ডিজিটাল রাইট (13, উচ্চ);
বিলম্ব (1000);
ডিজিটাল রাইট (13, কম);
বিলম্ব (1000);
}
টীম বিলম্ব (1000) 1000 মিলিসেকেন্ড বা এক সেকেন্ডের বিলম্ব তৈরি করে। এই মান পরিবর্তন করে, আপনি LED ব্লিঙ্কিংয়ের ফ্রিকোয়েন্সি বা ডিউটি চক্র পরিবর্তন করতে পারেন। যদি একটি বাহ্যিক LED বোর্ডের অন্য আউটপুটের সাথে সংযুক্ত থাকে, তাহলে প্রোগ্রামে, 13 এর পরিবর্তে, আপনাকে অবশ্যই নির্বাচিত পিনের সংখ্যা উল্লেখ করতে হবে।
স্পষ্টতার জন্য, আমরা ভিডিওগুলির একটি সিরিজ সুপারিশ করি৷
আরডুইনোতে এলইডি সংযোগগুলি আয়ত্ত করার পরে এবং কীভাবে এটি নিয়ন্ত্রণ করতে হয় তা শিখে, আপনি একটি নতুন স্তরে যেতে এবং অন্যান্য, আরও জটিল প্রোগ্রাম লিখতে পারেন। উদাহরণস্বরূপ, আপনি শিখতে পারেন কিভাবে একটি বোতামের সাহায্যে দুই বা ততোধিক LED স্যুইচ করতে হয়, বাহ্যিক পটেনশিওমিটার ব্যবহার করে ব্লিঙ্কিং ফ্রিকোয়েন্সি পরিবর্তন করতে হয়, PWM ব্যবহার করে গ্লো এর উজ্জ্বলতা সামঞ্জস্য করতে হয়, একটি RGB ইমিটারের রঙ পরিবর্তন করতে হয়। কাজের মাত্রা শুধুমাত্র কল্পনা দ্বারা সীমাবদ্ধ।


