ଉପକ୍ରମ:
ଏକ ବିକସିତ ପାଣିପମ୍ପ ବ୍ୟବସ୍ଥା ନିର୍ମାଣ କରିବା ଉକ୍ତ ପ୍ରକଳ୍ପର ଲକ୍ଷ୍ୟ । ଆଧୁନିକ ବୈଷୟିକ ବିଜ୍ଞାନ ଏବଂ ପ୍ରଯୁକ୍ତି ବିଦ୍ୟାର ସାହାଯ୍ୟ ନେଇ ଏଠାରେ ଆମେ ଏକ ଏପରି ପାଣିପମ୍ପ ବ୍ୟବସ୍ଥା ନିର୍ମାଣ କରୁଅଛୁ ଜାହାକି ମୋବାଇଲ୍ ଦ୍ୱାରା ପରିଚାଳିତ ହୋଇପାରିବ । ଉକ୍ତ ପ୍ରକଳ୍ପ ରେ ଆମେ ଜି.ଏସ୍.ଏମ୍. ମଡ୍ୟୁଲ୍ ବ୍ୟବହାରକରି ଏକ ମୋବାଇଲ ଫୋନ ଜରିଆରେ ପାଣିପମ୍ପ ର ପରିଚାଳନାକରୁଅଛୁ । ଏହା ଦ୍ୱାରା ପାଣିପମ୍ପ ପାଖକୁ ନଯାଇ ଅନତି ଦୂରରେ ଥାଇ ମଧ୍ୟ ମୋବାଇଲ ଫୋନ ମାଧ୍ୟମ ରେ ନେଟ୍ୱାର୍କ ର ଉପସ୍ଥିତି ରେ ପାଣିପମ୍ପ ର ପରିଚାଳନା କରାଯାଇ ପାରିବ । ଏହି ପ୍ରକଳ୍ପଟି ଦୈନନ୍ଦିନ ଜୀବନରେ ଖୁବ୍ ଉପଯୋଗୀ । ଏହା ଉଭୟ ଜଳ ଓ ବିଜୁଳି ଶକ୍ତି ଅପଚୟ କୁ ରୋକିପାରିବ ।
ବ୍ଲକ ଡାଇଗ୍ରାମ:

