Automatic plant watering system
লম্বা ছুটিতে যাচ্ছেন। কিন্তু বাগান বা বারান্দার গাছগুলোতে পানি দেবে কে? ব্যস্ততার কারনে হয়তবা বাসায় থেকেও ভুলে যাচ্ছেন অনেক সময়। অটোম্যাটিক্যালি গাছে পানি দেবার মত কাজের জন্য ব্যবহার করা হয় Grove moisture sensor।
এই সেন্সরটির আউটপুট অ্যানালগ। এই সেন্সরটি মাটিতে গেঁথে রাখা অবস্থায় এর আশেপাশে পানির উপস্থিতি নির্নয় করে। পানির পরিমানের সাথে এর আউটপুট অ্যানালগ ভ্যালু ওঠানামা করে। এই ভ্যালু একটি আরডুইনো অ্যানালগ পিনের মাধ্যমে রিড করে মাটি ভেজা নাকি শুকনা তা বোঝা সম্ভব। এই নীতিকে কাজে লাগিয়েই আমরা এই টিউটোরিয়ালে একটি Automatic plant watering system তৈরী করব। তবে টিউটোরিয়াল শুরু করার আগেই করজোড়ে সবার কাছে একটি অনুরোধ। ডেঙ্গুর মৌসুমে কেউ ভুলেও খোলা বালতিতে তিনদিনের বেশি পানি না পাল্টে এই প্রজেক্ট চলমান অবস্থায় রাখবেন না। কারন, পরিস্কার পানিতে এডিস মশা ডিম পাড়ে।
প্রয়োজনীয় যন্ত্রপাতি | পরিমাণ | প্রডাক্ট লিংক |
Arduino UNO R3(China) | 1 | এখানে ক্লিক করুন |
Grove-moisture sensor | 1 | এখানে ক্লিক করুন |
L293D dual DC motor driver Hight quality | 1 | এখানে ক্লিক করুন |
AA battery(Sony) | 8 | এখানে ক্লিক করুন |
4 cell AA battery holder | 2 | এখানে ক্লিক করুন |
DC submersible pump with pipe (3 feet) | 1 |
|
Female to female jumpers | 2 | এখানে ক্লিক করুন |
Male to female jumpers | 3 | এখানে ক্লিক করুন |
Bucket/bowl with water | 1 | |
Plant pot with soil | 1 |
সার্কিট কানেকশনঃ
আরডুইনো উনো এবং ময়েশ্চার সেন্সরের মধ্যে নিচের কানেকশনটি সম্পন্ন করুন।
Arduino UNO | Grove- moisture sensor |
A0 | Signal |
5V | VCC |
GND | GND |
আরডুইনো উনো এবং মোটর ড্রাইভারের মধ্যে নিচের কানেকশনটি সম্পন্ন করুন।
Arduino UNO | L293D dual DC motor driver Hight quality |
7 | IN1 |
8 | IN2 |
9 | ENA |
VCC | 5V |
GND | GND |
মোটরের সাথে সরবরাহকৃত পাইপের এক প্রান্ত মোটরের সাথে সংযুক্ত করুন। অপর প্রান্ত যে গাছের মাটিতে পানি দেবেন সেই মাটিতে রাখুন। মোটরটিকে একটি পানিপূর্ণ পাত্রে ডুবান।
মোটরের নীল ও খয়েরি তারদুটিকে মোটর ড্রাইভারের সাথে নিচের ছবিটির মতো করে সংযোগ দিন। মোটর চালু করতে MOTOR এবং POWER চিহ্নিত সুইচদুটি প্রেস একবার করে প্রেস করতে হবে।
DC submersible Motor with 3 feet pipe | L293D Dual DC motor driver-High quality |
Blue | Out1 |
Brown | Out2 |
প্রতিটি ব্যাটারি হোল্ডারে চারটি করে ব্যাটারি প্রবেশ করান। তারপর হোল্ডারদুটিকে সিরিজ করুন। সিরিজকৃত ব্যাটারি দিয়ে মোটর ড্রাইভারে নিচের সংযোগটি দিন।
Battery | L293D Dual DC motor driver-High quality |
+ | Vin |
– | GND |
ময়েশ্চার সেন্সরটিকে মাটিতে প্রবেশ করান।
আমাদের পুরো সেটআপটি দেখতে ছিল এরকম।
কোডঃ এই ছিল আমাদের কোড।
#define int1 7
#define int2 8
#define ena 9
// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
pinMode(int1,OUTPUT);
pinMode(int2,OUTPUT);
pinMode(ena,OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
// print out the value you read:
Serial.println(sensorValue);
delay(1); // delay in between reads for stability
if(sensorValue<=500)//Cut-off value
{
digitalWrite(int1,HIGH);
digitalWrite(int2,LOW);
analogWrite(ena,200);//You can use 255 for full speed.
}
else
{
analogWrite(ena,0);
}
}
আমরা যে ছোট্ট মানিপ্ল্যান্টের টবের মাটিতে ময়েশ্চার সেন্সরটি পুঁতে রেখেছিলাম, সেই টবের মাটি পুরোপুরি ভেজা অবস্থায় A0 এর ভ্যালু ছিল 630 এর আশেপাশে। এই অ্যানালগ ভ্যালু সিরিয়াল মনিটরে দেখা যায়।
এই কারনেই আমাদের কোডে কাট অফ ভ্যালু ধরা হয়েছে 500. অর্থ্যাত, A0 এর মান 500 এর নিচে নেমে গেলেই পাম্পটি চালু হয়ে পানি দিয়ে মাটি ভিজিয়ে দেবে। বাকি সময় পাম্পটি বন্ধ থাকবে। মাটি ও পাত্রভেদে এই মানের তারতম্য ঘটতেই পারে। আপনাকে অবশ্যই আগে দেখে নিতে হবে আপনার পরীক্ষাধীন মাটি ভেজা ও শুকনা অবস্থায় A0 এর মান কত। সেই অনুযায়ী উপরের কোডে কাট-অফ ভ্যালু পরিবর্তন করে পাম্পকে চালু ও বন্ধ করতে হবে। PWM এর মাধ্যমে এই প্রোগ্রামে মোটরের স্পিড ম্যাক্সিমাম থেকে খানিকটা কমানো হয়েছে। আপনারা আপনাদের সুবিধামতো স্পিডে মোটর চালাতে পারেন।