এই টিউটোরিয়ালে, আমরা শিখব কীভাবে একটি ESP32 মাইক্রোকন্ট্রোলার এবং একটি ট্রানজিস্টর ব্যবহার করে একটি অ্যাক্টিভ বাজার নিয়ন্ত্রণ করতে হয়। প্রকল্পটিতে বাজার চালু এবং বন্ধ করা জড়িত, যা একটি বিপ শব্দ তৈরি করে। ESP32-এর অন্তর্নির্মিত Wi-Fi এবং ব্লুটুথ ক্ষমতার সাথে, আপনি ভবিষ্যতে এই প্রকল্পটিকে আরও জটিল IoT অ্যাপ্লিকেশনে প্রসারিত করতে পারেন।
আমরা যে উপাদানগুলি ব্যবহার করব তার মধ্যে রয়েছে ESP32 বোর্ড, একটি অ্যাক্টিভ বাজার, একটি ট্রানজিস্টর (S8050), এবং একটি রোধ। এই উপাদানগুলি সঠিকভাবে সংযোগ করার মাধ্যমে, আমরা ESP32-এর মাধ্যমে বাজারের শব্দ নিয়ন্ত্রণ করতে পারি। অতিরিক্তভাবে, আমরা এই প্রকল্পটি চালু করার জন্য প্রয়োজনীয় ওয়্যারিং এবং কোডের একটি সংক্ষিপ্ত বিবরণ প্রদান করব। আরও স্পষ্টতার জন্য, এই টিউটোরিয়ালের সাথে থাকা ভিডিওটি দেখতে ভুলবেন না (ভিডিওতে 00:00 এ)।
S87050_transistor
হার্ডওয়্যার ব্যাখ্যা
এই প্রকল্পের প্রধান উপাদানগুলির মধ্যে রয়েছে ESP32 মাইক্রোকন্ট্রোলার, অ্যাক্টিভ বাজার এবং S8050 ট্রানজিস্টর। ESP32 একটি শক্তিশালী মাইক্রোকন্ট্রোলার যা Wi-Fi এবং ব্লুটুথ উভয়ই বৈশিষ্ট্যযুক্ত, যা বিস্তৃত IoT প্রকল্পের অনুমতি দেয়। অ্যাক্টিভ বাজার ভোল্টেজ প্রয়োগ করা হলে শব্দ তৈরি করে, যখন S8050 ট্রানজিস্টর একটি সুইচ হিসাবে কাজ করে যা ESP32 থেকে কম ভোল্টেজ সংকেত দিয়ে বাজার নিয়ন্ত্রণ করে।
ট্রানজিস্টরের তিনটি পিন রয়েছে: কালেক্টর, বেস এবং ইমিটার। যখন একটি রোধের মাধ্যমে বেস পিনে ভোল্টেজ প্রয়োগ করা হয়, এটি কালেক্টর থেকে ইমিটারে কারেন্ট প্রবাহিত করতে দেয়, ফলে বাজার চালিত হয়। এই সেটআপটি নিশ্চিত করে যে আমরা ESP32-এর GPIO পিনগুলিকে ওভারলোড না করে নিরাপদে বাজার নিয়ন্ত্রণ করতে পারি।
ESP32-13-buzzer-schematic
ডেটাশিট বিবরণ
প্রস্তুতকারক
SunFounder
পার্ট নম্বর
TMBB 12 A05
অপারেটিং ভোল্টেজ
3–8 V
রেটেড ভোল্টেজ
5 V
সর্বোচ্চ কারেন্ট
30 mA
দোলন ফ্রিকোয়েন্সি
2700 ± 300 Hz
ট্রানজিস্টরের বেসে কারেন্ট সীমিত করতে একটি 1 kΩ রোধ ব্যবহার করুন।
নিশ্চিত করুন যে অ্যাক্টিভ বাজারটি পজিটিভ এবং নেগেটিভ টার্মিনাল সহ সঠিকভাবে সংযুক্ত রয়েছে।
শর্ট সার্কিট প্রতিরোধ করতে পিন সংযোগগুলি দুবার পরীক্ষা করুন।
সহজ সংযোগ এবং সমন্বয়ের জন্য একটি ব্রেডবোর্ড ব্যবহার করুন।
বাজারটি 3.3V এবং 5V উভয়েই কাজ করতে পারে, তবে আপনার সার্কিটের প্রয়োজন অনুযায়ী এটি পাওয়ার করুন।
ওয়্যারিং নির্দেশাবলী
ESP32-13-buzzer-wriing
উপাদানগুলি সংযোগ করতে, প্রথমে ব্রেডবোর্ডে অ্যাক্টিভ বাজারটি ঢোকান। বাজারের পজিটিভ টার্মিনালটি ESP32-এর 3.3V পিনের সাথে সংযোগ করুন। বাজারের নেগেটিভ টার্মিনালটি S8050 ট্রানজিস্টরের কালেক্টর পিনের সাথে সংযুক্ত হওয়া উচিত। এরপর, S8050 ট্রানজিস্টরটি ব্রেডবোর্ডে ঢোকান, নিশ্চিত করুন যে সমতল দিকটি আপনার দিকে রয়েছে। বাম পিন (কালেক্টর) বাজারের নেগেটিভ টার্মিনালের সাথে সংযোগ করে, মাঝের পিন (বেস) একটি 1 kΩ রোধের সাথে সংযোগ করে, এবং ডান পিন (ইমিটার) গ্রাউন্ডের সাথে সংযোগ করে।
এখন, 1 kΩ রোধের অন্য প্রান্তটি নিন এবং এটি ESP32-এর GPIO পিন 14-এর সাথে সংযোগ করুন। অবশেষে, ট্রানজিস্টরের ইমিটার পিনটি ব্রেডবোর্ডের গ্রাউন্ড রেলের সাথে সংযোগ করুন। নিশ্চিত করুন যে সমস্ত সংযোগ নিরাপদ এবং সার্কিটে পাওয়ার দেওয়ার আগে পিনগুলির সারিবদ্ধতা দুবার পরীক্ষা করুন।
কোড উদাহরণ ও ওয়াকথ্রু
বাজার নিয়ন্ত্রণ করে এমন কোডের একটি সংক্ষিপ্ত বিবরণ এখানে দেওয়া হল। প্রথমে, আমরা বাজারের সাথে সংযুক্ত পিনটি সংজ্ঞায়িত করি:
const int buzzerPin = 14; // the buzzer pin
এই লাইনটি buzzerPin ভেরিয়েবলটি ESP32-এর পিন 14-কে নির্দেশ করার জন্য সেট করে, যা বাজার নিয়ন্ত্রণ করতে ব্যবহৃত হয়।
এরপর, আমরা setup() ফাংশনে বাজার পিনটিকে আউটপুট হিসাবে সেট করি:
void setup()
{
pinMode(buzzerPin, OUTPUT); // Set as output
}
এটি নিশ্চিত করে যে ESP32 জানে যে বাজার চালু এবং বন্ধ করার জন্য সংকেত পাঠাতে পিন 14 ব্যবহার করতে হবে।
loop() ফাংশনে, আমরা বাজারটি একাধিকবার সক্রিয় করতে একটি ফর লুপ তৈরি করি:
for (int i = 0; i < 50; i++) // Loop 50 times and play a short tone each time
{
digitalWrite(buzzerPin, HIGH); // Set to HIGH to make the buzzer sound
delay(3); // Wait for 3 milliseconds
digitalWrite(buzzerPin, LOW); // LOW to turn off the buzzer
delay(3); //
}
এই লুপটি বাজারটিকে 50 বার বিপ করাবে, প্রতিটি বিপ 3 মিলিসেকেন্ড স্থায়ী হবে। লুপটি সম্পূর্ণ হওয়ার পরে, পুনরাবৃত্তির আগে 1 সেকেন্ডের বিরতি রয়েছে।
প্রদর্শন / কী আশা করবেন
যখন ওয়্যারিং এবং কোড সঠিকভাবে সেট আপ করা হয়, তখন ESP32-তে পাওয়ার দেওয়া বাজারটি সক্রিয় করবে, যা একাধিক বিপ শব্দ তৈরি করবে। যদি বাজারটি শব্দ না করে, তবে সংযোগগুলি পরীক্ষা করুন, বিশেষ করে ট্রানজিস্টর এবং রোধের অভিযোজন। নিশ্চিত করুন যে কোডে সঠিক GPIO পিন ব্যবহার করা হচ্ছে এবং পাওয়ার সাপ্লাই পর্যাপ্ত রয়েছে (ভিডিওতে 01:30 এ)।
812-ESP32 Tutorial 13/55- Arduino code for controlling buzzer
ভাষা: C++
const int buzzerPin = 14; // the buzzer pin
void setup()
{
pinMode(buzzerPin, OUTPUT); // Set as output
}
void loop()
{
for (int i = 0; i < 50; i++) // Loop 50 times and play a short tone each time
{
digitalWrite(buzzerPin, HIGH); // Set to HIGH to make the buzzer sound
delay(3); // Wait for 3 milliseconds
digitalWrite(buzzerPin, LOW); // LOW to turn off the buzzer
delay(3); //
}
delay(1000); // Wait for 1s before starting the next loop
}
প্রকাশনা: আমাজন অ্যাসোসিয়েট হিসেবে, আমরা যোগ্য ক্রয়ের মাধ্যমে উপার্জন করি। এর মানে হল যে আপনি যদি একটি লিঙ্কে ক্লিক করেন এবং অতিরিক্ত খরচ ছাড়াই একটি ক্রয় করেন, তবে আমরা একটি ছোট কমিশন পেতে পারি।