SMS پر مبنی واٹر سپلائی الرٹ سسٹم

مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں





اس پوسٹ میں ہم ایک سرکٹ تعمیر کرنے جارہے ہیں جو صارف کو ایس ایم ایس کے ذریعہ مطلع کرے گا اگر آپ کو علاقے / گھر کو پانی کی فراہمی شروع کردی گئی ہے۔ یہ وہ وقت دکھا سکتا ہے جب پانی کی فراہمی شروع ہوتی ہے اور اختتام پذیر ہوتی ہے ، اوسطا پانی کے بہاؤ کی رفتار فی لیٹر فی منٹ اور کل پانی آپ کے ٹینک کو لیٹر میں پہنچایا جاتا ہے۔

تعارف

ہم سب جانتے ہیں کہ زمین پر زندگی پانی کے بغیر ناممکن ہے ، بطور انسان ہم زیادہ پانی استعمال کرتے ہیں نہ صرف ہماری بقا کے ل but بلکہ ہماری عیش و عشرت کی ضروریات کو بھی پورا کرنے کے ل earth ، زمین پر موجود کسی بھی دوسری نسل سے۔



ہم نہ صرف پانی کا استعمال کرتے ہیں بلکہ آبی جسموں کو بھی آلودہ کرتے ہیں۔ آنے والی دہائیوں میں پانی کی کھپت اور طلب عروج پر ہے۔

ایک عالمی شہری کی حیثیت سے ، ہمارا فرض ہے کہ ہم پانی کو بچائیں ، لیکن ایک فرد کی حیثیت سے ہم پانی کی بچت کرکے پوری دنیا کی پیاس کو پورا نہیں کرسکتے ہیں ، لیکن ، ہم یقینی طور پر اپنے اہل خانہ کی پیاس کو پورا کرسکتے ہیں کیونکہ ہمارے پاس مختصر مدت تک پانی کی مقدار بہتر ہوسکتی ہے۔ یہاں تک کہ اگر ہمارے آس پاس کے کسی نے بھی مستقبل کے لئے پانی کی بچت نہیں کی۔



بھارت اور دیگر تیزی سے ترقی پذیر ممالک میں پانی کی فراہمی محدود ہے اور زیادہ مانگ پر ، اس کے علاوہ پانی کی فراہمی مقامی حکومت کی جانب سے کسی سرکاری اطلاع کے بغیر شروع ہوسکتی ہے۔ یہ منصوبہ ہمارے لئے اس مسئلے کو حل کرے گا۔

آئیے اس منصوبے کی تکنیکی تفصیلات میں کودو ڈالیں۔

سرکٹ:

سرکٹ ایک پر مشتمل ہے پانی کے بہاؤ سینسر YF-S201 ، ایک اردوینو بورڈ جو اس منصوبے کا دماغ ہے ، اے جی ایس ایم ماڈیول (سم 800 یا سم 900) پانی کی فراہمی کے بارے میں ایس ایم ایس انتباہات اور پانی کی فراہمی کے آغاز اور پانی کی فراہمی کے خاتمے کے لئے صحیح وقت سے باخبر رہنے کے لئے ایک ریئل ٹائم کلاک ماڈیول۔

ارڈینو بورڈ اور جی ایس ایم ماڈیول کو طاقت دینے کے لئے 9 وولٹ سپلائی مطلوب ہے ، 9V اڈیپٹر یا گھریلو ساختہ ، ٹرانسفارمر بیسڈ (ایل ایم 7809) سپلائی سے بجلی کی فراہمی کی سفارش کی جاتی ہے۔

SMS پر مبنی واٹر سپلائی الرٹ سرکٹ

مندرجہ ذیل کے طور پر ارڈینو اور جی ایس ایم ماڈیول کے درمیان رابطہ:

آرڈینو TX سے RX GSM ماڈیول

اردوینو آر ایکس سے ٹی ایکس جی ایس ایم ماڈیول

اردوینو GND سے GND GSM ماڈیول

ارڈوینو کے 5V آؤٹ پٹ سے GSM ماڈیول کے 5V ان پٹ تک GSM ماڈیول کو کبھی بھی طاقت بخشنے کی کوشش نہ کریں۔

آر ٹی سی یا ریئل ٹائم کلاک ماڈیول پانی کی آمد اور پانی کی فراہمی کے خاتمے کے وقت کا پتہ لگائے گا۔

یہ ہارڈ ویئر کو ختم کرتا ہے۔

