Arduino එකෙන් ලැබෙන දත්ත C# වැඩසටහනක් හරහා ලබාගැනීම


ආයුබෝවන් යාලුවනේ, අද ළිපියෙන් ඔයාලට අරගෙන එන්නෙ Arduino එක භාවිතා කරලා C# මඟින් නිර්මාණය කරන ලද මෘදුකාංගයකට ආදාන, විධාන ලබා දෙන ආකාරය. C# කියන්නෙ මොකක්ද කියලවත් දන්නෙ නැති අය මේ පාඩම් ටික කියවලා බලන්න - Link. හරි යාලුවනේ එහෙනම් වැඩ පටන් ගමු.
මෙහි ක්‍රියාකාරීත්වය ගැන කිව්වොත් Arduino හී Serial.Print හරහා Serial port එකට ලබා දෙන ප්‍රතිදානය C# මෘදුකාංගයකට ආදානය කරගෙන (String එකක් විදියට) මෘදුකාංගය ක්‍රියාත්මක වෙනවා. ඉතින් Arduino එකෙන් ලබගන්නා නානාප්‍රකාර Analog,Digital input සියල්ලගේම දත්ත Serial.Print හරහා C# මෘදුකාංගයකට යවන එකයි කරන්නෙ.

අපි මුලින්ම Arduino එකට Code එකක් ලියාගන්න ඕනා Serial.Print හරහා යමක් ප්‍රතිදානය කිරීමට. මෙයට කදිම උදාහරණය තමයි අපි Serial Monitor එක අත්හදාබැලීමට භාවිතා කරපු මේ කේතය Link . දැන් ඒක Arduino එකට Upload කරගන්න. හදිසියට LDR එකක් හොයාගනන් නැත්නම් විචල්‍ය ප්‍රතිරෝධකයක් අමුණාගන්න LDR එක වෙනුවට. නැත්නම් ඉතින් පොඩි Delay එකක දාලා Serial.Print එකේ මොනාහරි Print වෙන්න දාන්න.

එහෙනම් යාලුවනේ C# මෘදුකාංගයෙ වැඩ ටික තමයි දැන් තියෙන්නෙ, New Project එකක් විවෘත කරලා පහත ආකාරයෙන් List Box එකක් සහ Button දෙකක් සහිත Form එකක් තනාගන්න.


පසුව Tool Box එකෙහි ඇති Serial Port එකක් එකතු කරගන්න ඒ මත Double Click කර.

හරි දැන් C# Code එක පටන් ගමු. මුලින්ම මේ කොටස ඇතුත් කරන්න Code එකට.
using System.IO.Ports;
පසුව
private delegate void LineReceivedEvent(string line); 
කේතයත් ඇතුලත් කරන්න.

දැන් Connect Button එක මත Double Click කර පහත කේතය ඇතුලත් කරන්න.


මෙහි COM1 යනුවෙන් හඳුන්වා ඇති ස්ථානයට Arduino එක සම්බන්ඳ කර ඇති Serial Port එකේ Name එක ලබා දෙන්න.

දැන් Disconnect Button එකට පහත කේතය ලබා දෙන්න.
දැන් serialPort1_DataReceived නම් Event එක මත Double Click කරන්න.
ඉන් පසුව පහත කේතය ඇතුලත් කරන්න.
Code එකේ වැදගතම කොටසට තමයි යාලුවනේ අපි දැන් එන්නෙ, ඒ සඳහා පහත කේතය ඇතුලත් කරන්න.
private void LineReceived(string line)
        {


        }
කොටසෙහි { } වරහන් තුළ ලියන කේත ක්‍රියාත්මක වන්නේ Arduino එක හරහා C# මෘදුකාංගයට යම් විධානයක් ලැබුණු විට පමණි.
එම විධානය Line නම් විචල්‍යකට ආදේශ කරගන්න අතර ඉහත කේතය මඟින් ඔබට එය දැකගත හැක. ඒ අනුව Listbox එකට එම Line ලෙස ලැබෙන විධාන සියල්ලම එකතු වේ.
දැන් තියෙන්නෙ යාලුවනේ කේතය අත්හදා බලන්න.

පහතින් තිබෙන්නේ එලෙසින් ලබාගන්නා Arduino ප්‍රතිධාන මඟින් ක්‍රියාත්මක වීමට මා විසින් නිර්මාණය කරපු මෘදුකාංගයක්. මෙවැනි මෘදුකාංග ඔබටත් නිර්මාණය කරන්න පුලුවන් මෙම පාඩම් Link පරිශීලණය කිරීමෙන්. එමෙන්ම අන්තර්ජාලයේ උපකාරය ඇතුව නොදන්නා C# කේත සොයාගැනීමට අවස්ථාව තිබියදී එයින් වැඩක් ගැනීම ඔබේ වගකීමක්.
මේ ගැන කිව්වොත් GSM තාක්ශණය ඔස්සේ සම්ප්‍රේශණය වන ජල ටැංකි දෙකක ජල මට්ටම, ඒවායෙහි මෝටර් වල ක්‍රියාකාරීත්වය වෝල්ටීයතාවය වැනි විස්තර Arduino Server එකකින් ලබාගෙන එම දත්ත තොරතුරු බවට හරවා පරිගණකයෙන් Display කරන එකයි වෙන්නෙ. ඉතින් මේ පද්ධතියෙ C# Code එක, Database එක කරේ මම, ඔය වැඩ කරන්නෙ මම හදපු සොෆ්ට්වෙයා එක.
දැනට මෙය ඉන්දියාවේ Water Saviours නම් ස්ථානයක ක්‍රියාත්මක වේ

7 comments:

  1. Code එක දාද්දි මෙන්න මේ HTML code එකේ දාන්න.
    http://www.datafilehost.com/d/670cf730

    ReplyDelete
    Replies
    1. බොහොම ස්තූතියි මාත් හොය හොය හිටියෙ ඔය වෙබ් සයිට් වල ලස්සනට code දාන script එක

      Delete
    2. The file you are trying to access does not exist. කියලා එනවා ඔය link එකේ

      Delete
  2. මෙන්න මේකෙ බලන්න.
    http://www.mediafire.com/download/e7gs4pvft0g7mm5/code.txt

    ReplyDelete
  3. private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {
    string line = serialPort1.ReadLine();
    this.BeginInvoke(new LineRecivedEvent(LineRecivedEvent));
    }



    me code eke errer eka mokakda?

    ReplyDelete
    Replies
    1. පේන්න නම් error එකක් නැහැ සම්පූර්ණ code එක දාන්න පුලුවන්ද?

      Delete