পুশ বাটন এবং সুইচের সাথে আরডুইনোতে রেজিস্টর কেন ব্যবহার করবেন
এই টিউটোরিয়ালটি ব্যাখ্যা করে কেন আরডুইনোর সাথে সংযুক্ত পুশ বাটন এবং সুইচগুলিতে রেজিস্টর ব্যবহার করা নির্ভরযোগ্য অপারেশনের জন্য অত্যন্ত গুরুত্বপূর্ণ। এই ধারণাটি বোঝা যেকোনো আরডুইনো প্রজেক্টের জন্য মৌলিক যেখানে ব্যবহারকারীর ইনপুট জড়িত। এই জ্ঞান অপ্রত্যাশিত আচরণ প্রতিরোধ করে এবং নিশ্চিত করে যে আপনার প্রজেক্ট সঠিকভাবে কাজ করে। এখানে কিছু প্রজেক্ট আইডিয়া দেওয়া হলো যেখানে এই জ্ঞান অপরিহার্য:
- একটি LED-এর জন্য সাধারণ অন/অফ সুইচ
- ইন্টারঅ্যাকটিভ গেম কন্ট্রোলার
- গৃহস্থালী যন্ত্রপাতির জন্য রিমোট কন্ট্রোল
- পুশ-বাটন অ্যাক্টিভেশন সহ নিরাপত্তা ব্যবস্থা
আসুন এই সার্কিটগুলিতে রেজিস্টর ব্যবহারের কারণগুলি অন্বেষণ করি।

হার্ডওয়্যার/কম্পোনেন্ট
এই প্রজেক্টের জন্য প্রয়োজনীয় মূল কম্পোনেন্টগুলি ন্যূনতম: একটি আরডুইনো বোর্ড, একটি পুশ-বাটন সুইচ এবং একটি রেজিস্টর (300 ওহমের বেশি)। রেজিস্টরের মান গুরুত্বপূর্ণ নয়; 1kΩ, 10kΩ, এমনকি 100kΩ-এর মতো মান সাধারণত ভালো কাজ করবে (ভিডিওতে 00:41)।
ওয়্যারিং গাইড
দুটি প্রাথমিক ওয়্যারিং কনফিগারেশন রয়েছে (ভিডিওতে 00:30):
- কনফিগারেশন 1: পুশ বাটনটি আরডুইনো পিন এবং +5V-এর মধ্যে সংযুক্ত করুন। পুশ বাটনের অন্য দিকটি একটি রেজিস্টরের মাধ্যমে গ্রাউন্ডের সাথে সংযুক্ত। বাটন চাপলে, পিন HIGH পড়ে; ছেড়ে দিলে, এটি LOW পড়ে।
- কনফিগারেশন 2: পুশ বাটনটি আরডুইনো পিন এবং গ্রাউন্ডের মধ্যে সংযুক্ত করুন। পুশ বাটনের অন্য দিকটি একটি রেজিস্টরের মাধ্যমে +5V-এর সাথে সংযুক্ত। বাটন চাপলে, পিন LOW পড়ে; ছেড়ে দিলে, এটি HIGH পড়ে।

এখানে একটি ভিজ্যুয়াল ওয়্যারিং ডায়াগ্রাম উপকারী হবে।
কোড ব্যাখ্যা
আরডুইনো কোডটি পিনটিকে ইনপুট হিসেবে কনফিগার করতে pinMode() ফাংশন ব্যবহার করে। গুরুত্বপূর্ণ অংশটি হলো INPUT_PULLUP-এর ব্যবহার (ভিডিওতে 04:06, 04:23)। এই অভ্যন্তরীণ পুল-আপ রেজিস্টর নির্দিষ্ট কনফিগারেশনে বাহ্যিক রেজিস্টরের প্রয়োজনীয়তা দূর করে, ওয়্যারিং সহজ করে। digitalRead() ফাংশন পিনের অবস্থা পড়ে, এবং একটি সাধারণ if-else স্টেটমেন্ট নির্ধারণ করে বাটনটি চাপা হয়েছে কিনা (LOW) বা হয়নি (HIGH) (ভিডিওতে 08:34)।
pinMode(2, INPUT_PULLUP); // পিন 2 কে অভ্যন্তরীণ পুল-আপ রেজিস্টর সহ ইনপুট হিসেবে কনফিগার করে
int pushButton = digitalRead(2); // পিন 2-এর অবস্থা পড়ে
if (pushButton == LOW) {
// বাটন চাপা হয়েছে
} else {
// বাটন চাপা হয়নি
}
লাইভ প্রজেক্ট/প্রদর্শন
ভিডিওটি উভয় ওয়্যারিং কনফিগারেশন এবং তাদের নিজ নিজ আচরণ প্রদর্শন করে। এটি রেজিস্টর বাদ দিলে যে সমস্যাগুলি দেখা দিতে পারে তা তুলে ধরে, যেমন নয়েজ এবং ক্যাপাসিটিভ কাপলিংয়ের কারণে অস্থির রিডিং (ভিডিওতে 06:18, 06:39, 07:21)। প্রদর্শনটি স্পষ্টভাবে দেখায় যে রেজিস্টর থাকলে স্থিতিশীল এবং নির্ভরযোগ্য অপারেশন অর্জিত হয় (ভিডিওতে 08:08)।
অধ্যায়
- [00:00] ভূমিকা
- [00:30] ওয়্যারিং কনফিগারেশন
- [04:12] INPUT_PULLUP ব্যবহার করে কোড ব্যাখ্যা
- [05:36] রেজিস্টর অপসারণ: ব্যবহারিক প্রদর্শন
- [08:33] কোড ব্যাখ্যা
ছবি
/*
* This is an Arduino Sketch for a tutorial video
* explaining why a resistor is needed to be used with a push button
* with Arduino.
*
* Written by Ahmad Shamshiri on July 17, 2018 at 23:11 in Ajax, Ontario, Canada
* For Robojax.com
* Watch the instruction video for this code: https://youtu.be/TTqoKcpIWkQ
* This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
*/
void setup() {
// Robojax.com push button tutorial
pinMode(3,INPUT_PULLUP);
Serial.begin(9600);
Serial.println("Robojax Push Button Tutorial");
}
void loop() {
// Robojax.com push button tutorial
int pushButton = digitalRead(3);
if(pushButton == LOW)
{
Serial.println("Pin 3 LOW");
}else{
Serial.println("Pin 3 HIGH");
}
delay(500);
}
/*
* This is an Arduino Sketch for a Tutorial video
* explaining why a resistor is needed to be used with a push button
* with an Arduino to connect the pin to Ground (GND)
*
* Written by Ahmad Shamshiri on July 18, 2018 at 17:36 in Ajax, Ontario, Canada
* For Robojax.com
* Watch the instruction video for this code: https://youtu.be/TTqoKcpIWkQ
* This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.
*/
void setup() {
// Robojax.com push button tutorial
pinMode(2,INPUT_PULLUP);
Serial.begin(9600);
Serial.println("Robojax Push Button Tutorial");
}
void loop() {
// Robojax.com push button tutorial
int pushButton = digitalRead(2);
if(pushButton == LOW)
{
Serial.println("Button is pushed.");
}else{
Serial.println("Button is NOT pushed.");
}
delay(500);
}
আপনাকে যা প্রয়োজন হতে পারে
-
অ্যামাজন
সম্পদ ও রেফারেন্সসমূহ
এখনো কোনো সম্পদ নেই।
ফাইলসমূহ📁
কোনো ফাইল উপলব্ধ নেই।
