এই টিউটোরিয়ালে, আমরা শিখব কীভাবে SunFounder-এর ESP32 মডিউল ব্যবহার করে একটি পটেনশিওমিটার থেকে DC ভোল্টেজ পরিমাপ করা যায়। প্রকল্পটি পটেনশিওমিটারের অবস্থানের উপর ভিত্তি করে একটি LED-এর আলো কীভাবে নিয়ন্ত্রণ করা যায় তাও প্রদর্শন করবে। আপনি যখন পটেনশিওমিটার ঘড়ির কাঁটার বিপরীত দিকে ঘোরান, ভোল্টেজ রিডিং কমে যায় এবং LED-এর আলোও সেই অনুযায়ী কমে যায়। এই অনুশীলনটি ESP32-তে অ্যানালগ-টু-ডিজিটাল কনভার্টার (ADC) ব্যবহার করার একটি ব্যবহারিক ধারণা প্রদান করবে।
পটেনশিওমিটারপটেনশিওমিটার বা পরিবর্তনশীল রোধক
ESP32 একটি শক্তিশালী মাইক্রোকন্ট্রোলার যা বিল্ট-ইন Wi-Fi এবং ব্লুটুথ ক্ষমতা সহ আসে, যা এটিকে IoT প্রকল্পের জন্য আদর্শ করে তোলে। এই টিউটোরিয়ালে, আমরা এর অ্যানালগ ইনপুট বৈশিষ্ট্যগুলি ব্যবহার করে একটি পটেনশিওমিটার থেকে ভোল্টেজ স্তর পড়ব, পাশাপাশি এই রিডিংগুলির উপর ভিত্তি করে একটি LED-এর উজ্জ্বলতা নিয়ন্ত্রণ করব। ফলাফল হবে একটি প্রতিক্রিয়াশীল LED যা আপনি পটেনশিওমিটার সামঞ্জস্য করার সাথে সাথে তার তীব্রতা পরিবর্তন করবে।
হার্ডওয়্যার ব্যাখ্যা
এই প্রকল্পের জন্য, আমাদের নিম্নলিখিত উপাদানগুলির প্রয়োজন হবে:
ESP32 মডিউল: প্রধান মাইক্রোকন্ট্রোলার যা পটেনশিওমিটারের ভোল্টেজ পড়বে এবং LED নিয়ন্ত্রণ করবে।
পটেনশিওমিটার: একটি পরিবর্তনশীল রোধক যা ভোল্টেজ সামঞ্জস্য করতে ব্যবহৃত হয়। এর তিনটি পিন রয়েছে: দুটি স্থির রোধকের জন্য এবং একটি যা পরিবর্তিত হয়।
LED: একটি আলো-নিঃসরণকারী ডায়োড যার উজ্জ্বলতা পটেনশিওমিটারের অবস্থানের উপর ভিত্তি করে নিয়ন্ত্রিত হবে।
রোধক: LED-এর মাধ্যমে কারেন্ট সীমিত করার জন্য একটি 220-ওহম রোধক।
পটেনশিওমিটার তার পিনগুলির মধ্যে রোধ পরিবর্তন করে কাজ করে, যা এটিকে একটি ভোল্টেজ তৈরি করতে দেয় যা ESP32 তার ADC-এর মাধ্যমে পড়তে পারে। LED-এর উজ্জ্বলতা পালস উইডথ মডুলেশন (PWM) ব্যবহার করে নিয়ন্ত্রিত হয় যা অ্যানালগ রিডিংয়ের উপর ভিত্তি করে এটিতে সরবরাহ করা শক্তি সামঞ্জস্য করে।
ডেটাশিট বিবরণ
ওয়্যারিং নির্দেশাবলী
ESP32-23-fading-LED_pot-wiring
উপাদানগুলি সংযোগ করতে, পটেনশিওমিটার সংযোগ করে শুরু করুন। এর একটি বাইরের পিন ESP32-এর 3.3V পাওয়ার সাপ্লাইয়ের সাথে সংযুক্ত করুন। অন্য বাইরের পিনটি গ্রাউন্ডের (GND) সাথে সংযুক্ত করুন। পটেনশিওমিটারের মাঝের পিনটি ESP32-এর পিন 35-এর সাথে সংযুক্ত হবে, যা অ্যানালগ ভোল্টেজ পড়ার জন্য ব্যবহৃত হয়।
এরপর, LED-এর জন্য, লম্বা পিনটি (অ্যানোড) একটি 220-ওহম রোধকের মাধ্যমে ESP32-এর পিন 26-এর সাথে সংযুক্ত করুন। LED-এর ছোট পিনটি (ক্যাথোড) গ্রাউন্ডের সাথে সংযুক্ত করুন। নিশ্চিত করুন যে সমস্ত সংযোগ নিরাপদ এবং ক্ষতি রোধ করতে LED-এর অভিযোজন দুবার পরীক্ষা করুন।
কোড উদাহরণ ও ব্যাখ্যা
নিম্নলিখিত কোড স্নিপেটটি দেখায় যে কীভাবে পটেনশিওমিটার পড়তে এবং LED নিয়ন্ত্রণ করতে ESP32 সেট আপ করা যায়:
const int potPin = 35; // পটেনশিওমিটার সংযুক্ত
const int ledPin = 26; // LED সংযুক্ত
// PWM সেটিংস
const int freq = 5000; // PWM ফ্রিকোয়েন্সি
const int resolution = 12; // PWM রেজোলিউশন (বিট)
এই অংশে, আমরা পটেনশিওমিটার এবং LED-এর জন্য পিনগুলি সংজ্ঞায়িত করি। PWM ফ্রিকোয়েন্সি এবং রেজোলিউশনও সেট করা হয়, যা LED-এর উজ্জ্বলতার স্তর নির্ধারণ করবে।
সেটআপ ফাংশনে, আমরা সিরিয়াল যোগাযোগ আরম্ভ করি এবং LED-এর জন্য PWM সেটিংস কনফিগার করি। এই সেটআপটি প্রোগ্রাম শুরু হলে একবার চলে।
অবশেষে, লুপ ফাংশনটি ক্রমাগত পটেনশিওমিটারের মান পড়ে এবং LED-এর উজ্জ্বলতা সামঞ্জস্য করে:
void loop() {
int potValue = analogRead(potPin); // পটেনশিওমিটারের মান পড়ুন
uint32_t voltage_mV = analogReadMilliVolts(potPin); // মিলিভোল্টে ভোল্টেজ পড়ুন
ledcWrite(ledPin, potValue);
// সংক্ষিপ্ততার জন্য সিরিয়াল আউটপুট বাদ দেওয়া হয়েছে
}
লুপে, আমরা পটেনশিওমিটার থেকে অ্যানালগ মান পড়ি এবং LED-এর উজ্জ্বলতা নিয়ন্ত্রণ করতে এটি অনুবাদ করি। সিরিয়াল আউটপুট পটেনশিওমিটারের মান এবং ভোল্টেজ দেখায়, যা রিডিং যাচাই করতে সাহায্য করে।
প্রদর্শন / কী আশা করবেন
যখন সার্কিটটি সঠিকভাবে সেট আপ করা হয় এবং কোডটি আপলোড করা হয়, তখন পটেনশিওমিটার ঘোরানো সিরিয়াল মনিটরে প্রদর্শিত ভোল্টেজ রিডিংয়ে একটি অনুরূপ পরিবর্তন আনবে। LED-টি পটেনশিওমিটার সামঞ্জস্য করার সাথে সাথে মসৃণভাবে আলো কমাতে এবং বাড়াতে হবে। যদি LED প্রত্যাশিতভাবে সাড়া না দেয়, তাহলে ওয়্যারিং সংযোগগুলি পরীক্ষা করুন এবং নিশ্চিত করুন যে পটেনশিওমিটারটি সঠিকভাবে কাজ করছে (ভিডিওতে 11:30-এ)।
ভিডিও টাইমস্ট্যাম্প
00:00 শুরু
2:02 পট কী
4:15 পটের রোধ পরিমাপ
6:59 ডকুমেন্টেশন পৃষ্ঠা
8:56 ওয়্যারিং ব্যাখ্যা
12:28 Arduino কোড ব্যাখ্যা
15:58 Arduino IDE-তে ESP32 বোর্ড এবং COM পোর্ট নির্বাচন
প্রকাশনা: আমাজন অ্যাসোসিয়েট হিসেবে, আমরা যোগ্য ক্রয়ের মাধ্যমে উপার্জন করি। এর মানে হল যে আপনি যদি একটি লিঙ্কে ক্লিক করেন এবং অতিরিক্ত খরচ ছাড়াই একটি ক্রয় করেন, তবে আমরা একটি ছোট কমিশন পেতে পারি।