آر ٹی سی پر وقت مقرر کرنے کے لئے ہمیں ہارڈ ویئر سیٹ اپ کے ساتھ ٹائم سیٹنگ پروگرام کو آر ٹی سی پر اپ لوڈ کرنے کی ضرورت ہے۔ یہ آپ کے کمپیوٹر پر وقت کو آر ٹی سی میں مطابقت پذیر بنائے گا۔

آر ٹی سی لائبریری فائل ڈاؤن لوڈ کریں: github.com/PaulStoffregen/DS1307RTC

آر ٹی سی پر وقت مقرر کرنے کا پروگرام:

//-----------------------------------------------------------//
#include
#include
#include
int P = A3 //Assign power pins for RTC
int N = A2
const char *monthName[12] = {
'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'
}
tmElements_t tm
void setup() {
pinMode(P, OUTPUT)
pinMode(N, OUTPUT)
digitalWrite(P, HIGH)
digitalWrite(N, LOW)
bool parse = false
bool config = false
// get the date and time the compiler was run
if (getDate(__DATE__) && getTime(__TIME__)) {
parse = true
// and configure the RTC with this info
if (RTC.write(tm)) {
config = true
}
}
Serial.begin(9600)
while (!Serial) // wait for Arduino Serial Monitor
delay(200)
if (parse && config) {
Serial.print('DS1307 configured Time=')
Serial.print(__TIME__)
Serial.print(', Date=')
Serial.println(__DATE__)
} else if (parse) {
Serial.println('DS1307 Communication Error :-{')
Serial.println('Please check your circuitry')
} else {
Serial.print('Could not parse info from the compiler, Time='')
Serial.print(__TIME__)
Serial.print('', Date='')
Serial.print(__DATE__)
Serial.println(''')
}
}
void loop() {
}
bool getTime(const char *str)
{
int Hour, Min, Sec
if (sscanf(str, '%d:%d:%d', &Hour, &Min, &Sec) != 3) return false
tm.Hour = Hour
tm.Minute = Min
tm.Second = Sec
return true
}
bool getDate(const char *str)
{
char Month[12]
int Day, Year
uint8_t monthIndex
if (sscanf(str, '%s %d %d', Month, &Day, &Year) != 3) return false
for (monthIndex = 0 monthIndex <12 monthIndex++) {
if (strcmp(Month, monthName[monthIndex]) == 0) break
}
if (monthIndex >= 12) return false
tm.Day = Day
tm.Month = monthIndex + 1
tm.Year = CalendarYrToTm(Year)
return true
}
//-----------------------------------------------------------//

completed مندرجہ بالا کوڈ کو مکمل ہارڈ ویئر کے ساتھ اپ لوڈ کریں۔

the سیریل مانیٹر کھولیں اور یہ ظاہر کرتا ہے کہ وقت مقرر ہوچکا ہے۔

· اب آپ اگلے مرحلے میں جانے کے لئے تیار ہیں۔

آپ نے کامیابی کے ساتھ آر ٹی سی ماڈیول کے لئے وقت طے کیا۔

اب ، آئیے مرکزی پروگرام اپ لوڈ کریں جو ہمیں SMS کے ذریعے مطلع کرے گا۔

مرکزی پروگرام:

//-----Program Developed by R.Girish-----//
#include
#include
#include
int X
int Y
int sec = 50
int t = 0
int i = 0
int check = 1
int chk = 0
int P = A3
int N = A2
int tim = 0
float Time = 0
float frequency = 0
float waterFlow = 0
float total = 0
float LS = 0
float average = 0
const int input = A0
const int test = 9
void setup()
{
Serial.begin(9600)
pinMode(input, INPUT)
pinMode(test, OUTPUT)
analogWrite(test, 100)
pinMode(P, OUTPUT)
pinMode(N, OUTPUT)
digitalWrite(P, HIGH)
digitalWrite(N, LOW)
for (i = 0 i {
delay(1000)
}
Serial.println('AT+CNMI=2,2,0,0,0')
delay(1000)
Serial.println('AT+CMGF=1')
delay(500)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.println('Your water supply notification system is ready.')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
void loop()
{
tmElements_t tm
if (RTC.read(tm))
{
if (tm.Hour > 12) //24Hrs to 12 Hrs conversion//
{
if (tm.Hour == 13) tim = 1
if (tm.Hour == 14) tim = 2
if (tm.Hour == 15) tim = 3
if (tm.Hour == 16) tim = 4
if (tm.Hour == 17) tim = 5
if (tm.Hour == 18) tim = 6
if (tm.Hour == 19) tim = 7
if (tm.Hour == 20) tim = 8
if (tm.Hour == 21) tim = 9
if (tm.Hour == 22) tim = 10
if (tm.Hour == 23) tim = 11
}
else
{
tim = tm.Hour
}
X = pulseIn(input, HIGH)
Y = pulseIn(input, LOW)
Time = X + Y
frequency = 1000000 / Time
waterFlow = frequency / 7.5
LS = waterFlow / 60
if (frequency >= 0)
{
if (isinf(frequency))
{
if (chk == 1)
{
Serial.println('AT+CNMI=2,2,0,0,0')
delay(1000)
Serial.println('AT+CMGF=1')
delay(500)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.print('Time: ')
delay(10)
Serial.print(tim)
delay(10)
Serial.print(':')
delay(10)
Serial.print(tm.Minute)
delay(10)
if (tm.Hour >= 12)
{
Serial.println(' PM')
}
if (tm.Hour <12)
{
Serial.println(' AM')
}
delay(10)
Serial.println('Water Supply is Ended.')// The SMS text you want to send
delay(100)
Serial.print('Average Water Flow (Litre/Min): ')
delay(100)
Serial.println(average)
delay(100)
Serial.print('Total Water Delivered: ')
delay(100)
Serial.print(total)
delay(100)
Serial.println(' Litre')
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(5000)
t = 0
total = 0
average = 0
chk = 0
check = 1
}
}
else
{
if (check == 1)
{
Serial.println('AT+CNMI=2,2,0,0,0')
delay(1000)
Serial.println('AT+CMGF=1')
delay(500)
Serial.println('AT+CMGS='+91xxxxxxxxxx' ') // Replace x with mobile number
delay(1000)
Serial.print('Time: ')
delay(10)
Serial.print(tim)
delay(10)
Serial.print(':')
delay(10)
Serial.print(tm.Minute)
delay(10)
if (tm.Hour >= 12)
{
Serial.println(' PM')
}
if (tm.Hour <12)
{
Serial.println(' AM')
}
delay(10)
Serial.println('The water is being supplied now.')// The SMS text you want to send
delay(100)
Serial.println((char)26) // ASCII code of CTRL+Z
delay(1000)
check = 0
chk = 1
}
t = t + 1
total = total + LS
average = total / t
average = average * 60
}
}
delay(1000)
}
}
//-----Program Developed by R.Girish-----//

نوٹ : آپ کو لازمی ہے کہ آر ٹی سی ٹائم سیٹنگ پروگرام کو اول ارڈینو اور مرکزی پروگرام دوسرا (مکمل ہارڈ ویئر سیٹ اپ کے ساتھ) پر اپ لوڈ کریں ، اس کے برعکس کرتے ہوئے ، پروجیکٹ کام نہیں کرے گا۔

آزمائشی پروٹو ٹائپ کا ایس ایم ایس اسکرین شاٹ یہ ہے:

آزمائشی پروٹو ٹائپ کا ایس ایم ایس اسکرین شاٹ:

circuit سرکٹ کو چلانے کے ایک منٹ کے بعد ، آپ کو یہ کہتے ہوئے ایک ایس ایم ایس ملے گا کہ سسٹم تیار ہے۔

· جب سینسر سے پانی بہنا شروع ہوجائے تو ، نظام وقت کے ساتھ صارف کو مطلع کرے گا۔

water پانی کی فراہمی ختم ہونے کے بعد سسٹم ایک اور انتباہ بھیجے گا اور وقت ، اوسط پانی کے بہاؤ اور آپ کے ٹینک کو پہنچنے والے پانی کا کل کے ساتھ سیشن کا خلاصہ کرے گا۔

مصنف کی پروٹو ٹائپ:

SMS پر مبنی واٹر سپلائی الرٹ سرکٹ کا پروٹو ٹائپ

براہ کرم نوٹ کریں کہ پانی کی آمد کے وقت پانی کا بہاؤ آزاد ہونا ضروری ہے ، مطلب اگر کوئی بلاک یا نل ہے جو بند ہے تو آپ کو مطلع نہیں کرے گا۔

اگر آپ کو اس پروجیکٹ کے بارے میں کوئی سوالات ہیں ، تو بلا جھجک تبصرہ سیکشن میں اظہار خیال کریں ، آپ کو فوری جواب مل سکتا ہے۔




پچھلا: انکیوبیٹر خودکار درجہ حرارت اور نمی کے کنٹرول کے ساتھ ارڈوینو کا استعمال کرتے ہوئے اگلا: 3 بہترین ٹرانسفارمر لیس انورٹر سرکٹس