January 6, 2019

ආර්ඩුඊනෝ පාඩම 1 : LCD තිරයක් එක්ක වැඩ

                             ආර්ඩුඊනෝ  ගැන මුල ඉඳලා අකුරෙන් අකුර කියල දෙන්න ගියොත් අලුත් දේවල් කියල දෙන්න ගොඩක් කල් යනවා. කොහොමත් ආඩුඊනෝ පටන් ගන්න හැටි, ඒ ගැන හැඳින්වීම් ලිපි  ඕනෙ තරම් හොයාගන්න පුළුවන්. ඒ නිසා මැද හරියකින් පටන් ගන්න හිතුවා. මේ ලිපිය ආඩුඊනෝ වලදී LCD තිරයක් භාවිතා කරන හැටි ගැනයි.

ඕනි කරන දේවල්

  • Arduino UNO x 1
  • 2x16 LCD x 1
  • 1K x 1
  • 220 ohm resistor x 1
  • 10K VR x 1
  • Breadboard (Project Bord)
  • Jump wire

2x16 LCD එක ගැන
              ආර්ඩුඊනෝ වලදී මේකට ගන්නේ Hitachi HD44780 කියන driver එකට (ඒ ගැන කලබල වෙන්න එපා ) ගැලපෙන LCD. මේ ප්‍රොජෙක්ට් එකට ගන්නෙ 2x16 LCD එකක් (ඒ කියන්නෙ කොටු 16යේ පේලි 2 ක් තියන ඩිස්ප්ලේ එකක්). මේ ඩිස්ප්ලේ එකට අග්‍ර 16ක් තියෙනවා. ඒ ගැන සරලව පහලින් තියෙනවා (මේක දැම්මෙ වැඩිදුර දැන ගන්න) .
 Pin No
 Function
 Name
1
Ground (0V)
Ground
2
Supply voltage; 5V (4.7V – 5.3V)
 Vcc
3
Contrast adjustment; through a variable resistor
 VEE
4
Selects command register when low; and data register when high
Register Select
5
Low to write to the register; High to read from the register
Read/write
6
Sends data to data pins when a high to low pulse is given
Enable
7
8-bit data pins
DB0
8
DB1
9
DB2
10
DB3
11
DB4
12
DB5
13
DB6
14
DB7
15
Backlight VCC (5V)
Led+
16
Backlight Ground (0V)
Led-

පරිපථය

         මේ විදිහට ප්‍රොජෙක්ට් බෝඩ් එකක උපාංඟ ටික එකලස් කරගන්න. 2x16 LCD ඩිස්ප්ලේ එකේ ඩේටා ෂීට් එක ඕනි නම් මෙතනින් ගිහින් ගන්න පුළුවන් ඒක.

වැඩසටහන

const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;

LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
  // set up the LCD's number of columns and rows:
  lcd.begin(16, 2);
  // Print a message to the LCD.
  lcd.print("hello, world!");
}

