اس پوسٹ میں ہم ایک سرکٹ تعمیر کرنے جارہے ہیں جو صارف کو ایس ایم ایس کے ذریعہ مطلع کرے گا اگر آپ کو علاقے / گھر کو پانی کی فراہمی شروع کردی گئی ہے۔ یہ وہ وقت دکھا سکتا ہے جب پانی کی فراہمی شروع ہوتی ہے اور اختتام پذیر ہوتی ہے ، اوسطا پانی کے بہاؤ کی رفتار فی لیٹر فی منٹ اور کل پانی آپ کے ٹینک کو لیٹر میں پہنچایا جاتا ہے۔
تعارف
ہم سب جانتے ہیں کہ زمین پر زندگی پانی کے بغیر ناممکن ہے ، بطور انسان ہم زیادہ پانی استعمال کرتے ہیں نہ صرف ہماری بقا کے ل but بلکہ ہماری عیش و عشرت کی ضروریات کو بھی پورا کرنے کے ل earth ، زمین پر موجود کسی بھی دوسری نسل سے۔
ہم نہ صرف پانی کا استعمال کرتے ہیں بلکہ آبی جسموں کو بھی آلودہ کرتے ہیں۔ آنے والی دہائیوں میں پانی کی کھپت اور طلب عروج پر ہے۔
ایک عالمی شہری کی حیثیت سے ، ہمارا فرض ہے کہ ہم پانی کو بچائیں ، لیکن ایک فرد کی حیثیت سے ہم پانی کی بچت کرکے پوری دنیا کی پیاس کو پورا نہیں کرسکتے ہیں ، لیکن ، ہم یقینی طور پر اپنے اہل خانہ کی پیاس کو پورا کرسکتے ہیں کیونکہ ہمارے پاس مختصر مدت تک پانی کی مقدار بہتر ہوسکتی ہے۔ یہاں تک کہ اگر ہمارے آس پاس کے کسی نے بھی مستقبل کے لئے پانی کی بچت نہیں کی۔
بھارت اور دیگر تیزی سے ترقی پذیر ممالک میں پانی کی فراہمی محدود ہے اور زیادہ مانگ پر ، اس کے علاوہ پانی کی فراہمی مقامی حکومت کی جانب سے کسی سرکاری اطلاع کے بغیر شروع ہوسکتی ہے۔ یہ منصوبہ ہمارے لئے اس مسئلے کو حل کرے گا۔
آئیے اس منصوبے کی تکنیکی تفصیلات میں کودو ڈالیں۔
سرکٹ:
سرکٹ ایک پر مشتمل ہے پانی کے بہاؤ سینسر YF-S201 ، ایک اردوینو بورڈ جو اس منصوبے کا دماغ ہے ، اے جی ایس ایم ماڈیول (سم 800 یا سم 900) پانی کی فراہمی کے بارے میں ایس ایم ایس انتباہات اور پانی کی فراہمی کے آغاز اور پانی کی فراہمی کے خاتمے کے لئے صحیح وقت سے باخبر رہنے کے لئے ایک ریئل ٹائم کلاک ماڈیول۔
ارڈینو بورڈ اور جی ایس ایم ماڈیول کو طاقت دینے کے لئے 9 وولٹ سپلائی مطلوب ہے ، 9V اڈیپٹر یا گھریلو ساختہ ، ٹرانسفارمر بیسڈ (ایل ایم 7809) سپلائی سے بجلی کی فراہمی کی سفارش کی جاتی ہے۔
مندرجہ ذیل کے طور پر ارڈینو اور جی ایس ایم ماڈیول کے درمیان رابطہ:
آرڈینو 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 پانی کی فراہمی ختم ہونے کے بعد سسٹم ایک اور انتباہ بھیجے گا اور وقت ، اوسط پانی کے بہاؤ اور آپ کے ٹینک کو پہنچنے والے پانی کا کل کے ساتھ سیشن کا خلاصہ کرے گا۔
مصنف کی پروٹو ٹائپ:
براہ کرم نوٹ کریں کہ پانی کی آمد کے وقت پانی کا بہاؤ آزاد ہونا ضروری ہے ، مطلب اگر کوئی بلاک یا نل ہے جو بند ہے تو آپ کو مطلع نہیں کرے گا۔
اگر آپ کو اس پروجیکٹ کے بارے میں کوئی سوالات ہیں ، تو بلا جھجک تبصرہ سیکشن میں اظہار خیال کریں ، آپ کو فوری جواب مل سکتا ہے۔
پچھلا: انکیوبیٹر خودکار درجہ حرارت اور نمی کے کنٹرول کے ساتھ ارڈوینو کا استعمال کرتے ہوئے اگلا: 3 بہترین ٹرانسفارمر لیس انورٹر سرکٹس