Arduino පාඩම 3 - LDR හා Variable resistor මගින් ලැබෙන දත්ත Serial monitor තුලදී කියවීම.

7:58 AM

Arduino එකට බාහිරින් input ලබාදිය යුතු අවස්ථාවලදී ඒ සඳහා  විවිධ උපකරණ යොදාගැනීමට සිදු වනවා, input ලබාදීමේදී ඒ සඳහා අවශ්‍ය කරන උපකරණ කරනු ලබන නිර්මාණය අනුව වෙනස් වනවා. input ලබාදීමේදී වඩාත් ප්‍රයෝජනවත් වන උපකරණ දෙකක් වශයෙන් LDR හා Variable resistor හැදින්විය හැක.
LDR හා Variable resistor යන ද්විත්වයම වෙනස් වන විද්‍යුත් ප්‍රතිරෝධ සහිත උපාංගයි. එනම් එවැනි ප්‍රතිරෝධයකට අවම ප්‍රතිරෝධය ලෙස 0 ohm ද උපරිම ප්‍රතිරෝධය ලෙස එහි සදහන් වන ප්‍රතිරෝධය ද ලබා දිය හැකි අතර Variable resistor එකක් නම් එය කැරකැවීමෙන් ඒ අතර මැද අගයක් ඇති ප්‍රතිරෝධයකුත් LDR එකක් නම් ඒ මතට වැටෙන් ආලෝකයේ තීව්‍රතාව වෙනස් කිරීමෙන් ඒ අතර මැද අගයක් ඇති ප්‍රතිරෝධයකුත් ලබාදිය හැක.

කෙසේ වෙතත් LDR එකක් නම් බොහෝවිට එහි අවම ප්‍රතිරෝධය 0 ohm හා උපරිම ප්‍රතිරෝධය අනන්තය ලෙස සදහන් වනවා. LDR එකමතට වැටෙන් ආලෝකයේ තීව්‍රතාව (එළිය) වැඩිවත්ම එහි ප්‍රතිරෝධය අඩු වන  අතර ආලෝකයේ තීව්‍රතාව අඩුවත්ම එහි ප්‍රතිරෝධය වැඩිවේ.

මෙහිදී මම බලපොරොත්තු වන්නේ LDR\Variable resistor මගින් ලැබෙන දත්ත Serial monitor තුල ප්‍රින්ට් කිරීමයි.  ඒ සදහා Serial Print භාවිතා කිරීම කිරීම පිළිබඳව සලකා බලමු.

Serial Print භාවිතා කිරීම.

Serial monitor තුල යමක් ප්‍රින්ට් කිරීමට අදාල මූලික කෝඩ් එක පහත පරිදි වේ.

void setup() {
Serial.begin(9600);
}
void loop() {
 Serial.println(අගය හෝ වැකිය);
}

 setup කොටස තුල ලියා ඇති Serial.begin(9600); යන්නෙන් කෙරෙන්නේ වැඩසටහන  ආරම්භයේදීම Serial communicaton ආරම්භ කරන අතර එහි වේගය තත්පරයට bit 9600 ලෙස සැකසීමයි.

Serial communicaton මගින් Arduino එක USB මාර්ගයෙන් computer එකහා සම්බන්ධ කර වෙනත් වැඩසටහනක් මාර්ගයෙන් පාලනය කල හැකි අතර වෙනත් Serial communicaton සදහා සහය දක්වන වෙනත්  module/shield හා සම්බන්ධ කර ඒව අතර සන්නිවේදන මාර්ගයක් ගොඩනගා ගැනීමට උපකාරීවේ. එසේම Serial monitor එක හරහා විවිධ Output ප්‍රින්ට් කරගත හැකි අතර Arduino වෙත Input ලබාදීමද මේ හරහා සිදුකර ගත හැක.

මෙහි loop කොටස තුල ලියා ඇති Serial.println(අගය හෝ වැකිය); කෙරෙන්නේ Serial monitor තුල ඔබ ලබාදෙන අගය හෝ  වැකිය පේලියෙන් පේලියට පහලට ප්‍රින්ට් කිරීමයි.