ଆବଶ୍ୟକୀୟ ଉପକରଣ :
- ବ୍ୟାଟେରୀ
- ମାଇକ୍ରୋକଣ୍ଟ୍ରୋଲର
- କାପାସିଟର
- ପ୍ରତିରୋଧ
- ରିଲେ
- ଟ୍ରାଞିଷ୍ଟର
- ଏଲ.ଇ.ଡି.
- ପାଣିପମ୍ପ
- ସୁଇଚ୍
- ବକ୍ କନଭର୍ଟର
- ଡାଇଓଡ
- ଜି.ଏସ୍.ଏମ୍. ମଡ୍ୟୁଲ୍
କାର୍ଯ୍ୟପ୍ରଣାଳୀ :
ପ୍ରକଳ୍ପରେ ବ୍ୟବହୃତ ହୋଇଥିବା ବକ୍ କନଭର୍ଟର ଟି 8 ଭୋଲ୍ଟ ବିଶିଷ୍ଟ ସଳଖ ବିଦ୍ୟୁତ ସ୍ରୋତ କୁ 5 ଭୋଲ୍ଟ ବିଦ୍ୟୁତ ସ୍ରୋତ ରେ ପରିଣତ କରିଥାଏ। ଏହି 5 ଭୋଲ୍ଟ ବିଦ୍ୟୁତ, ସର୍କିଟ୍ ପରିଚାଳନାପାଇଁ ଆବଶ୍ୟକ ହୋଇଥାଏ। ପାଣି ପମ୍ପର ପରିଚାଳନା ନିମନ୍ତେ 230 ଭୋଲ୍ଟ ବିଶିଷ୍ଟ ପ୍ରତ୍ୟାବର୍ତ୍ତୀ ବିଦ୍ୟୁତ ସ୍ରୋତ ବ୍ୟବହୃତ ହୋଇଥାଏ । ରିଲେ ଡ୍ରାଇଭରଟି ସୁଇଚ୍ ବୋର୍ଡ ର ଥ୍ରୀପିନ୍ ସକେଟ୍ ରେ ସଂଯୋଗ ହୋଇଥାଏ । ପାଣିପମ୍ପ ଉକ୍ତ ସକେଟ୍ ରୁ ବିଦ୍ୟୁତ ସଂଯୋଗ ପାଇଥାଏ । ମୋବାଇଲ ଫୋନ ରୁ ଜି.ଏସ୍.ଏମ୍. ମଡ୍ୟୁଲ୍ କୁ ମେସେଜ୍ ପଠାଇଲେ ମାଇକ୍ରୋକଣ୍ଟ୍ରୋଲର ସଂକେତ ପାଇଥାଏ । ଏହାପରେ ମାଇକ୍ରୋକଣ୍ଟ୍ରୋଲର, ରିଲେ ଡ୍ରାଇଭର କୁ କାର୍ଯ୍ୟକ୍ଷମ କରାଇଥାଏ । ସକେଟ୍ ଟି ରିଲେ ଡ୍ରାଇଭରଜରିଆରେ ପାୱାର ପାଉଥିବାରୁ, ପାଣିପମ୍ପ ର ସକ୍ରିୟ ଏବଂ ନିଷ୍କ୍ରିୟ ଅବସ୍ଥା ରିଲେ ଡ୍ରାଇଭରର ସକ୍ରିୟ ଏବଂ ନିଷ୍କ୍ରିୟ ଅବସ୍ଥା ଉପରେ ନିର୍ଭର କରିଥାଏ । ପାଣିପମ୍ପ ବନ୍ଦ୍ କରିବାକୁ ଭୁଲିଯାଇ ଘରଠାରୁ ଦୂରକୁ ଚାଲି ଯାଇଥିଲେ, ଏହି ବ୍ୟବସ୍ଥା ମାଧ୍ୟମରେ ମେସେଜ୍ ପଠାଇ ପାଣିପମ୍ପ କୁ ବନ୍ଦ୍ କରାଇଥାଏ । ଫଳରେ ଜଳ ଓ ବିଜୁଳି ଶକ୍ତି ଅପଚୟ ହୋଇନଥାଏ ।

