এই টিউটোরিয়ালটি দেখায় কিভাবে একটি ESP32 মাইক্রোকন্ট্রোলার ব্যবহার করে একটি LED-এর উজ্জ্বলতা নিয়ন্ত্রণ করা যায়, বিশেষ করে SunFounder ESP32 IoT লার্নিং কিট (ভিডিওতে 00:04-এ)। এই প্রকল্পটি পালস উইডথ মডুলেশন (PWM) এবং আলোর উৎসের তীব্রতা নিয়ন্ত্রণে এর প্রয়োগ সম্পর্কে জানতে আগ্রহী শিক্ষানবিশদের জন্য আদর্শ। ESP32-এর অন্তর্নির্মিত PWM ক্ষমতা মসৃণ, সুনির্দিষ্ট নিয়ন্ত্রণের অনুমতি দেয়, যা সৃজনশীল প্রকল্পগুলির জন্য সম্ভাবনার একটি জগৎ খুলে দেয়।
ব্যবহারিক প্রয়োগ:
সামঞ্জস্যযোগ্য উজ্জ্বলতা সহ পরিবেষ্টিত আলো ব্যবস্থা তৈরি করা।
ধীরে ধীরে ম্লান হওয়া একটি সাধারণ নাইটলাইট তৈরি করা।
বিভিন্ন অবস্থার জন্য একটি গতিশীল নির্দেশক আলো তৈরি করা (যেমন, কম ব্যাটারি, নেটওয়ার্ক সংযোগ)।
জটিল ইন্টারেক্টিভ ইনস্টলেশন তৈরি করতে অন্যান্য সেন্সর এবং অ্যাকচুয়েটরের সাথে একীভূত করা।
হার্ডওয়্যার/উপাদান
প্রকল্পটি SunFounder ESP32 স্টার্টার কিট (ভিডিওতে 00:12-এ) ব্যবহার করে, যার মধ্যে একটি ESP32 মাইক্রোকন্ট্রোলার, একটি এক্সটেনশন বোর্ড, বিভিন্ন উপাদান এবং একটি 18650 লিথিয়াম ব্যাটারি অন্তর্ভুক্ত রয়েছে। আপনার একটি LED এবং একটি 220-ওহম রোধকও প্রয়োজন হবে (ভিডিওতে 04:32-এ)।
ওয়্যারিং গাইড
ভিডিওতে ওয়্যারিং ডায়াগ্রাম (ভিডিওতে 01:46 এবং 04:18-এ) এবং টাইমস্ট্যাম্প 04:40-এ বিস্তারিত ব্যাখ্যা দেখুন। ওয়্যারিংয়ে LED-এর অ্যানোডকে রোধকের সাথে, রোধককে ESP32-এর GPIO 26 পিনের সাথে এবং LED-এর ক্যাথোডকে গ্রাউন্ডের সাথে সংযুক্ত করা জড়িত।
LED_সহ_রোধক
220 ওহম রোধকের সাথে সিরিজে LED। নীচে ব্রেডবোর্ডে ওয়্যারিং দেওয়া হল।
LED_ফেড_ESP32
কোড ব্যাখ্যা
Arduino কোডটি LED-এর উজ্জ্বলতা নিয়ন্ত্রণ করতে পালস উইডথ মডুলেশন (PWM) ব্যবহার করে। মূল কনফিগারযোগ্য অংশগুলি হল:
ledPin: LED-এর সাথে সংযুক্ত GPIO পিন সংজ্ঞায়িত করে (ভিডিওতে 09:41-এ, 26 সেট করা আছে)। আপনি যদি একটি ভিন্ন পিন ব্যবহার করেন তবে এটি পরিবর্তন করুন।
fadeAmount: LED-এর উজ্জ্বলতা পরিবর্তনের হার নিয়ন্ত্রণ করে (ভিডিওতে 10:06-এ)। একটি উচ্চ মান দ্রুত ম্লান হওয়ার ফলাফল দেয়। উজ্জ্বলতা সর্বনিম্ন (0) বা সর্বোচ্চ (255) মানে পৌঁছালে কোডটি স্বয়ংক্রিয়ভাবে দিক বিপরীত করে (ভিডিওতে 11:44-এ)।
const int ledPin = 26; // LED-এর জন্য GPIO পিন
int brightness = 0;
int fadeAmount = 5;
void setup() {
ledcAttachPin(ledPin, 0); // PWM চ্যানেলে পিন সংযুক্ত করুন
}
void loop() {
ledcWrite(ledPin, brightness);
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
delay(50);
}
লাইভ প্রকল্প/প্রদর্শন
ভিডিওটি ম্লান হওয়া LED-কে কাজ করতে দেখায় (ভিডিওতে 14:51-এ)। প্রশিক্ষক দেখান কিভাবে ম্লান হওয়ার গতি নিয়ন্ত্রণ করতে fadeAmount ভেরিয়েবল সামঞ্জস্য করা যায় (ভিডিওতে 15:16 এবং 15:51-এ)। ESP32-তে কোড আপলোড করার প্রক্রিয়াও দেখানো হয়েছে (ভিডিওতে 14:20-এ)।
791-ESP32 Tutorial 5/55 - LED Fade, control brightness of an LED in Arduino
ভাষা: C++
const int ledPin = 26; // The GPIO pin for the LED
int brightness = 0;
int fadeAmount = 5;
void setup() {
ledcAttach(ledPin, 5000, 8); // Attach the LED pin
}
void loop() {
ledcWrite(ledPin, brightness); // Write the new brightness value to the PWM pin
brightness = brightness + fadeAmount;
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
delay(50); // Wait for 50 milliseconds
}
প্রকাশনা: আমাজন অ্যাসোসিয়েট হিসেবে, আমরা যোগ্য ক্রয়ের মাধ্যমে উপার্জন করি। এর মানে হল যে আপনি যদি একটি লিঙ্কে ক্লিক করেন এবং অতিরিক্ত খরচ ছাড়াই একটি ক্রয় করেন, তবে আমরা একটি ছোট কমিশন পেতে পারি।