Serial monitor තුල අගයක් print කිරිම.

මෙහි Serial monitor තුල 300 යන්න print කිරිමට අවශ්‍ය යැයි සිතමු. ඒ සදහා කෝඩ් එක පහත පරිදි වේ.

void setup() {
Serial.begin(9600);
}
void loop() {
 Serial.println(300);
}

මෙහිදී loop එක ක්‍රියාත්මක වන වාරයක් පාසා 300 යන්න ප්‍රින්ට් වේ.


Serial monitor වචනයක් අගයක් print කිරිම.

මෙහි Serial monitor තුල Computer යන්න print කිරිමට අවශ්‍ය යැයි සිතමු. ඒ සදහා කෝඩ් එක පහත පරිදි වේ. මෙහිදී වඩාත් සැලකිලිමත් විය යුතු කරුන වන්නේ වචනයක් හෝ වැකියක් ප්‍රින්ට් කරන විට එය "" සලකුණු තුල ලිවීමයි.

void setup() {
Serial.begin(9600);
}
void loop() {
 Serial.println("Computer");
}

මෙහීදි Serial.println("Computer"); ලෙස ලියා  ඇති නිසා Computer යන්න පහලට ප්‍රින්ට් වේ.

නමුත් මෙහිදී Serial.print("Computer"); ලෙස ලියුවහොත්  Computer යන්න ඉදිරියට ප්‍රින්ට් වේ.


Circuit Diagram



Arduino Code

ඉහත පරිදි circuit (දෙකෙන් ඕනෑම එකක්) එක සදාගැනීමෙන් පසු පහත කෝඩ් එක ලියා Ardunio වෙත Upload කරන්න. Circuit Diagram දෙකටම කෝඩ්  එක පහත පරිදි වේ.

void setup() {
Serial.begin(9600);
}
void loop() {
 Serial.println(analogRead(A0));
}

 setup කොටස තුල ලිaයා ඇති Serial.begin(9600); යන්නෙන් කෙරෙන්නේ වැඩසටහන  ආරම්භයේදීම Serial communicaton ආරම්භ කරන අතර එහි වේගය තත්පරයට bit 9600 ලෙස සැකසීමයි.
මෙහි loop කොටස තුල ලියා ඇති Serial.println(analogRead(A0)); කෙරෙන්නේ Serial monitor තුල A0 පින් එකෙන් ලැබෙන අගයන් ප්‍රින්ට් කිරීමයි.

මෙහිදී data input pin එක ලෙස analog pin එකක් භාවිත කර  ඇත්තේ LDR හා Variable resistor යන දෙකටම උපරිම හා අවම අගයන්ට අමතරව ඒ අතර පරාසයේ විචලනය වන ප්‍රතිරෝධ අගයන් ඇති නිසාය. එවිට වෝල්ටීයතාව 0 හා 5 පමණක් නොව 0 හා 5 අතර වන අනෙක් අගයන්ද ලැබේ. එවිට එම අගයන් කියවීම සදහා analog pin එකක් යොදා ගත යුතුය.


කෝඩ් එක Upload කල පසුව Serial monitor  එක විවෘත කර අදාල අගයන් බැලිය හැක.

Share this

Related Posts

Previous
Next Post »

7 comments

Write comments
August 26, 2016 at 8:45 AM delete

patta :D digatama karagena yamu (y)

Reply
avatar
saman
January 7, 2019 at 1:39 PM delete

Dear Serial.println(analogRead(A0));
Hear "print?n" I means before "n" one(1) or simple L (l) can explain my dear?

Reply
avatar
October 11, 2021 at 11:32 PM delete

Esp32 gana tutorial ekak start karamuda brother...

Reply
avatar

ඔයාලගේ අදහස් උදහස් තමයි අපිව දිරිගන්වන්නෙ෴ EmoticonEmoticon