Search Code

কোর্স পাঠ ৫ এর মধ্যে ১০: রাস্পবেরি পাই পিকো ব্যবহার করে RGB LED WS2812B নিয়ন্ত্রণ করা

কোর্স পাঠ ৫ এর মধ্যে ১০: রাস্পবেরি পাই পিকো ব্যবহার করে RGB LED WS2812B নিয়ন্ত্রণ করা

এই পাঠটি, যা Robojax Raspberry Pi Pico স্মার্ট কার কোর্সের অংশ, SunFounder 4-চাকার ড্রাইভ কার কিটের RGB LED স্ট্রিপ (WS2812B) নিয়ন্ত্রণের উপর কেন্দ্রীভূত। আপনি সাধারণ অন/অফ নিয়ন্ত্রণের বাইরে গিয়ে শিখবেন কীভাবে লাল, সবুজ এবং নীল মান মিশিয়ে যেকোনো রঙ তৈরি করতে হয়, পৃথক LED নিয়ন্ত্রণ করতে হয় এবং "হাঁটার" আলোর প্রভাবের মতো গতিশীল আলোর ক্রম তৈরি করতে হয়। এই দক্ষতা আপনার রোবোটিক্স প্রকল্পে ভিজ্যুয়াল প্রতিক্রিয়া এবং ব্যক্তিত্ব যোগ করার জন্য মৌলিক।

RGB LED নিয়ন্ত্রণ যেকোনো রোবোটিক্স বা ইলেকট্রনিক্স প্রকল্পের জন্য একটি মূল দক্ষতা। এই জ্ঞান দিয়ে আপনি কয়েকটি ব্যবহারিক জিনিস তৈরি করতে পারেন:

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

হার্ডওয়্যার/কম্পোনেন্ট

এই প্রকল্পটি SunFounder Raspberry Pi Pico 4-চাকার ড্রাইভ কার কিটের সাথে আসা কম্পোনেন্টগুলি ব্যবহার করে। মূল কম্পোনেন্ট হল RGB LED স্ট্রিপ itself, যা Raspberry Pi Pico দ্বারা নিয়ন্ত্রিত হয়।

  • Raspberry Pi Pico
  • SunFounder 4-চাকার ড্রাইভ কার কিট (যাতে WS2812B RGB LED স্ট্রিপ অন্তর্ভুক্ত)
  • গাড়ির জন্য ব্যাটারি প্যাক (LED-গুলিকে পাওয়ার দেওয়ার জন্য, যেমন ভিডিওতে উল্লেখ করা হয়েছে)

ওয়্যারিং গাইড

ভিডিও পাঠটি ওয়্যারিং প্রক্রিয়া বিস্তারিতভাবে বর্ণনা করে না, কারণ এটি কার কিটের পূর্ব-একত্রিত ডিজাইনের অংশ। LED-গুলি ইতিমধ্যে Raspberry Pi Pico-এর সাথে সংযুক্ত। কাস্টম সেটআপের জন্য, আপনি সাধারণত WS2812B স্ট্রিপের ডেটা পিনটি Pico-এর একটি GPIO পিনের সাথে সংযুক্ত করবেন, সাথে পাওয়ার (5V) এবং গ্রাউন্ড (GND)। যেহেতু এই পাঠটি কার কিট ব্যবহার করে, তাই অতিরিক্ত ওয়্যারিং প্রয়োজন নেই।

আপনি যদি এটি ব্রেডবোর্ডে তৈরি করেন, তাহলে আপনার LED স্ট্রিপের ডেটা লাইনটি একটি GPIO পিনে (যেমন GP0) সংযুক্ত করুন এবং এটি একটি বাহ্যিক 5V সাপ্লাই দিয়ে পাওয়ার দিন।

কোড ব্যাখ্যা

পাঠটি কার কিটের লাইব্রেরি থেকে পূর্ব-লিখিত ফাংশন ব্যবহারের উপর কেন্দ্রীভূত। আলো নিয়ন্ত্রণের মূল ফাংশন হল set_light_color()। এই পদ্ধতিটি কার অবজেক্টে কল করা হয় এবং দুটি প্রধান আর্গুমেন্ট নেয়: আলোর ID নম্বর এবং তিনটি মানের একটি তালিকা যা লাল, সবুজ এবং নীল (RGB) তীব্রতা প্রতিনিধিত্ব করে।

