করোনা ভাইরাস এর কারণে পুরো পৃথিবীর জনগণ হুমকির মুখে। আর এই Corona ভাইরাস এর COVID-19 নামক রোগ থেকে বাঁচার জন্য মানুষ প্রতিঘন্টায় হ্যান্ড স্যানিটাইজার দিয়ে হাত ধুচ্ছে, মাস্ক পড়ছে, পিপিই পরিধান করছে এবং সেই সাথে আরোও অনেক নিরাপত্তা দিয়ে নিজেকে বাঁচানোর সর্বোচ্চ চেষ্টা চালিয়ে যাচ্ছে।
আমরা হ্যান্ড স্যানিটাইজারের বোতল ধরে ছিপি খুলে হাত ওয়াশ করি। আবার সেই বোতলটি ধরে ছিপি লাগিয়ে নেই। যদি সেই বোতলে করোনা ভাইরাস থেকে থাকে তাহলে তো আবার হাতেই লেগে গেল। তাই হাত ওয়াশ করে কোনো লাভ তো আমাদের হলো না। আর এই সমস্যা সমাধানের জন্য আমরা ব্যবহার করতে পারি Auto Hand Sanitizer Spray । এই অটো স্প্রে মেশিন/ডিভাইস ব্যবহার করে আমরা বোতলকে টাচ না করেই ওয়াশ করে নিতে পারি আমাদের হাত। এই ডিভাইসটি অনেক বছর আগে থেকেই উন্নত দেশগুলোতে ব্যবহার হয়ে আসছে। আমাদের বাংলাদেশেও কর্পোরেট এবং সরকারি অফিসগুলোতে আছে। কিন্তু এই ডিভাইসটি স্বল্প পরিসরে থাকায় আমরা অনেকেই বিষয়টি জানিনা। আর বাজারে এর দামও কিন্তু আকাশচুম্বী। এটিও আরেক সমস্যা।
তাই আমি আপনাদের দেখাব- কিভাবে Arduino দিয়ে Auto Hand Sanitizer Spray মেশিন ঘরে বসে স্বল্প মূল্যে বানিয়ে নেওয়া যায়। তাহলে চলুন কথা না বাড়িয়ে আমরা মাঠে নেমে পড়ি।
প্রথমেই জেনে নেই আমাদের কি কি হার্ডওয়্যার টুলস লাগবে-
Serial |
Image |
Product Name |
Quantity |
01 |
 |
Arduino Nano V3.0 |
1p |
02 |
 |
Ultrasonic sensor HC- SR04 |
1p |
03 |
 |
Ultrasonic Sensor Acrylic Mounting Bracket |
1p |
04 |
 |
Towerpro MG995 Servo Motor |
1p/2p |
05 |
 |
Mini Breadboard (50 Pins) |
1p |
06 |
 |
Rechargeable 6V Battery |
1p |
07 |
 |
ON OFF Switch |
1p |
08 |
 |
LED Indicator |
1p |
09 |
 |
1K Ohm Registor |
1p |
10 |
 |
Male to Male Jumper Wires |
1 set |
এবার আসি আমাদের যেসব সফ্টওয়্যার লাগবে-
- Arduino IDE
হার্ডওয়্যার এবং সফ্টওয়্যার এর লিষ্ট তো করা হয়ে গেল। তাহলে আমরা হার্ডওয়্যার কানেকশনগুলো দিয়ে ফেলি নিচের ডায়াগ্রাম দেখে দেখে।

