Water Level Controller and Monitoring System

আজকে আমরা তৈরী করব একটি  Water level  controller and monitoring system এটি একটি আরডুইনোভিত্তিক প্রজেক্ট। এই প্রজেক্টে আমরা ব্যবহার করব একটি water sensor. ওয়াটার সেন্সরটির মাধ্যমে আরডুইনো পানির লেভেল পর্যবেক্ষণ করবে। পানির লেভেল অনুযায়ী একটি রিলে অন-অফ করবে। এভাবে ওয়াটার সেন্সর এবং  রিলের মাধ্যমে আমরা একটি ট্যাংকে পানির উচ্চতা অনুসারে একটি ওয়াটার পাম্পকে কন্ট্রোল করতে পারব।

প্রয়োজনীয় যন্ত্রপাতি পরিমাণ লিংক
Arduino UNO/Mega 2560 1 link
Water sensor 1 link
1 Channel 5V Relay Module 1 link
LCD Display 16X2 with Header 1 link
Breadboard 1 link
Variable Resistor Pot 10K (103) 1 link
Male to male jumpers 17 link
Male to female jumpers 6 link

সার্কিট ডায়াগ্রাম এবং কানেকশন চার্ট

Connection between LCD and Arduino
চিত্র: এলসিডি এবং আরডুইনোর মধ্যে কানেকশন

 

Arduino UNO- R3 LCD
GND VSS,K,1st pin of volume POT
5V VDD,A, 2nd pin of volume POT
V0,3rd pin of the volume POT
GND RW
12 RS
11 E
5,4,3,2 D4,D5,D6,D7
Connection between relay module and Arduino
চিত্র:রিলে মডিউল এবং আরডুইনোর মধ্যে কানেকশন
Arduino UNO Relay module
5v Vcc
GND GND
10 Signal
Connection between water sensor and Arduino
চিত্র:ওয়াটার সেন্সর এবং আরডুইনোর মধ্যে কানেকশন
Arduino UNO Water sensor
5v +
GND
A0 S

প্রোগ্রাম

নিচের প্রোগ্রামটি আরডুইনোতে আপলোড করুন।

// include the library code:
#include <LiquidCrystal.h>
int sensorPin = A0;    // select the input pin for the potentiometer
int relayPin = 10;      // select the pin for the LED
int sensorValue = 0;  // variable to store the value coming from the sensor

// initialize the library by associating any needed LCD interface pin
// with the arduino pin number it is connected to
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
pinMode(relayPin,OUTPUT);
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):

  sensorValue = analogRead(sensorPin);

  if(sensorValue<400)
  {
    lcd.setCursor(0,0);
    lcd.print("Empty             ");
    digitalWrite(relayPin,HIGH);
  }

  else if(sensorValue>=400 && sensorValue<500)
  {

     lcd.setCursor(0,0);
    lcd.print("Half empty         ");
    digitalWrite(relayPin,LOW);

  }

   else if(sensorValue>=500)
  {
    lcd.setCursor(0,0);
    lcd.print("Full               ");
    digitalWrite(relayPin,LOW);
  }

  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(sensorValue);
  lcd.print("      ");

}

পরীক্ষা

experiment 1 - water level controller and monitoring system
চিত্র: সেন্সরের গায়ে কোনো পানি নেই। রিলে অন। এলসিডিতে Empty লেখা। নিচে পানির লেভেল প্রদর্শিত হচ্ছে।
experiment 2 - water level controller and monitoring system
চিত্র:সেন্সর অর্ধ নিমজ্জিত। রিলে অফ হয়ে গেছে। এলসিডিতে লেখা ‘Half empty’। পানির প্রদর্শিত লেভেল অনেক বেড়ে গেছে।
experiment 3 - water level controller and monitoring system
চিত্র:সেন্সর সম্পূর্ণ নিমজ্জিত।
experiment 4 - water level controller and monitoring system
চিত্র:সেন্সর সম্পূর্ণ নিমজ্জিত অবস্থায় রিলে অফ। এলসিডিতে ‘Full’ লেখা। পানির লেভেল ৬০০ এর কাছাকাছি।
TSBlog
TSBlog

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.