ভিডিওতে প্রদর্শিত মূল ফাংশনগুলি কীভাবে ব্যবহার করবেন তার একটি বিবরণ এখানে দেওয়া হল:

  • car.set_light_color(LED_ID, [R, G, B]): এটি একটি পৃথক LED নিয়ন্ত্রণের সবচেয়ে সরাসরি উপায়। LED_ID হল 0 থেকে 23 পর্যন্ত একটি পূর্ণসংখ্যা, এবং রঙটি একটি তালিকা যেমন [255, 0, 0] লালের জন্য।
  • লাইব্রেরি সহায়ক ফাংশন: কিটের লাইব্রেরি উচ্চ-স্তরের ফাংশন প্রদান করে যেমন set_all_light_color(), set_bottom_left_color(), এবং set_bottom_right_color() LED-গুলির গ্রুপ আরও সহজে নিয়ন্ত্রণ করতে।

কাস্টম রঙ তৈরি করতে, আপনি তালিকার তিনটি মান সামঞ্জস্য করতে পারেন। উদাহরণস্বরূপ, [255, 255, 0] হলুদ তৈরি করে, [0, 255, 255] সায়ান তৈরি করে, এবং [255, 0, 255] গোলাপী বা ম্যাজেন্টা তৈরি করে। ভিডিওটি প্রাথমিক RGB মান মিশিয়ে এই রঙগুলি তৈরি করার প্রদর্শন করে।

এলোমেলো রঙের জন্য, আপনি random.randint(0, 255) ফাংশন ব্যবহার করে R, G, এবং B-এর জন্য এলোমেলো মান তৈরি করতে পারেন, যেমন "random" উদাহরণে দেখানো হয়েছে। এটি 24টি LED-এর প্রতিটিতে একটি অনন্য, এলোমেলো রঙ নির্ধারণ করে।

লাইভ প্রকল্প/প্রদর্শন

ভিডিওতে, প্রশিক্ষক ধারণাগুলি লাইভ প্রদর্শন করেন। তিনি প্রথমে দেখান কীভাবে RGB মান [0, 255, 0] সেট করে সমস্ত নীচের আলো একটি কঠিন সবুজে চালু করতে হয়। তারপর, তিনি [255, 0, 0] সেট করে রঙটি লালে পরিবর্তন করেন। প্রদর্শনটি তাদের ID নম্বর (0-23) দ্বারা পৃথক LED নিয়ন্ত্রণ এবং তাদের রঙ স্বাধীনভাবে সেট করার মাধ্যমে অব্যাহত থাকে।

ভিডিওর একটি উল্লেখযোগ্য অংশ "হাঁটার আলো" প্রভাব তৈরি করার জন্য নিবেদিত। এটি একটি for লুপ দিয়ে করা হয় যা 1 থেকে 24 পর্যন্ত পুনরাবৃত্তি করে। প্রতিটি পুনরাবৃত্তিতে, এটি বর্তমান LED-কে একটি নির্দিষ্ট সময়ের জন্য (যেমন 300 মিলিসেকেন্ড) চালু করে এবং তারপর পরবর্তীতে যাওয়ার আগে খুব অল্প সময়ের জন্য (যেমন 10 মিলিসেকেন্ড) বন্ধ করে। এটি একটি আলো স্ট্রিপ বরাবর চলার বিভ্রম তৈরি করে। প্রশিক্ষক এই প্রভাবের গতি পরিবর্তন করতে বিলম্বের মান সামঞ্জস্য করারও দেখান।

অবশেষে, তিনি "এলোমেলো রঙ" প্রোগ্রামটি প্রদর্শন করেন, যা random লাইব্রেরি ব্যবহার করে প্রতিবার কোড চালানোর সময় 24টি LED-এর প্রতিটির জন্য একটি অনন্য রঙ তৈরি করে, একটি প্রাণবন্ত, বহু-রঙের প্রদর্শন তৈরি করে।

অধ্যায়

  • [00:00] RGB LED এবং স্মার্ট কার কোর্সের ভূমিকা
  • [02:36] RGB রঙের মডেল বোঝা
  • [05:00] লাইব্রেরি ফাংশন দিয়ে আলো নিয়ন্ত্রণ
  • [09:01] পৃথক LED নিয়ন্ত্রণের উপায় (0-23)
  • [13:08] হাঁটার আলোর প্রভাব তৈরি করা
  • [15:32] প্রতিটি LED-এর জন্য এলোমেলো রঙ তৈরি করা
কোন কোড সংযুক্ত নেই।

সম্পদ ও রেফারেন্সসমূহ

এখনো কোনো সম্পদ নেই।

ফাইলসমূহ📁

কোনো ফাইল উপলব্ধ নেই।