Arduino Nano এর সাথে RGB LED মডিউল HW-478 এবং KY-009 কিভাবে ব্যবহার করবেন

Arduino Nano Era Sathe Rgb Led Madi Ula Hw 478 Ebam Ky 009 Kibhabe Byabahara Karabena



Arduino Nano এ ATmega328 চিপ আছে যা Arduino কোড প্রক্রিয়া করতে পারে। আরডুইনো ন্যানোতে বেশ কয়েকটি GPIO পিন রয়েছে যা ব্যবহার করে আমরা আরজিবি এলইডি সহ বিভিন্ন সেন্সর ইন্টারফেস করতে পারি। RGB LED পিনে একটি PWM সংকেত পাঠানোর মাধ্যমে আমরা বিভিন্ন রং তৈরি করতে পারি। এই নিবন্ধটি আরডিইনো ন্যানো বোর্ডের সাথে আরজিবি এলইডি একীকরণকে কভার করবে।

RGB LED পরিচিতি

একটি RGB LED হল এক ধরনের LED যা লাল, সবুজ এবং নীল তরঙ্গদৈর্ঘ্যের তীব্রতা মিশ্রিত করে বিভিন্ন রঙে আলো নির্গত করতে সক্ষম। PWM (Pulse Width Modulation) সংকেতটি তিনটি প্রাথমিক রঙের জন্য উত্পন্ন PWM সংকেতের ডিউটি ​​চক্র সামঞ্জস্য করে একাধিক রঙ তৈরি করতে ব্যবহার করা যেতে পারে।

RGB LED মডিউল

HW-478, KY-016, এবং KY-009 এর মত বিভিন্ন RGB LED মডিউল পাওয়া যায়। আমরা ব্যবহার করব HW-478 আরজিবি মডিউল। এই সমস্ত মডিউলগুলির কাজের নীতিগুলি একই।









HW-478 আরজিবি মডিউল নিম্নলিখিত স্পেসিফিকেশন আছে:



স্পেসিফিকেশন মান
অপারেটিং ভোল্টেজ সর্বোচ্চ 5V
লাল 1.8V – 2.4V
সবুজ 2.8V – 3.6V
নীল 2.8V – 3.6V
ফরোয়ার্ড বর্তমান 20mA - 30mA
অপারেটিং তাপমাত্রা -25°C থেকে 85°C [-13°F – 185°F]
বোর্ডের মাত্রা 18.5 মিমি x 15 মিমি [0.728 ইঞ্চি x 0.591 ইঞ্চি]

RGB LED HW-478 পিনআউট

RGB মডিউলে 4টি পিন রয়েছে:





RGB LED এর কাজ

একটি RGB LED হল এক ধরনের LED যা তিনটি ভিন্ন রঙের আলো নির্গত করতে পারে: লাল, সবুজ এবং নীল। আরডুইনোর সাথে একটি আরজিবি এলইডির কাজের নীতিতে প্রতিটি রঙের তীব্রতা নিয়ন্ত্রণ করতে পালস প্রস্থ মড্যুলেশন (PWM) ব্যবহার করা জড়িত।



PWM সিগন্যালের ডিউটি ​​সাইকেল সামঞ্জস্য করে, আরডুইনো প্রতিটি LED এর মধ্য দিয়ে প্রবাহিত কারেন্টের পরিমাণ পরিবর্তন করতে পারে, যার ফলে LED একটি ভিন্ন রঙের আলো নির্গত করে। উদাহরণস্বরূপ, যদি লাল LED এর শুল্ক চক্র একটি উচ্চ মান সেট করা হয়, LED একটি উজ্জ্বল লাল আলো নির্গত করবে। যদি সবুজ LED এর শুল্ক চক্র একটি কম মান সেট করা হয়, LED একটি আবছা সবুজ আলো নির্গত করবে। তিনটি রঙের তীব্রতা একত্রিত করে, আরডুইনো বিভিন্ন রঙের বিস্তৃত পরিসর তৈরি করতে পারে।

Arduino PWM ডিউটি ​​সাইকেলের মান 0 থেকে 255 এর মধ্যে পরিবর্তিত হয়। যেকোনো রঙে একটি PWM মান নির্ধারণ করে আমরা হয় এটিকে সম্পূর্ণ উজ্জ্বল হিসেবে সেট করতে পারি অথবা সম্পূর্ণরূপে বন্ধ করে দিতে পারি। 0 LED বন্ধের সাথে মিলে যায় এবং 255 সম্পূর্ণ উজ্জ্বলতার সাথে মিলে যায়।

কিভাবে RGB LED এ একাধিক রঙ প্রদর্শন করবেন

একাধিক রঙ প্রদর্শন করতে, আমাদের তিনটি প্রাথমিক রঙের (RGB) জন্য PWM মান নির্ধারণ করতে হবে। যেকোনো রঙ প্রদর্শন করতে প্রথমে আমাদের রঙের কোড খুঁজে বের করতে হবে। কিছু প্রধান রঙের জন্য রঙের কোড তালিকা নিম্নরূপ:

রঙ কোড খুঁজে পেতে একটি ব্যবহার করতে পারেন গুগল কালার পিকার . এই টুল ব্যবহার করে, আমরা সংশ্লিষ্ট রঙের জন্য HEX RGB মানও পেতে পারি।

এখন আমরা Arduino Nano এর সাথে RGB LED এর ইন্টারফেসিং এর দিকে এগিয়ে যাব।

আরডুইনো ন্যানো সহ আরজিবি এলইডি ইন্টারফেসিং

