আরডুইনো কোড এবং HC-SR501 মোশন সেন্সরের জন্য ভিডিও
এই টিউটোরিয়ালে, আমরা HC-SR501 মোশন সেন্সর অন্বেষণ করব, যা ইনফ্রারেড প্রযুক্তির মাধ্যমে গতি শনাক্ত করার জন্য ডিজাইন করা হয়েছে। সেন্সরটি একটি আউটপুট ট্রিগার করতে পারে, যা আপনাকে গতি শনাক্তকরণের ভিত্তিতে LED বা অ্যালার্মের মতো ডিভাইস নিয়ন্ত্রণ করতে দেয়। এই টিউটোরিয়ালের শেষে, সেন্সরটি কীভাবে সংযোগ করতে হয় এবং এটি কার্যকরভাবে কাজ করার জন্য Arduino কোড প্রয়োগ করতে হয় সে সম্পর্কে আপনার স্পষ্ট ধারণা থাকবে। (ভিডিওতে 00:45 এ)

হার্ডওয়্যার ব্যাখ্যা
HC-SR501 মোশন সেন্সরটি একটি কমপ্যাক্ট মডিউল যার পরিমাপ 32 বাই 24 মিলিমিটার, যা 5 থেকে 20 ভোল্টের ভোল্টেজ রেঞ্জের মধ্যে কাজ করতে সক্ষম। এর মূল অংশে রয়েছে LHI 778 ইনফ্রারেড সেন্সর, যা ইনফ্রারেড বিকিরণের পরিবর্তন অনুধাবন করে গতি শনাক্ত করে। এটি নিরাপত্তা ব্যবস্থা এবং রোবোটিক প্রকল্প সহ বিভিন্ন অ্যাপ্লিকেশনের জন্য উপযুক্ত করে তোলে।
এই মডিউলটিতে তিনটি প্রধান পিন রয়েছে: পাওয়ারের জন্য VCC, গ্রাউন্ডের জন্য GND এবং আউটপুট সিগন্যালের জন্য OUT। যখন গতি শনাক্ত হয়, OUT পিন একটি উচ্চ সিগন্যাল (3.3 ভোল্ট TTL) পাঠায়, যা অ্যালার্ম বা অন্যান্য ডিভাইস ট্রিগার করতে ব্যবহার করা যেতে পারে। সেন্সরটিতে সামঞ্জস্যযোগ্য সংবেদনশীলতা এবং সময় বিলম্ব সেটিংসও রয়েছে, যা আপনাকে আপনার নির্দিষ্ট প্রয়োজনের ভিত্তিতে এর কার্যকারিতা কাস্টমাইজ করতে দেয়।
ডেটাশিট বিবরণ
| প্রস্তুতকারক | HC-SR501 |
|---|---|
| পার্ট নম্বর | HC-SR501 |
| লজিক/আইও ভোল্টেজ | 3.3 V |
| সাপ্লাই ভোল্টেজ | 5–20 V |
| আউটপুট কারেন্ট (প্রতি চ্যানেল) | ≤ 20 mA |
| পিক কারেন্ট (প্রতি চ্যানেল) | ≤ 50 mA |
| PWM ফ্রিকোয়েন্সি নির্দেশিকা | প্রযোজ্য নয় |
| ইনপুট লজিক থ্রেশহোল্ড | 0.8 V (LOW), 2.0 V (HIGH) |
| ভোল্টেজ ড্রপ / RDS(on) / স্যাচুরেশন | 0.1 V |
| থার্মাল সীমা | 0°C থেকে 70°C |
| প্যাকেজ | মডিউল |
| নোট / ভেরিয়েন্ট | সামঞ্জস্যযোগ্য সংবেদনশীলতা এবং সময় বিলম্ব |
- সঠিক পাওয়ার সাপ্লাই ভোল্টেজ নিশ্চিত করুন (5-20 V)।
- কারেন্ট সীমিত করতে LED-এর সাথে সিরিজে একটি রোধ ব্যবহার করুন।
- শনাক্তকরণ পরিসরের জন্য সংবেদনশীলতা পটেনশিওমিটার সামঞ্জস্য করুন।
- আউটপুট কতক্ষণ উচ্চ থাকে তা নিয়ন্ত্রণ করতে সময় বিলম্ব সেট করুন।
- ফ্লোটিং ইনপুট সম্পর্কে সতর্ক থাকুন; প্রয়োজন অনুযায়ী পুল-আপ বা পুল-ডাউন রোধ ব্যবহার করুন।
ওয়্যারিং নির্দেশাবলী

