எஸ்எம்எஸ் அடிப்படையிலான நீர் வழங்கல் எச்சரிக்கை அமைப்பு

சிக்கல்களை அகற்ற எங்கள் கருவியை முயற்சிக்கவும்





இந்த இடுகையில் நாங்கள் ஒரு சுற்று ஒன்றை உருவாக்கப் போகிறோம், இது உங்களுக்கு பகுதி / வீட்டிற்கு நீர் வழங்கல் தொடங்கப்பட்டால் எஸ்எம்எஸ் மூலம் பயனருக்கு அறிவிக்கும். இது தண்ணீர் வழங்கத் தொடங்கி முடிவடையும் நேரம், நிமிடத்திற்கு சராசரி நீர் ஓட்ட வேகம் மற்றும் நிமிடத்திற்கு உங்கள் தொட்டியில் வழங்கப்படும் மொத்த நீர் ஆகியவற்றைக் காட்டலாம்.

அறிமுகம்

மனிதர்களாகிய பூமியில் உயிர் இல்லாமல் இயலாது என்பதை நாம் அனைவரும் அறிவோம் நாங்கள் அதிக தண்ணீரைப் பயன்படுத்துகிறோம் பூமியில் உள்ள வேறு எந்த உயிரினங்களையும் விட, நம் உயிர்வாழ்வதற்கு மட்டுமல்ல, நமது ஆடம்பர தேவைகளையும் பூர்த்தி செய்கிறது.



நாம் தண்ணீரை உட்கொள்வது மட்டுமல்லாமல், நீர்நிலைகளையும் மாசுபடுத்துகிறோம். வரவிருக்கும் தசாப்தங்களில் நீர் நுகர்வு மற்றும் தேவை உயர்ந்துள்ளது.

ஒரு உலக குடிமகனாக, தண்ணீரைச் சேமிப்பது நமது கடமையாகும், ஆனால் ஒரு தனிநபராக நாம் தண்ணீரைச் சேமிப்பதன் மூலம் முழு உலகின் தாகத்தையும் பூர்த்தி செய்யாமல் போகலாம், ஆனால், குறுகிய காலத்திற்கு ஆரோக்கியமான அளவு தண்ணீர் இருப்பதால் நம் குடும்பத்தின் தாகத்தை நிச்சயமாக பூர்த்தி செய்யலாம் , நம்மைச் சுற்றியுள்ள யாரும் எதிர்காலத்திற்காக தண்ணீரை சேமிக்கவில்லை என்றாலும்.



இந்தியாவிலும், வேகமாக வளர்ந்து வரும் பிற நாடுகளிலும் நீர் வழங்கல் மட்டுப்படுத்தப்பட்டுள்ளது, மேலும் அதிக தேவை உள்ளதால், உள்ளூர் அரசாங்கத்தின் எந்தவொரு உத்தியோகபூர்வ அறிவிப்பும் இல்லாமல் நீர் வழங்கல் தொடங்கப்படலாம். இந்த திட்டம் எங்களுக்கு இந்த சிக்கலை தீர்க்கும்.

இப்போது திட்டத்தின் தொழில்நுட்ப விவரங்களுக்குள் நுழைவோம்.

சுற்று:

சுற்று a ஐ கொண்டுள்ளது நீர் ஓட்டம் சென்சார் YF-S201, திட்டத்தின் மூளையாக இருக்கும் ஒரு Arduino போர்டு, a ஜிஎஸ்எம் தொகுதி (சிம் 800 அல்லது சிம் 900) நீர் வழங்கல் குறித்த எஸ்எம்எஸ் விழிப்பூட்டல்களைப் பெறுவதற்கும், நீர் வழங்கல் துவக்கம் மற்றும் நீர் வழங்கல் நிறுத்தப்படுவதற்கான சரியான நேரத்தைக் கண்காணிப்பதற்கான நிகழ்நேர கடிகார தொகுதி.

ஆர்டுயினோ போர்டு மற்றும் ஜிஎஸ்எம் தொகுதிக்கு மின்சாரம் வழங்க வோல்ட் சப்ளை விரும்பத்தக்கது, 9 வி அடாப்டர்கள் அல்லது வீட்டில் நன்கு கட்டப்பட்ட, மின்மாற்றி அடிப்படையிலான (எல்எம் 7809) விநியோகத்திலிருந்து மின்சாரம் வழங்க பரிந்துரைக்கப்படுகிறது.

எஸ்எம்எஸ் அடிப்படையிலான நீர் வழங்கல் எச்சரிக்கை சுற்று

Arduino மற்றும் GSM தொகுதிக்கு இடையிலான இணைப்பு பின்வருமாறு:

Arduino TX முதல் RX GSM தொகுதிக்கு

Arduino RX to TX GSM தொகுதிக்கு