void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  lcd.setCursor(0, 1);
  // print the number of seconds since reset:
  lcd.print(millis() / 1000);
}

              මේක තමයි LCD ඩිස්ප්ලේ එක වැඩ කරවන්න Arduino වල Run කරන්න පුළුවන් ලේසිම වැඩසටහන. Arduino IDE එක ඩවුන්ලෝඩ් කරගෙන නැත්නම් මෙන්න මෙතනින් ගිහින් online editor එකෙන් වැඩ කරන්න පුළුවන්.

                                            මේ වැඩසටහනේදි rs, en, d4, d5, d6, d7 විදිහට int veriable 6ක් තියෙනවා. ඒවායින් LCD එක වැඩකරන්න ඕනි signal යවන්න ඕනි Arduino bord එකේ අග්‍ර හදුන්වලා තියෙනවා. ඒ කියන්නේ උදාහරණයක් විදිහට LCD එකේ Enable පින් එකට bord එකේ 11 පින් එක en = 11 විදිහට තියෙනවා. ඊළඟට LiquidCrystal lcd() කියන Constructor එකට මේ veriable 6 පිළිවෙලින් RS pin on the LCD,RW pin on the LCD,enable pin on the LCD, Data pin1,Data pin2,Data pin3,Data pin4 විදිහට දෙන්න ඕනි.veriable 6ක් වෙනුවට ඕනි නම් මේක LiquidCrystal lcd(12, 11, 5, 4, 3, 2); කියලා ගන්නත් පුළුවන්.
                              void setup() කොටසේදි තියෙන පළවෙනි lcd.begin() කියන කොටසෙන් තිරයේ දත්ත පෙන්නන ඕනි පේලි ගණනයි තීරු ගණනයි තෝරන්න ඕනි { lcd.begin(cols, rows) }. මේ LCD එක 16x2 නිසා lcd.begin(16,2) විදිහට දෙන්න ඕනි. lcd.print() වලින් අපිට ඩිස්ප්ලේ කරන්න ඕනි දත්ත දෙන්න පුළුවන්. lcd.setCursor() කියන එකෙන් අපිට ඕනි තැනට cursor එක ගෙනියන්න පුලුවන්. { lcd.setCursor(cols, rows) } 
       මෙතන ලියලා තියෙන්නේ LCD එකෙන් කරන්න පුළුවන් බොහොම සරල වැඩක් විතරයි. මීට වඩා ගොඩක් වැඩ කරන්න පුළුවන්.ඒකට උනන්දුවක් වෙන විදිහට LCD එකෙන් දාන්න පුළුවන් වැඩක් තියෙන file එකක් දෙනවා. මේ ෆයිල් එක ඩවුන්ලෝඩ් කරලා Arduino එකට upload කරලා බලන්න කොහොමද කියලා. ගැටළු තියෙනවනම් අහන්න පුළුවන්.

  • ඩවුන්ලෝඩ් කරගන්න මෙතනින්- 2KB (zip file)

13 comments :

  1. අන්න හරි මල්ලි ඔහොම යං.
    හැබැයි මට තාම ඩිස්ප්ලේ එකේ කූරු ටික පාස්සගන්න බැරි උනා.

    ReplyDelete
    Replies
    1. අනේ නිකං හිටහං ප්‍රසා... බැරි බෙර ගරන්ඩ යන්නැතුං 😂😂

      Delete
    2. @Praසන්ன අනේ බොලේ තාම බැරි වුණාද? හරියන්නෑ වැඩේ මං හරි හොයලා ගෙනත් දෙන්නං

      Delete
    3. @Mahesh ආර්ඩුඊනෝ බෝඩ් එක දරුවට කියලා ගෙනාවේ. දැන් තාත්තා වැඩ
      හැක්!

      Delete
  2. මට පරිගනකය දුරස්ථ පාලකයකින් පාලනය කරගන්න අවශ්‍යයි. ඊයේ රිමෝට් එකකුයි. සෙන්සර් එකකුයි ගෙනාවා. මේකට අවශය මෘදුකාංගයක් හොයලා දෙන්න සෙන්සර් එක සම්බන්ධ කරන ආකාරය පැහැදිලි කරන්න අග්‍ර මාරු වුනොත් සෙන්සරය පිච්චෙනවද?

    ReplyDelete
    Replies
    1. උදව් කරන්න පුළුවන් වේවි ජගත්. මොකද්ද සෙන්සර් එක?

      Delete
    2. පිටිපස්සේ LFN කියලා තියෙනවා. වෙන මොන විස්තරයක්වත් නෑ.

      Delete
  3. https://www.techsayura.com/p/contact-us.html
    මේ ලිංක් එකෙන් ගිහින් මට email එකක් එවන්න. මම උදව් කරන්නම්

    ReplyDelete
    Replies
    1. @jagath pathirana ඊ-මේල් එකක් එව්වා. බලලා ගැටළු තියෙනවානම් කියන්න

      Delete
  4. හුගක් හොද වැඩක්.. එකෙන්ම උදව් කරනවා මම ඔයාට

    ReplyDelete
  5. මේ මම දැනට කරන් යන වැඩේ. පටු අරමුනකට නෙමෙයි ලින්ක් එක දාන්නෙ....
    https://www.youtube.com/channel/UCoDVifM2e_7GDG5RLaebYqQ

    www.robolokaya.lk

    ReplyDelete
    Replies
    1. චැනල් එක හොදයි. දිගටම කරමු..!

      Delete

එකතුවෙන්න...

 
         
 

tech එකේ ඉන්න අය

Contact Form

Name

Email *

Message *

ජනප්‍රිය ලිපි

ආව ගිය අය

page visitor counter

ලිපි කියවා ඇති ගණන

tech සයුර Copyright © 2014 - All rights reserved.