আজকে আমরা ছোট এবং সহজ একটি প্রজেক্ট করব। প্রজেক্টটি ছোট হলেও বেশ উপকারী। আমাদের প্রজেক্টের নাম Window Guard।
Window Guard কী?
Window Guard হলো এমন একটি সার্কিট যা জানালার সাথে যুক্ত করা যাবে। এই সার্কিটের কাজ হল জানালা পাহারা দেওয়া। জানালা বন্ধ নাকি খোলা সেন্সরটি তা বুঝতে পারে। জানালা খোলা দেখলে ইউজারকে সতর্ক করে। বাসাবাড়িতে জানালা দিয়ে চুরি রোধ করার ক্ষেত্রে এইসব সার্কিট কাজে লাগে।
প্রয়োজনীয় যন্ত্রপাতি | পরিমাণ | প্রোডাক্ট লিংক |
Arduino UNO R3 | 1 | লিংক |
Active Buzzer | 1 | লিংক |
IR Obstacle Sensor | 1 | লিংক |
2S Li-Ion Battery with Charger | 1 | লিংক |
Male to female jumper | 3 | লিংক |
Double Sided Tape 1 inch | 1 | লিংক |
সেন্সর ক্যালিব্রেশনঃ
শুরুতেই IR Obstacle Sensor ক্যালিব্রেট করা জরুরী। লক্ষ্য করুন, সেন্সর মডিউলটিতে দুটি এলইডি আছে। একটি Power LED, অপরটি Obstacle LED। Power LED মডিউলে পাওয়ার দিলেই জ্বলে থাকবে। আরও আছে একটি ভ্যারিয়েবল পট। Variable POT ঘুরিয়ে সেন্সরটিকে ক্যালিব্রেট করতে হবে। POT ঘুরিয়ে এমন পজিশনে রাখতে হবে যাতে করে সেন্সরের সামনে কিছু থাকলে Obstacle LED জ্বলে ওঠে এবং না সামনে কিছু না থাকলে নিভে থাকে। উল্লেখ্য, এই সেন্সরের Allowable distance range হলো 2-60 cm। পট ঘুরিয়ে আপনি নির্ধারন করতে পারবেন ২ থেকে ৬০ সেন্টিমিটারের মধ্যে সর্বোচ্চ কত দুরত্বে থাকা বস্তুকে সেন্সরটি চিহ্নিত করতে সক্ষম হবে।
সার্কিট কানেকশনঃ
নিচের কানেকশনগুলো সম্পন্ন করুন।
Arduino UNO | IR obstacle sensor | Buzzer |
5V | VCC | |
GND | GND | GND |
2 | OUT | |
12 | + |
প্রোগ্রামঃ
Arduino IDE ব্যবহার করে নিচের প্রোগ্রামটি লিখুন এবং আরডুইনোতে আপলোড করুন।
// constants won't change. They're used here to set pin numbers: const int sensorPin = 2; // the number of the sensor pin const int buzzerPin = 12; // the number of the buzzer pin // variables will change: int sensorState = 0; // variable for reading the sensorpin void setup() { // initialize the singnal pin as an output: pinMode(buzzerPin, OUTPUT); // initialize the sensor pin as an input: pinMode(sensorPin, INPUT_PULLUP); Serial.begin(9600); } void loop() { // read the state of the sensorpin: sensorState = digitalRead(sensorPin); // check if the window is open. If so, the buzzerpin will be High;otherwise, the Buzzerpin will be low. //When the window is closed, the sensor Output will be low, when the window is opened, the output will be high. Serial.println(sensorState); delay(100); if (sensorState == LOW) { // turn sensor off: digitalWrite(buzzerPin, LOW); } else { // turn sensor on: digitalWrite(buzzerPin, HIGH); } }
কোড আপলোড করা শেষ হলে আরডুইনোকে 2S Li-ion battery দিয়ে পাওয়ার দিন।
সার্কিট ব্যবহার এবং পরীক্ষাঃ
টেপের সাহায্যে সুবিধাজনকভাবে কম্পোনেন্টগুলোকে জানালায় স্থাপন করুন এবং কানেকশন দিন। এমনভাবে সেন্সরটিকে স্থাপন করবেন যাতে করে জানালা খুললেই সেন্সরটি বুঝতে পারে। আমাদের সেটআপ ছিল নিচের ছবিগুলোর মতন। জানালা বন্ধ থাকা অবস্থায় সার্কিট থেকে কোনো শব্দ উৎপন্ন হবে না। জানালা খুললেই তীক্ষ্ণ শব্দে বাযার বেজে উঠবে।
ছবি: জানালা বন্ধ। বাযার অফ।
ছবি:জানালা খুলে গেল। বাযার বেজে উঠলো।
লক্ষ্য করুনঃ আমাদের ব্যবহৃত IR Obstacle Sensor একটি অ্যাকটিভ লো সেন্সর। অর্থ্যাৎ, এটার সামনে যখন কোনো বাধা (Obstacle) থাকে তখন এই সেন্সরের আউটপুট থাকে 0। সাধারণ অবস্থায় এর আউটপুট 1। এই সার্কিটটিকে অন্যভাবেও ব্যবহার করা যায়। যেমন: ধরা যাক, আমাদের বাসায় এমন একটি জানালা আছে যেটি আমরা আলো বাতাস চলাচলের জন্য সাধারনত খোলা রাখি। কিন্তু আমরা এটাও চাই যে সেই জানালা দিয়ে বাইরে থেকে কেউ যেন চুরি বা আমাদের অন্যকোনো ক্ষতি না করতে পারে। সেক্ষেত্রে, কোডে সামান্যকিছু পরিবর্তন আনা যায়। সার্কিটটি তখন জানালা খোলা অবস্থায় কোনো অ্যালার্ম দেবে না। কিন্তু খোলা জানালার বাইরে কারও উপস্থিতি টের পাওয়ামাত্র অ্যালার্ম বাজাতে শুরু করবে। আপনার প্রয়োজনের ধরণ অনুযায়ী বিভিন্নভাবে সার্কিটটিকে কাজ করানো সম্ভব।