আরডিনো ন্যানো সহ আরজিবি এলইডি মডিউল ইন্টারফেস করতে নিম্নলিখিত উপাদানগুলির প্রয়োজন:

  • আরডুইনো ন্যানো
  • 3×220 ওহম (Ω) প্রতিরোধক
  • RGB LED মডিউল HW-478
  • জাম্পার তারের
  • ব্রেডবোর্ড
  • আরডুইনো আইডিই

পরিকল্পিত
প্রদত্ত চিত্রটি আরজিবি এলইডি সহ আরডুইনো ন্যানো-এর পরিকল্পিত উপস্থাপন করে।

হার্ডওয়্যার
নিম্নলিখিত হার্ডওয়্যার একটি breadboard উপর ডিজাইন করা হয়. এলইডি সার্কিটের সুরক্ষার জন্য প্রতিটি পিনের সাথে একটি প্রতিরোধক সংযুক্ত থাকে।

কোড
আরডুইনো ইন্টিগ্রেটেড এনভায়রনমেন্ট খুলুন এবং প্রদত্ত কোড আরডুইনো ন্যানো বোর্ডে আপলোড করুন:

int সবুজপিন = 2 , লালপিন = 3 , নীল পিন = 4 ; /* RGB LED পিন সংজ্ঞায়িত */
অকার্যকর সেটআপ ( ) {
 পিনমোড ( লালপিন, আউটপুট ) ; /* লাল পিন সংজ্ঞায়িত হিসাবে আউটপুট */
 পিনমোড ( গ্রীনপিন, আউটপুট ) ; /* সবুজ পিন সংজ্ঞায়িত হিসাবে আউটপুট */
 পিনমোড ( ব্লুপিন, আউটপুট ) ; /* নীল পিন সংজ্ঞায়িত হিসাবে আউটপুট */
}
অকার্যকর লুপ ( ) {
আরজিবি_আউটপুট ( 255 , 0 , 0 ) ; // RGB রঙ লাল সেট করুন
বিলম্ব ( 1000 ) ;
আরজিবি_আউটপুট ( 0 , 255 , 0 ) ; // চুনে RGB রঙ সেট করুন
বিলম্ব ( 1000 ) ;
আরজিবি_আউটপুট ( 0 , 0 , 255 ) ; // আরজিবি রঙ সেট করুন নীল
বিলম্ব ( 1000 ) ;
আরজিবি_আউটপুট ( 255 , 255 , 255 ) ; // RGB রঙ সাদাতে সেট করুন
বিলম্ব ( 1000 ) ;
আরজিবি_আউটপুট ( 128 , 0 , 0 ) ; // RGB রঙ মেরুন সেট করুন
বিলম্ব ( 1000 ) ;
আরজিবি_আউটপুট ( 0 , 128 , 0 ) ; // RGB রঙ সবুজে সেট করুন
বিলম্ব ( 1000 ) ;
আরজিবি_আউটপুট ( 128 , 128 , 0 ) ; // জলপাইতে RGB রঙ সেট করুন
বিলম্ব ( 1000 ) ;
আরজিবি_আউটপুট ( 0 , 0 , 0 ) ; // আরজিবি রঙ কালোতে সেট করুন
বিলম্ব ( 1000 ) ;
}
অকার্যকর RGB_output ( int redLight, int greenlight, int bluelight )
{
analogWrite ( লালপিন, লাল আলো ) ; // লিখুন আরজিবি-তে অ্যানালগ মান
analogWrite ( সবুজপিন, সবুজ আলো ) ;
analogWrite ( নীল পিন, নীল আলো ) ;
}

PWM সংকেত পাঠানোর জন্য প্রথম RGB পিনগুলি শুরু করা হয়। ডিজিটাল পিন 2 সবুজ রঙের জন্য আরম্ভ করা হয়েছে এবং একইভাবে লাল এবং নীল রঙের জন্য D2 এবং D3 শুরু করা হয়েছে।

কোডের লুপ অংশে বিভিন্ন রং তাদের HEX RGB মান ব্যবহার করে সংজ্ঞায়িত করা হয়। এই মানগুলির প্রতিটি একটি PWM সংকেত বর্ণনা করে।

পরবর্তীতে অকার্যকর RGB_output() ফাংশন আমরা 3টি পূর্ণসংখ্যা পাস করেছি যা RGB আলোতে বিভিন্ন রঙ সেট করে। উদাহরণস্বরূপ, সাদা রঙের জন্য আমাদের তিনটি প্যারামিটারের প্রতিটিতে 255 পাস করতে হবে। প্রতিটি প্রাথমিক রঙ লাল, নীল এবং সবুজ তার পূর্ণ মূল্যে উজ্জ্বল হবে ফলস্বরূপ আমাদের আউটপুটে সাদা রঙ দেয়।

আউটপুট
কোড আপলোড করার পরে, আমরা RGB LED-তে বিভিন্ন রঙ দেখতে পাব। নীচের ছবিটি আমাদের লাল রঙ দেখায়।

এই ছবিটি সবুজ রঙের প্রতিনিধিত্ব করে।

আমরা আরডুইনো ন্যানোর সাথে আরজিবি এলইডি মডিউলকে ইন্টারফেস করেছি।

উপসংহার

Arduino Nano একটি কমপ্যাক্ট বোর্ড যা বিভিন্ন সেন্সরের সাথে একত্রিত করা যায়। এখানে আমরা Arduino Nano এর সাথে একটি RGB LED ব্যবহার করেছি এবং একটি Arduino Nano ডিজিটাল পিন থেকে PWM সিগন্যাল ব্যবহার করে একাধিক রঙ প্রদর্শন করার জন্য এটিকে প্রোগ্রাম করেছি। আরজিবি-র আরও বর্ণনার জন্য নিবন্ধ পড়ুন।