ଉପକାରୀତା:
- ଏହା ଦ୍ୱାରା ପାଣିପମ୍ପ ପାଖକୁ ନଯାଇ ଦୂରରେ ଥାଇ ମଧ୍ୟ ମୋବାଇଲ ଫୋନ ମାଧ୍ୟମ ରେ ମେସେଜ୍ ପଠାଇ ପାଣିପମ୍ପ ର ପରିଚାଳନା କରାଯାଇ ପାରିବ ।
- ଏହି ପ୍ରକଳ୍ପଟି ଦୈନନ୍ଦିନ ଜୀବନରେ ଖୁବ୍ ଉପଯୋଗୀ ।
- ଏହାର ପରିଚାଳନା ପ୍ରକ୍ରିୟା ଖୁବ୍ ସରଳ ।
- ଏହା ଉଭୟ ଜଳ ଓ ବିଜୁଳି ଶକ୍ତି ଅପଚୟ କୁ ରୋକିପାରିବ ।
ଉପକରଣ ବିବରଣୀ
ବିଦ୍ୟୁତ କୋଷ – ଏହା ବିଦ୍ୟୁତ ଶକ୍ତିକୁ ଗଛିତ କରି ରଖିଥାଏ ।
ପ୍ରତିରୋଧ – ଏହା ବିଦ୍ୟୁତ ସ୍ରୋତ ର ପ୍ରବାହ କୁ ଅବରୋଧ କରିଥାଏ ।
ପରିବର୍ତ୍ତିତ ପ୍ରତିରୋଧ – ଏଥିରେ ପ୍ରତିରୋଧକୁ ଆବଶ୍ୟକ ମୂତାବକ ବୃଦ୍ଧି ଓ ହ୍ରାସ କରିବାର ପ୍ରବନ୍ଧ ଥାଏ ।
ଡାଇଓଡ୍ – ଏହା ବିଦ୍ୟୁତ ସ୍ରୋତକୁ କେବଳ ଗୋଟିଏ ଦିଗରେ ପ୍ରବାହିତ କରିଥାଏ । ବିପରୀତ ଦିଗରେ ଏହା ବିଦ୍ୟୁତ ସ୍ରୋତକୁ ପ୍ରବାହିତ ହେବାପାଇଁ ଅନୁମତି ଦେଇନଥାଏ । ଏହା ମଧ୍ୟରେ ପି-ପ୍ରକାର ଓ ଏନ୍-ପ୍ରକାର ଅର୍ଦ୍ଧପରିବାହୀ ମହଜୁଦ ଥାଏ ।
ରିଲେ – ଏହା ଏକ ସ୍ୱୟଂଚାଳିତ ସୁଇଚ୍ । ବିଦ୍ୟୁତ ପରିପଥ କୁ ସଂଯୋଗ ଓ ବିଛିନ୍ନ କରିବା ଏହାର କାର୍ଯ୍ୟ । ରିଲେ ମଧ୍ୟରେ ଏକ ବିଦ୍ୟୁତ ଚୁମ୍ବକ ନିହିତ ଥାଏ । ରିଲେକୁ ବିଦ୍ୟୁତ ଚୁମ୍ବକିୟ ସୁଇଚ୍ ମଧ୍ୟ କୁହାଯାଏ ।
କାପାସିଟର – ଏହା ବୈଦ୍ୟୁତିକ ଚାର୍ଜକୁ ଗଛିତ କରି ରଖିପାରେ ।
ଏଲ୍.ଇ.ଡି. – ଏହା ବିଦ୍ୟୁତ ଶକ୍ତିକୁ ଆଲୋକ ଶକ୍ତିରେ ରୂପାନ୍ତରିତ କରିଥାଏ । ଏହା ଏକ ଟ୍ରାନ୍ସଡ୍ୟୁସର୍ ।
ଟ୍ରାଞିଷ୍ଟର- ଏହା ବୈଦ୍ୟୁତିକ ସିଗ୍ନାଲ୍ କୁ ଆମ୍ପ୍ଲିଫାଏ କରିପାରେ । ଏହା ସୁଇଚ୍ ପରି ମଧ୍ୟ କାର୍ଯ୍ୟ କରିଥାଏ ।
ଟାଇମର ସର୍କିଟ – ଏହା ଦ୍ୱାରା ଏକ ନିର୍ଦ୍ଧିଷ୍ଟ ସମୟ ସୀମା ନିର୍ଦ୍ଧାରଣ କରାଯାଇପାରେ ।
ମାଇକ୍ରୋକଣ୍ଟ୍ରୋଲର୍- ଏହା ଏକ କ୍ଷୁଦ୍ର କମ୍ପ୍ୟୁଟର୍ । ପ୍ରୋଗ୍ରାମ ମାଧ୍ୟମରେ କମାଣ୍ଡ ଦିଆଯାଇ ଏଥିରେ ଅନେକ କାମ କରାଯାଇପାରେ ।
ଜି.ଏସ୍.ଏମ୍. ମଡ୍ୟୁଲ୍ -ଏହା ମୋବାଇଲ୍ ଫୋନ୍ ରେ ବ୍ୟବହୃତ ହେଉଥିବା ସିମ୍ କାର୍ଡ ଜରିଆରେ ଲିଖିତ ମେସେଜ୍ ପଠାଇବାରେ ସକ୍ଷମ ହୋଇଥାଏ ।
ବକ୍ କନଭର୍ଟର – ଏହା ଡିସି ଭୋଲ୍ଟେଜ କୁ କମାଇପାରେ
Code for microcontroller:
//Su-Din Technology
//MOBILE PHONE OPERATED WATER PUMP
// I have used only relay 1
#include <SoftwareSerial.h>
//sender phone number with country code
const String PHONE = "+919861004895"; /*Write your 10 digit mobile number
with country code*/
//GSM Module RX pin to Arduino 3
//GSM Module TX pin to Arduino 2
#define rxPin 2
#define txPin 3
SoftwareSerial sim800(rxPin,txPin);
#define RELAY_1 4
#define RELAY_2 5
String smsStatus,senderNumber,receivedDate,msg;
boolean isReply = false;
void setup() {
digitalWrite(RELAY_1, LOW);
delay(7000);
Serial.begin(115200);
Serial.println("Arduino serial initialize");
sim800.begin(9600);
Serial.println("SIM800L software serial initialize");
pinMode(RELAY_1, OUTPUT); //Relay 1
smsStatus = "";
senderNumber="";
receivedDate="";
msg="";
sim800.print("AT+CMGF=1\r"); //SMS text mode
delay(1000);
//delete all sms
sim800.println("AT+CMGD=1,4");
delay(1000);
sim800.println("AT+CMGDA= \"DEL ALL\"");
delay(1000);
}
void loop() {
//---------------------------------------------
while(sim800.available()){
parseData(sim800.readString());
}
//-----------------------------------------------
while(Serial.available()) {
sim800.println(Serial.readString());
}
//--------------------------------------------------
} //main loop ends
//------------------------------------------------------
void parseData(String buff){
Serial.println(buff);
unsigned int len, index;
//-------------------------------------
//Remove sent "AT Command" from the response string.
index = buff.indexOf("\r");
buff.remove(0, index+2);
buff.trim();
//---------------------------------------
if(buff != "OK"){
index = buff.indexOf(":");
String cmd = buff.substring(0, index);
cmd.trim();
buff.remove(0, index+2);
if(cmd == "+CMTI"){
//get newly arrived memory location and store it in temp
index = buff.indexOf(",");
String temp = buff.substring(index+1, buff.length());
temp = "AT+CMGR=" + temp + "\r";
//get the message stored at memory location "temp"
sim800.println(temp);
}
else if(cmd == "+CMGR"){
extractSms(buff);
if(senderNumber == PHONE){
doAction();
//delete all sms
sim800.println("AT+CMGD=1,4");
delay(1000);
sim800.println("AT+CMGDA= \"DEL ALL\"");
delay(1000);
}
}
//-------------------------------------
}
else{
//The result of AT Command is "OK"
}
}
//-------------------------------------------
void extractSms(String buff){
unsigned int index;
index = buff.indexOf(",");
smsStatus = buff.substring(1, index-1);
buff.remove(0, index+2);
senderNumber = buff.substring(0, 13);
buff.remove(0,19);
receivedDate = buff.substring(0, 20);
buff.remove(0,buff.indexOf("\r"));
buff.trim();
index =buff.indexOf("\n\r");
buff = buff.substring(0, index);
buff.trim();
msg = buff;
buff = "";
msg.toLowerCase();
}
void doAction(){
if(msg == "relay1 off"){
digitalWrite(RELAY_1, LOW);
Reply("Relay 1 has been OFF");
}
else if(msg == "relay1 on"){
digitalWrite(RELAY_1, HIGH);
Reply("Relay 1 has been ON");
}
else if(msg == "relay2 off"){
digitalWrite(RELAY_2, LOW);
Reply("Relay 2 has been OFF");
}
else if(msg == "relay2 on"){
digitalWrite(RELAY_2, HIGH);
Reply("Relay 2 has been ON");
}
smsStatus = "";
senderNumber="";
receivedDate="";
msg="";
}
void Reply(String text)
{
sim800.print("AT+CMGF=1\r");
delay(1000);
sim800.print("AT+CMGS=\""+PHONE+"\"\r");
delay(1000);
sim800.print(text);
delay(100);
sim800.write(0x1A); //ascii code for ctrl-26 //sim800.println((char)26); //ascii code for ctrl-26
delay(1000);
Serial.println("SMS Sent Successfully.");
}
Designer:
Er. Anil Kumar Prusty
Phone No. :- +91 9861004895