14. এলইডি ফেডিং বা এলইডি ডিমিং (LED fade/dim with Push Button)

এলইডি ফেডিং বা এলইডি ডিমিং
(LED fade/dim with Push Button)

আগের টিউটোরিয়ালে দেখেছো পুশবাটন যতক্ষণ  চেপে ধরে রাখা হয় ঠিক ততক্ষণ এলইডি জ্বলে থাকে। এই টিউটোরিয়ালে দেখবে একবার পুশবাটন চাপলে এলইডি মৃদু একটু জ্বলবে, আরেকবার চাপলে আরেকটু বেশি উজ্জ্বল জ্বলবে, আরেকবার চাপলে আরেকটু বেশি...........  এভাবে একবার সর্বোচ্চ আলোতে জ্বলবে। আরেকবার পুশবাটন চাপলে নিভে যাবে এলইডি।
এই প্রোজেক্টে তোমার প্রয়োজন হবে – আরডুইনো, ব্রেড বোর্ড , জাম্পার ওয়্যার, পুশবাটন এবং ২২০ ওহম রেজিস্টর। এবার ঝটপট সার্কিট দেখে তোমার আরডুইনোতে সবকিছু যুক্ত করো।



এবার কোড আইডিইতে লিখে ফেলো,

int pushButton = 2;
int buttonState = 0;
int LEDPin = 11;
int brightness = 0;
int brightup = 50;

void setup() {
     pinMode(pushButton,INPUT);
     pinMode(LEDPin,OUTPUT);
}

void loop() {
     analogWrite(LEDPin,brightness);
     buttonState = digitalRead(pushButton);
     if(buttonState==HIGH){
        brightness=brightness+brightup;
        }
     if(brightness>255){
        brightness=0;
        }
     delay(30);
}



খেয়াল করো , digitalRead(pushButton);
পুশবাটন চাপা হলে ডিজিটাল রিড থেকে ১ রিটার্ন করা হয়। তখন ‘buttonState’ এর মান ১ হয়ে যায়। আর চাপা না হলে বাটন স্টেট শূন্য থাকে।
আবার,
brightness=brightness+brightup;
এই লাইনটা তোমাদের কি একটু বিদঘুটে লাগছে?
সহজভাবে লিখলে,
বর্তমান ব্রাইটনেস = আগের ব্রাইটনেস + যতটুকু বাড়বে;
আমরা অ্যানালগ রাইট নামের একটা ফাংশান ব্যবহার করেছি।
analogWrite(LEDPin,brightness);
সহজ করে লিখলে, অ্যানালগরাইট(এলইডি পিন নম্বর, ব্রাইটনেসের মান);
ডিজিটাল রাইট ব্যবহার করে আসলে এই ফেডিংয়ের কাজটি করে উজ্জ্বলতা কমবেশি করা যেত না। আরডুইনোর পিডাব্লিউএম (PWM – Pulse Width Modulation) নামের একটা বিষয় আছে। ডিজিটাল রাইট দিয়ে কেবলমাত্র জিরো ভোল্ট অথবা ৫ ভোল্ট বিদ্যুৎ দেওয়া যায়। কিন্তু PWM ব্যবহার করে ০ ভোল্ট থেকে ৫ ভোল্টের মধ্যে যে কোন মানের বিদ্যুৎ দেওয়া যায়। যখন আলো কমবেশি চাই, সার্ভো চালাতে যাই, সেই কাজগুলোয়  PWM পিন দরকার হয়।
আরডুইনো উনোর মডেলে 3, 5, 6, 9, 10, 11 পিনে দখবে পাশে একটা ঢেউ চিহ্ন দিয়ে দেওয়া আছে। এই চিহ্ন দিয়ে বুঝিয়ে দেওয়া যে এই পিনগুলোতে PWM সুবিধা দেওয়া আছে।
PWM – এর রেঞ্জ 0-255 পর্যন্ত । তাই আমরা analogWrite() ফাংশানে ব্রাইটনেসের মান শূন্য থেকে 255 - এর ভেতরে বসাতে পারব।


<Previous Tutorial    Next Tutorial> 
Powered by Blogger.