Arduino GND to GND GSM தொகுதிக்கு

அர்டுயினோவின் 5 வி வெளியீட்டு முனையிலிருந்து ஜிஎஸ்எம் தொகுதியின் 5 வி உள்ளீட்டிற்கு ஜிஎஸ்எம் தொகுதியை ஒருபோதும் இயக்க முயற்சிக்காதீர்கள்.

ஆர்டிசி அல்லது நிகழ்நேர கடிகார தொகுதி நீர் வருகை நேரம் மற்றும் நீர் வழங்கல் நிறுத்தப்படும்.

அது வன்பொருள் முடிவடைகிறது.

ஆர்டிசியில் நேரத்தை அமைக்க, முடிக்கப்பட்ட வன்பொருள் அமைப்பைக் கொண்டு நேர அமைத்தல் திட்டத்தை ஆர்டிசியில் பதிவேற்ற வேண்டும். இது உங்கள் கணினியில் உள்ள நேரத்தை RTC உடன் ஒத்திசைக்கும்.

RTC நூலகக் கோப்பைப் பதிவிறக்குக: github.com/PaulStoffregen/DS1307RTC

RTC இல் நேரத்தை அமைப்பதற்கான திட்டம்:

//-----------------------------------------------------------//
#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 மேலே உள்ள குறியீட்டை பூர்த்தி செய்யப்பட்ட வன்பொருள் மூலம் பதிவேற்றவும்.

Monit சீரியல் மானிட்டரைத் திறக்கவும், நேரம் அமைக்கப்பட்டிருப்பதைக் காட்டுகிறது.

· இப்போது நீங்கள் அடுத்த கட்டத்திற்கு செல்ல தயாராக உள்ளீர்கள்.

நீங்கள் வெற்றிகரமாக ஆர்டிசி தொகுதிக்கு நேரத்தை அமைத்துள்ளீர்கள்.

இப்போது, ​​எஸ்எம்எஸ் வழியாக எங்களுக்குத் தெரிவிக்கும் முக்கிய நிரலைப் பதிவேற்றலாம்.

முக்கிய திட்டம்:

//-----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-----//

குறிப்பு : நீங்கள் முதலில் ஆர்டிசி நேர அமைத்தல் திட்டத்தை அர்டுயினோவிலும், பிரதான நிரல் இரண்டாவதாகவும் (பூர்த்தி செய்யப்பட்ட வன்பொருள் அமைப்போடு) பதிவேற்ற வேண்டும், இதற்கு நேர்மாறாகச் செய்தால், திட்டம் இயங்காது.

சோதிக்கப்பட்ட முன்மாதிரியின் எஸ்எம்எஸ் ஸ்கிரீன் ஷாட் இங்கே:

சோதிக்கப்பட்ட முன்மாதிரியின் எஸ்எம்எஸ் ஸ்கிரீன் ஷாட்:

ON சர்க்யூட்டை இயக்க ஒரு நிமிடம் கழித்து, கணினி தயாராக உள்ளது என்று ஒரு எஸ்எம்எஸ் கிடைக்கும்.

The சென்சார் வழியாக நீர் பாயத் தொடங்கும் போது, ​​கணினி பயனருக்கு நேரத்தைத் தெரிவிக்கும்.

Supply நீர் வழங்கல் நிறுத்தப்பட்ட பிறகு, அமைப்பு மற்றொரு எச்சரிக்கையை அனுப்பி, நேரம், சராசரி நீர் ஓட்டம் மற்றும் உங்கள் தொட்டியில் வழங்கப்பட்ட மொத்த நீர் ஆகியவற்றைக் கொண்டு அமர்வை சுருக்கமாகக் கூறுகிறது.

ஆசிரியரின் முன்மாதிரி:

எஸ்எம்எஸ் அடிப்படையிலான நீர் வழங்கல் எச்சரிக்கை சுற்று முன்மாதிரி

நீர் வருகையின் போது நீர் இலவசமாக ஓட வேண்டும் என்பதை நினைவில் கொள்க, அதாவது ஏதேனும் தொகுதி அல்லது குழாய் இருந்தால் மூடப்பட்டிருப்பது உங்களுக்கு அறிவிக்காது.

இந்தத் திட்டம் தொடர்பாக ஏதேனும் கேள்விகள் இருந்தால், கருத்துப் பிரிவில் வெளிப்படுத்த தயங்க, நீங்கள் விரைவான பதிலைப் பெறலாம்.




முந்தைய: தானியங்கி வெப்பநிலை மற்றும் ஈரப்பதம் கட்டுப்பாட்டுடன் Arduino ஐப் பயன்படுத்தும் இன்குபேட்டர் அடுத்து: 3 சிறந்த மின்மாற்றி இல்லாத இன்வெர்ட்டர் சுற்றுகள்