.sidebar .widget-content { font-size: 50px !important; }

Ad Code

Responsive Advertisement

Arduino দিয়ে ভ্যারিয়েবল রেজিস্টর দ্বারা LED ব্লিংক রেট পরিবর্তন(Changing LED blinking rate by a variable resistor.)

Arduino হল এমন একটি ওপেন-সোর্স মাইক্রোকন্ট্রোলার বোর্ড যা বিভিন্ন ইলেকট্রনিক প্রজেক্টে ব্যবহার করা হয়। আজ আমরা জানব কীভাবে একটি ভ্যারিয়েবল রেজিস্টর (Potentiometer) ব্যবহার করে LED-এর ব্লিংকিং রেট (Blinking Rate) পরিবর্তন করা যায়।

এই প্রজেক্টটি খুব সহজ,  এটি অ্যানালগ ইনপুট, ডিলে কন্ট্রোল এবং PWM ধারণা বুঝতে দারুণ সহায়ক হবে।

প্রয়োজনীয় উপকরণ

এই প্রজেক্টের জন্য দরকার হবে —

উপকরণ পরিমাণ বর্ণনা
Arduino Uno 1টি মূল মাইক্রোকন্ট্রোলার বোর্ড
LED 1টি আলো নির্গত ডায়োড
220Ω রেজিস্টর 1টি LED-কে অতিরিক্ত কারেন্ট থেকে রক্ষা করবে
Potentiometer (10kΩ) 1টি ভ্যারিয়েবল রেজিস্টর
Jumper Wire প্রয়োজনমতো সংযোগের জন্য
Breadboard 1টি সার্কিট তৈরি করার জন্য

 সার্কিট কানেকশন (Circuit Connection)

সার্কিটটি নিম্নরূপে সংযুক্ত করব:

  1. LED এর positive leg (anode) → Arduino এর Pin 13 (বা অন্য কোনো ডিজিটাল পিন)
  2. LED এর negative leg (cathode)220Ω resistor হয়ে GND তে
  3. Potentiometer এর তিনটি পিনের মধ্যে —

  • এক পাশের পিন → 5V
  • অন্য পাশের পিন → GND
  • মাঝের পিন (wiper) → A0 (Analog input pin)

 Arduino কোড

int ledPin = 13;        // LED সংযুক্ত পিন
int potPin = A0;        // পটেনশিওমিটারের মধ্যম পিন
int potValue = 0;       // পটেনশিওমিটারের মান
int delayTime = 0;      // ডিলে সময়

void setup() {
  pinMode(ledPin, OUTPUT); // LED পিনকে আউটপুট হিসেবে সেট করা
}

void loop() {
  potValue = analogRead(potPin);      // পটেনশিওমিটারের মান পড়া (0-1023)
  delayTime = map(potValue, 0, 1023, 100, 1000); // মানকে ডিলে রেঞ্জে রূপান্তর (100ms থেকে 1000ms)

  digitalWrite(ledPin, HIGH);  // LED অন
  delay(delayTime);            // নির্দিষ্ট সময় অপেক্ষা
  digitalWrite(ledPin, LOW);   // LED অফ
  delay(delayTime);            // নির্দিষ্ট সময় অপেক্ষা
}

কোডের ব্যাখ্যা

  • analogRead(A0) দ্বারা Arduino পটেনশিওমিটারের অ্যানালগ ভোল্টেজ মান পড়ে (0 থেকে 1023 পর্যন্ত)।
  • map() ফাংশন ব্যবহার করে এই মানকে ডিলে টাইমে রূপান্তর করা হয়, যাতে রেজিস্ট্যান্স পরিবর্তনের সাথে LED-এর ব্লিংকিং স্পিডও পরিবর্তিত হয়।
  • পটেনশিওমিটার ঘুরালে LED কখনও দ্রুত, কখনও ধীরে ব্লিংক করবে।

 কাজের ফলাফল

যখন আমরা পটেনশিওমিটার ঘুরাব, তখন তার রেজিস্ট্যান্স পরিবর্তন হবে — ফলে Arduino-তে ইনপুট ভোল্টেজ পরিবর্তিত হবে এবং কোড অনুযায়ী LED-এর ব্লিংকিং স্পিড কমবে বা বাড়বে
এভাবে আমরা রিয়েল-টাইমে LED-এর blinking speed নিয়ন্ত্রণ করতে পারি।

শেখার মূল পয়েন্ট

  • অ্যানালগ ইনপুট ব্যবহার করে সেন্সর মান পড়া শেখা যায়।
  • map() ফাংশন এর মাধ্যমে ইনপুট মানকে অন্য রেঞ্জে কনভার্ট করা শেখা যায়।
  • রেজিস্ট্যান্স পরিবর্তন কীভাবে ভোল্টেজ ও সময় নিয়ন্ত্রণে প্রভাব ফেলে, তা বোঝা যায়।

উপসংহার

এই প্রজেক্টটি নবীন Arduino ব্যবহারকারীদের জন্য একটি দারুণ অনুশীলন। খুব অল্প উপকরণে সহজেই LED-এর ব্লিংক রেট নিয়ন্ত্রণ করতে পারি।
পরবর্তীতে আমরা এই ধারণা ব্যবহার করে servo motor control, light dimming, বা sensor-based automation project তৈরি করতে পারি।

Post a Comment

0 Comments

Ad Code

Responsive Advertisement