HC-SR501 মোশন সেন্সর ওয়্যার করতে, প্রথমে VCC পিনটি Arduino-এর 5V আউটপুটের সাথে সংযুক্ত করুন। এরপর, GND পিনটি Arduino-এর গ্রাউন্ডের (GND) সাথে সংযুক্ত করুন। OUT পিনটি Arduino-এর ডিজিটাল পিন 2-এর সাথে সংযুক্ত করা উচিত, যা গতি শনাক্তকরণ সিগন্যাল পড়বে।
যদি আপনি ভিজ্যুয়াল ফিডব্যাকের জন্য একটি LED ব্যবহার করেন, তাহলে LED-এর অ্যানোড (লম্বা পিন) Arduino-এর ডিজিটাল পিন 8-এর সাথে সংযুক্ত করুন। ক্যাথোড (ছোট পিন) একটি 680-ওহম রোধের এক প্রান্তের সাথে সংযুক্ত করা উচিত, রোধের অন্য প্রান্তটি গ্রাউন্ডে যাবে। এই সেটআপটি Arduino-কে গতি শনাক্তকরণের ভিত্তিতে LED নিয়ন্ত্রণ করতে দেয়।
কোড উদাহরণ ও ওয়াকথ্রু
এই সেটআপের জন্য Arduino কোডটি সিরিয়াল মনিটর শুরু করে এবং ইনপুট ও আউটপুট পিন কনফিগার করে। কোডের মূল শনাক্তকারীগুলির মধ্যে রয়েছে motion, যা মোশন সেন্সরের অবস্থা সংরক্ষণ করে, এবং ইনপুট পড়া ও LED নিয়ন্ত্রণের জন্য ব্যবহৃত ডিজিটাল পিনগুলি।
void setup() {
Serial.begin(9600);// তথ্য প্রদর্শনের জন্য সিরিয়াল মনিটর সেটআপ করুন
pinMode(2, INPUT);// সেন্সর থেকে ইনপুট
pinMode(8, OUTPUT);// অ্যালার্ম বা LED-তে আউটপুট
}
এই অংশে, setup() ফাংশনটি সিরিয়াল যোগাযোগ শুরু করে এবং সেন্সর ও LED-এর জন্য পিন মোড সেট করে। পিন 2 মোশন সেন্সরের আউটপুট পড়ার জন্য ইনপুট হিসাবে সেট করা হয়েছে, যখন পিন 8 LED নিয়ন্ত্রণের জন্য আউটপুট হিসাবে সেট করা হয়েছে।
void loop() {
int motion = digitalRead(2);
if(motion){
Serial.println("Motion detected");
digitalWrite(8, HIGH);
}else{
Serial.println("===nothing moves");
digitalWrite(8, LOW);
}
delay(500);
}
এই কোড স্নিপেটটি মূল লুপকে উপস্থাপন করে যেখানে প্রোগ্রামটি ক্রমাগত মোশন সেন্সরের অবস্থা পরীক্ষা করে। যদি গতি শনাক্ত হয়, এটি সিরিয়াল মনিটরে "Motion detected" প্রিন্ট করে এবং LED চালু করে। যদি কোনো গতি শনাক্ত না হয়, এটি "===nothing moves" প্রিন্ট করে এবং LED বন্ধ করে।
প্রদর্শন / কী আশা করবেন
যখন সেটআপ সম্পূর্ণ হয় এবং কোডটি Arduino-তে আপলোড করা হয়, তখন আপনার আশা করা উচিত যে HC-SR501 সেন্সর দ্বারা গতি শনাক্ত হলে LED আলোকিত হবে। অতিরিক্তভাবে, সিরিয়াল মনিটর গতি শনাক্ত হয়েছে কি না তা নির্দেশ করে বার্তা প্রদর্শন করবে। যদি আপনি সেন্সরের সংবেদনশীলতা এবং সময় বিলম্ব সেটিংস সামঞ্জস্য করেন, তাহলে আপনি লক্ষ্য করতে পারেন যে সেন্সরটি গতিতে কত দ্রুত সাড়া দেয় তার পরিবর্তন (ভিডিওতে 05:30 এ)।
সাধারণ সমস্যাগুলির মধ্যে রয়েছে ভুল ওয়্যারিং, যেমন VCC এবং GND-এর সংযোগ বিপরীত করা, যা সেন্সরটির ক্ষতি করতে পারে। ফ্লোটিং ইনপুট এড়াতে সেন্সরের আউটপুট পিনটি Arduino-এর নির্ধারিত ইনপুট পিনের সাথে সঠিকভাবে সংযুক্ত রয়েছে তা নিশ্চিত করুন।
ভিডিও টাইমস্ট্যাম্প
- 00:00 ভূমিকা
- 00:45 হার্ডওয়্যার ওভারভিউ
- 02:30 ওয়্যারিং নির্দেশাবলী
- 04:00 কোড ব্যাখ্যা
- 05:30 প্রদর্শন
/*
* This is the Arduino code for HC-SR501 Motion Sensor
* to detect motion of humans or objects using Arduino for robotic car and other applications
* Watch the video https://youtu.be/mZCJNOf69JI
*
* Written by Ahmad Shamshiri for Robojax Video
* Date: Dec 27, 2017, in Ajax, Ontario, Canada
* Permission granted to share this code given that this
* note is kept with the code.
* Disclaimer: this code is "AS IS" and for educational purposes only.
*
*/
void setup() {
Serial.begin(9600);// setup Serial Monitor to display information
pinMode(2, INPUT);// Input from sensor
pinMode(8, OUTPUT);// OUTPUT to alarm or LED
}
void loop() {
int motion =digitalRead(2);
if(motion){
Serial.println("Motion detected");
digitalWrite(8,HIGH);
}else{
Serial.println("===nothing moves");
digitalWrite(8,LOW);
}
delay(500);
}
সম্পদ ও রেফারেন্সসমূহ
এখনো কোনো সম্পদ নেই।
ফাইলসমূহ📁
অন্যান্য ফাইলগুলি
-
এইচসি-এসআর501 মোশন সেন্সর এলএইচআই778 ম্যানুয়াল
robojax-HC-SR501-motion-LHI778-manual.pdf0.20 MB