ආඩුඊනෝ ප්රෝග්රෑමිං Part 10 – Rain Sensor Module
අද අපි කතා කරන්න යන්නේ Rain Sensor Module එක ගැන.
වැස්ස හෝ වහිනව වගේ වතුර වැටෙන අවස්ථාවක් හෝ හදුනා ගන්නට පුලුවන් ඉලෙක්ට්රොනික සංවේදක හෙවත් සෙන්සර්ස් තිබෙනවා. මේවා Rain Sensor Module කියල හදුන්වනු ලබනවා. මෙම sensor එක වෙත ලැබෙන දත්ත උපයෝගී කරගෙන එදිනෙදා ජීවිතයේදී ප්රයෝජනවත් වන විවිධ උපාංග තැනීමට ආඩුඊනෝ වැඩසටහන් ලිවිය හැකිය.
මෙම මොඩියුල් එකෙහි කොටස් 2ක් තිබෙනවා. ඉන් එකක් මොඩියුල් එක ලෙසම හදුන්වනවා (2 රූපය). අනෙක් කොටස කලෙක්ටර් එක ලෙස හදුන්වනවා (3 රූපය). ජලය වැටිය යුත්තේ මෙම කලෙක්ටර් එක මතටයි.
රේන් සෙන්සර් මොඩියුල් එකෙහි එක් පසෙක pin 2ක් තිබේ. එම pin දෙක ඇති පැත්ත සම්බන්ධ වන්නේ රේන් සෙන්සර් එකෙහි කලෙක්ටර් එක වෙතටයි. මෙහි එක pin එකක් භූගත අග්රය (GND Pin) ලෙස හදුන්වනවා. මොඩියුල් එකෙහි අනෙක් පස pin 4ක් වෙයි. එම pin 4 ආසන්නයේ ඒවා හදුනාගත හැකි ලෙස සංකේතාත්මක අකුරු දක්වා තිබෙනවා. එම pin වලින් ඉටු කරන කාර්යයන් මෙසේය.
A0 :- මොඩියුල් එක හරහා ඇනලොග් ප්රතිදානයක් ආඩුඊනෝ බෝඩ් එක වෙත ලබා ගත හැක.
D0 :- මොඩියුල් එක හරහා ඩිජිටල් ප්රතිදානයක් ආඩුඊනෝ බෝඩ් එක වෙත ලබා ගත හැක.
GND :- මොඩියුල් එක වෙත (-) සම්බන්ධය ලබා දිය හැකි භූගත අන්තය ලෙස මෙය භාවිතා කරනවා.
VCC :- මොඩියුල් එක වෙත 5V විදුලියක් ලබාදීම සදහා මෙම pin එක භාවිතා කරන්නට පුලුවන්.
මේ මොඩියුල් එක මත LED බල්බ් 2ක් තිබෙනවා. ඉන් එකක් මොඩියුල් එකට විදුලිය ලැබුනු විට දැල්වෙනවා. අනිත් බල්බය දැල්වෙන්නේ මොඩියුල් එක හරහා Output එකක් ලැබෙන විටයි. මේවාට අමතරව මොඩියුල් එක මත Sensitive adjustment එකක් තිබෙනවා. මොඩියුල් එකෙහි වැස්සට ඇති සංවේදීතාව මෙය කරකවා වෙනස් කරගන්නට පුලුවන්.(4 රූපය)
5 රූපයේ තිබෙන ආකාරයට පරිපථය සාදා ගැනීමෙන් පසු මෙම code එක type කර ආඩුඊනෝ බෝඩ් එක වෙත upload කරන්න.
/*=============================================
Program : Rain Sensor
Author : YS Presents
=============================================*/
int nRainIn=A5;
int nRainDigitalIn=2;
int nRainVal;
int LED=5;
boolean bIsRaining=false;
String strRaining;
void setup(){
Serial.begin(9600);
pinMode(2,INPUT);
pinMode(5,OUTPUT);
}
void loop(){
nRainVal = analogRead(nRainIn);
bIsRaining = !(digitalRead(nRainDigitalIn));
if(bIsRaining){
strRaining = “YES”;
digitalWrite(LED,HIGH);
}else{
strRaining = “NO”;
digitalWrite(LED,LOW);
}
Serial.print(“Raining?:”);
Serial.print(strRaining);
delay(200);
}
මේ හරහා ලැබෙන ප්රතිදාන විමසා බැලීම සදහා ආඩුඊනෝ ප්රොජෙක්ට් වින්ඩෝ එකෙහි ඇති මෙනු බාර් එකෙන් Tools > Serial Monitor යන්න ලබා ගත යුතුයි. මෙවිට සීරියල් මොනිටර් එකට අදාල වින්ඩෝ එක විවෘත වේ. දැන් එහි Raining?: NO යන්න දැක ගත හැකිවන අතර LED බල්බය නොදැල්වේ. දැන් රේන් සෙන්සර් මොඩියුල් එකෙහි කලෙක්ටර් එක වෙත ජලය ස්වල්පයක් ඉස බැලිය යුතුයි. එවිට සීරියල් මොනිටර් එක මත Raining?: YES ලෙස දැක ගත හැකි අතර LED බල්බය දැල්වේ.
මෙහි පළමු පේළි 6 මගින් Variable 6ක් සකස් කර තිබේ. ඒවාගෙන් පළමු, දෙවනි සහ සිව්වැනි පේළි ලියා ඇත්තේ පිළිවලින් ඇනලොග් පින් එක A5 බවත්, ඩිජිටල් pin එක 2 බවත්, LED එක සවි කර ඇති pin එක 5 බවත් හදුනා ගැනීමටයි.
මෙහි 7 වෙනි පේළියෙන් void setup කොටස ආරම්භ වෙනව. ඒ යටතේ ඇති පේළි 3 ප්රෝග්රෑම් එක ආරම්භ වෙන විටම එක් වරක් ක්රියාත්මක වෙනව. මෙහි 8 වෙනි පේළිය ලියා තිබෙන්නේ සීරියල් මොනිටර් එක භාවිතා කිරීම සදහායි. 9 වෙනි පේලිය මගින් 2 pin එකට Input ලබා ගැනිම සදහා ලියා තිබේ. 10 පේළිය මගින් 5 වෙනි Pin එක Output එකක් බවට පත් කර තිබේ.
කලෙක්ටර් එකට ජලය වැටේ නම් 14 වෙනි පේළිය මගින් ඒ පිළිබදව පරීක්ශා කර බලා YES යන්න strRaining වේරියබල් එකට ඇතුල් කිරීමද, 17 වැනි පේළියේ ඇති else කොටස ක්රියාත්මක වී 18 වෙනි පේළියෙන් NO යන්න strRaining වේරියබල් එක වෙත ඇතුලු කිරීමද සිදු කරයි.
සීරියල් මොනිටර් එක තුල Raining?: යන්න පෙන්වන්නේ 21 වෙනි පේළියේ ලියා ඇති කේතය මගිනි. මෙහි ඇති 22 වෙනි පේළිය මගින් ඉහත strRaining වේරියබල් එකට ඇතුලු කල අගය YES හෝ NO යන දෙකෙන් එකක් ප්රතිදානය කරයි. 16 වෙනි පේලිය මගින් සීරියල් මොනිටර් එකෙහි YES යන අගය ප්රතිදානය වන විටම LED එක දැල්වීම සදහා කේත ලියා ඇත. 19 වෙනි පේලිය මගින් වර්ශාව නොමැති අවස්ථාවල LED බල්බය නිවීම සදහා කේත ලියා තිබේ.
තව එක දෙයක් කියන්නම් මගෙන් ගොඩක් දෙනෙක් comment වලින් වගේම inbox ඇවිල්ලත් අහල තිබ්බ කොළඹින් පිට ඉන්න අයට මේ Arduino Parts ගන්න තැනක් නැද්ද කියල. ඉතින් මන් හිතුව මන් බඩු ගන්න තැන ගැන ඔයාලට කිව්ව නම් ඒක ඔයගොල්ලන්ට පහසුවක් වෙයි කියල.
“Scion Electronics” ( සයන් ඉලෙක්ට්රොනික්ස් ) ඔයාලට Arduino සම්බන්ධ ඕනෙම item එකක් warranty එකක් සහිතව ගන්න පුලුවන් මේ ශොප් එකෙන්. මාලබේ ස්ලිට් කැම්පස් එක ඉස්සරහ වගේම මොරටුව කැම්පස් එක ඉස්සරහත් මෙයාලගෙ shop තියනව. ඔයගොල්ලො පිට පලාතක ඉන්නව නම් ඔයාලට පුලුවන් ගෙදරටම මේ භාණ්ඩ ගෙන්න ගන්න. මෙයාලගෙ Web Site එකේ සියලුම Item ගැන විස්තර තියනව. ( https://scionelectronics.com/ ) වගකීමක් සහිතවම ඔයාලට ඕනෙ කරන Arduino parts ගන්න පුලුවන්
ආඩුඊනෝ ප්රෝග්රෑමිං Part 11 තුලින් නැවත හමුවෙමු.
Compiled by: Yasas Sadeepa