PWM এর পূর্নরূপ হলো Pulse Width Modulation. বিভিন্ন কাজে, যেমন LED এর উজ্জ্বলতা নিয়ন্ত্রন, DC মোটরের গতি নিয়ন্ত্রন সহ নানা কাজে ব্যবহার করাহয় এই পদ্ধতিটি।

যে কোনো মাইক্রোকন্ট্রোলার ভোল্টেজ বলতে চেনে কেবল 0 Volt (0) অথবা 5 Volt(1). সুতরাং সেক্ষেত্রে গতি অথবা উজ্জ্বলতা নিয়ন্ত্রন করা সম্ভবপর হয়ে ওঠে না। দরকার পড়ে নতুন কোন পদ্ধতির। আর সেটি হল PWM ।

এই বিষয়ে আরও বিস্তারিত জানতে এখানে ক্লিক করুন

PWM হল এমন একটা উপায় যেখানে আমরা ডিজিটাল মানের সাহায্যে এনালগ মান প্রদর্শন করতে পারি।
তার আগে দুটি গুরুত্বপূর্ণ তথ্য বলে রাখি ।
১। আরডুইনো আউটপুটে সর্বনিম্ন ভোল্টেজ হচ্ছে ০ ভোল্ট। এবং সর্বোচ্চ হচ্ছে ৫ ভোল্ট।

২। আরডুইনো তে ৮ বিট এর PWM default ভাবে দেয়া থাকে। মানে আপনি ২^৮ = ২৫৬ =০ থেকে ২৫৫ পর্যন্ত ব্যবহার করতে পারেন।
সহজে বোঝার জন্য আমরা এই রকম একটা স্কেলিং করতে পারি ।

Untitled

মানে যা দাড়ায় ডিজিটাল মান ১  = ৫/২৫৬ = ০.০১৯৫৩১২৫ ভোল্ট

Related Post

এখন আর একটা নতুন জিনিস দেখি। আমরা কিভাবে বা কোন কমান্ড ব্যবহার করে প্রোগ্রাম এর ভিতর এইটা লিখব ।

analogWrite()

এখন আর একটা ছবি দেখলে পুরো ব্যাপার টা পরিষ্কার হয়ে যাবে।

এখানে আমি বলেছিলাম যে 127 [analogWrite(127)] = 2.5 V আসলে ওইটা বোঝার সুবিধার্থে।
এর সঠিক অর্থ হচ্ছে আউটপুট এর ডিউটি সাইকেল ৫০ পারসেন্ট।
এভাবে analogWrite(pwm pin, digital value ) এ মানের পরিমান বিভিন্ন দিয়ে আমরা বিভিন্ন ডিউটি সাইকেল ব্যাবহার করতে পারি ।
আমি নিচে একটি কোড উদাহরন হিসাবে দিচ্ছিঃ

 

int ledPin = 9;    // LED connected to digital pin 9

void setup() {
  // nothing happens in setup
}

void loop() {
  // fade in from min to max in increments of 5 points:
  for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, fadeValue);
    // wait for 30 milliseconds to see the dimming effect
    delay(30);
  }

  // fade out from max to min in increments of 5 points:
  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) {
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, fadeValue);
    // wait for 30 milliseconds to see the dimming effect
    delay(30);
  }
}


int ledPin = 9;    // LED connected to digital pin 9

void setup() {
  // nothing happens in setup
}

void loop() {
  // fade in from min to max in increments of 5 points:
  for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, fadeValue);
    // wait for 30 milliseconds to see the dimming effect
    delay(30);
  }

  // fade out from max to min in increments of 5 points:
  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) {
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, fadeValue);
    // wait for 30 milliseconds to see the dimming effect
    delay(30);
  }
}


 

সাথে থাকার জন্য ধন্যবাদ।

This post was last modified on August 20, 2016 7:20 pm

ejbiswas

আমি "জয় বিশ্বাস", NWU এ EEE তে লেখাপড়া করছি। আমার সাথে যোগাযোগ করতে ফেসবুকে ম্যাসেজ করতে পারেন, fb/ejbiswas

কমেন্ট দেখুন

  • কোডে ভুল আছে। একই কোড ২বার দেয়া হয়েছে, এবং ledPin প্রথমবার ডিক্লেয়ার করা হয়নি। কোডে ভ্যারিয়েবল এবং ফর লুপের ব্যবহার করা হয়েছে, কিন্তু এ দুইটি ব্যাপার সম্পর্কে আগের টিউটোরিয়ালগুলোতে কিছু বলা হয়নি। <=, -=, += অপারেটর এক্সপ্লেইন করা উচিত ছিল। এবং যেহেতু এটি একটি বাংলা ভাষার টিউটোরিয়াল এর সাইট, তাই কোডে ইংলিশে কমেন্ট না করে বাংলায় কোড এক্সপ্লেইন করা উচিত ছিল।
    আশা করি পরের পর্বে এধরণের ভুল আর থাকবেনা। শুভ কামনা রইলো। :)

    Cancel reply

    Leave a Reply

    Your email address will not be published. Required fields are marked*

Leave a Reply

Your email address will not be published. Required fields are marked*

Share
Published by

Recent Posts

করোনা ভাইরাস প্রতিরোধে হ্যান্ড ওয়াশ চ্যালেঞ্জ - হ্যান্ড ওয়াশ টাইমার তৈরি করুন সহজেই

করোনা ভাইরাসের ভয়াবহতা নিয়ে আপনাদের বলার মত কিছু নেই। এটি যেকোনো জায়গায় থাকতে পারে এবং…

March 24, 2020

আরডুইনো দিয়ে স্ক্রলিং এলইডি মেসেজ ডিসপ্লে (ভিডিও সহ)

সকল বন্ধুদের স্বাগতম আমার আরডুইনো দিয়ে স্ক্রলিং এলইডি মেসেজ ডিসপ্লে প্রজেক্টে। এটা খুবই মজার একটি প্রজেক্ট।…

November 28, 2017

ভোঁতা ড্রিল বিট ধারালো করে নিন সহজেই (ভিডিও টিউটোরিয়াল)

ড্রিল বিট এর ধার দ্রুত ক্ষয়ে যায়। পিসিবি ড্রিল মেশিন গুলোতে ব্যবহৃত বিট গুলোকে চাইলে…

June 24, 2017

পাওয়ার ট্রান্সফরমার তৈরী করবার হিসাব নিকাশ (ক্যালকুলেটর সহ)

ভূমিকা পাওয়ার ট্রান্সফরমার তৈরী করতে চান অনেকেই। এই লেখার মাধ্যমে এটি তৈরী করবার প্রয়োজনীয় ক্যালকুলেশন…

June 16, 2017

তৈরি করুন সহজ কোড লক সিকিউরিটি সুইচ

কোড লক সিকিউরিটি সুইচ আমরা প্রায়ই মুভিতে দেখি। যেখানে নির্দিষ্ট কোড ঢুকানোর পর কোন সুইচ…

June 12, 2017

মাল্টিমিটার দিয়ে ট্রানজিস্টর এর বেজ, ইমিটার ও কালেক্টর লেগ বের করা

মাল্টিমিটার দিয়ে কিভাবে কোনো ট্রানজিস্টর এর বেজ, ইমিটার ও কালেক্টর (Base, Emitter & Collector) বের…

June 2, 2017