চিত্রের কানেকশনগুলো বিস্তারিত বলি। প্রথমে ব্যাটারির পজিটিভ (লাল তার) প্রান্তের সাথে On/Off Switch টি চিত্রের মত করে লাগিয়ে Arduino Nano board এর VIN পিন এর সাথে যুক্ত করুন। আর ব্যাটারি এর অপর নেগেটিভ (কালো তার) প্রান্ত Arduino Nano board এর VIN এর পাশে GND পিনের সাথে যুক্ত করুন। তাহলে আরডুইনো বোর্ডের সাথে Power এর কানেকশন কমপ্লিট। তবে আপনি চাইলে রিচার্জেবল ব্যাটারি ব্যবহার না করে একটি 12V Power Adapter ব্যবহার করতে পারেন।
এবার LED Indicator এর একপ্রান্তের সাথে 1K Registor এর একপ্রান্ত যুক্ত করুন। আর Registor এর অপরপ্রান্ত GND এর সাথে যুক্ত করে দিন। LED Indicator এর বাকি থাকা অপরপ্রান্ত যুক্ত করে দিন D13 পিন এর সাথে। এই LED Indicator এর কাজ হলো World Health Organization (WHO) এর নির্দেশনা ২০ সেকেন্ড হ্যান্ড স্যানিটাইজার দিয়ে হাত ধোওয়ার জন্য ২০ সেকেন্ড করে LED ব্লিঙ্ক করা। যেন আপনি বুঝতে পারেন হাত ধোওয়ার সময় ২০ সেকেন্ড হয়েছে কিনা।
এবার আপনি Servo Motor এর সাথে Arduino এর কানেকশন দিতে ৩ টি ক্যাবল দেখতে পাবেন। একটি কমলা রং, মাঝেরটি লাল রং এবং শেষেরটি ক্ষয়েরী বা কালো রং এর। কমলা রং এর ক্যাবলটি Arduino বোর্ড এর D9 পিন এর সাথে যুক্ত করবেন। লাল ক্যাবলটি 5V পিন এর সাথে যুক্ত করবেন। বাকি থাকা ক্ষয়েরী বা কালো ক্যাবলটি Digital Pin এর সিরিয়ালে থাকা GND পিন এর সাথে যুক্ত করে দিন। Servo Motor এর কানেকশন সম্পন্ন হয়েছে। তবে আপনি চাইলে ১টির পরিবর্তে ২টি Servo Motor ব্যবহার করতে পারবেন। এটি নির্ভর করবে আপনার স্প্রে মেশিন এর বডির ধরণ এর উপর। যদি আপনি লোশন টাইপের বোতল ব্যবহার করেন বা সেলুনের স্প্রে যা চুল ভিজিয়ে নেয় এমন টাইপের বোতল ব্যবহার করেন তাহলে ১টি Servo Motor দিয়ে হয়ে যাবে। আর যদি আপনি এমন কোন বোতল ব্যবহার করেন যা ১টি Servo Motor এর পক্ষে load নেওয়া বা প্রেস করানো কষ্টসাধ্য হয় তাহলে আপনি ২টি Servo Motor ব্যবহার করবেন। ২টি মোটর সংযোগ এর ক্ষেত্রেও কানেকশন এবং কোড একই রকম থাকবে।
সর্বশেষ বাকি রইল Ultrasonic Sensor । এখানে আপনি ৪টি পিন দেখতে পাবেন- Vcc, Trig, Echo Gnd । Vcc পিন এর সাথে Arduino বোর্ড এর 5V পিনের কানেশন যুক্ত করুন। Trig এর সাথে D8 পিন এর কানেকশন যুক্ত করুন। Echo এর সাথে D7 পিনের কানেকশন যুক্ত করুন। আর সর্বশেষ Gnd পিন এর সাথে Arduino বোর্ড এর Analog Serial এর GND পিন এর সাথে কানেকশন যুক্ত করুন।
উপরের ডায়াগ্রাম দেখে আর বর্ণনা পড়ে যদি আপনি সকল কানেকশন সঠিকভাবে যুক্ত করতে পারেন তাহলে আপনাকে অভিনন্দন। আপনি সফলভাবে হার্ডওয়্যার কানেকশন এর সম্পূর্ণ কাজ সম্পন্ন করেছেন। এবার পালা সফটওয়্যার এর।
প্রথমেই আপনি Arduino IDE ওপেন করে New File নিবেন। সেখানে নিচের কোডটি কপি পেষ্ট করে ছেড়ে দিবেন। তারপর কোড Compile করবেন।
#include <Servo.h> // SG90 servomotor driving program
#define echoPin 7 // U/S sensor Echo Pin
#define trigPin 8 // U/S sensor Trigger Pin
#define LEDPin 13 // Onboard LED
Servo servo;
int angle = 180; // servo test
int maximumRange = 200; // Maximum range needed U/S sensor
int minimumRange = 0; // Minimum range needed U/S sensor
long duration, distance; // Duration used to calculate distance - U/S sensor
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(LEDPin, OUTPUT); // Use LED indicator
servo.attach(9);
servo.write(angle);
Serial.begin(9600);
delay(500);
}
void loop() {
digitalWrite(LEDPin, LOW); // LED starts OFF
angle = 180; // servo up angle
Serial.println(angle);
servo.write(angle); // servo/lever up
delay(2000);
/* The following trigPin/echoPin cycle is used to determine the
distance of the nearest object by bouncing soundwaves off of it. */
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
//Calculate the distance (in cm) based on the speed of sound in air
distance = duration / 58.2;
if (distance >= maximumRange || distance <= minimumRange) {
/* Send a negative number to computer
to indicate "out of range" */
Serial.println("-1");
}
else {
/* Send the distance to the computer using Serial protocol
to indicate successful reading. */
Serial.println(distance);
/* when hand is at distance less than 7 cm from the U/S sensor
the servomotor will drive 10 pump soap doses. After this sequence
the LED will blink for 20 seconds on a 0.5 sec ON / 0.5 sec OFF pattern.
*/
if (distance < 7) { // condition trigger for soap dispensing
for (int i = 1; i < 11; i++) { // initiate soap dispensing
angle = 0; // servo down angle
Serial.println(angle);
servo.write(angle); // servo/lever down
delay(600);
angle = 180;
Serial.println(angle);
servo.write(angle); // servo/lever back to up position
delay(600);
} //end of soap dispensing
for (int i = 1; i < 21; i++) { // Start blinking pattern
digitalWrite(LEDPin, HIGH); // LED ON
delay(500);
digitalWrite(LEDPin, LOW); // LED OFF
delay(500);
}
}
}
}
এবার কোডটি আপলোড করে দিন। আর Enjoy করতে থাকুন আপনার প্রোজেক্ট টি।