Saturday, December 1, 2012

පස් වන පාඩම


දවස් දෙක තුනක් මගේ මේ වැඩ නිසා මට එන්න බැරි වුනා යාලුවනේ. මොනවා  කරන්නද මගේ වැඩ මම ම කර ගන්න එපැයි. එත් ඔයාලට පෝස්ට් එකක් ලියන්න ආස නැතුව නෙවෙයි. මම බ්ලොග් එක ටිකක් decoration කලා. ගොඩක් අය මගෙන් එක එක දේවල් ඉල්ලනවා. ඒත් මුලින් දැන ගන්න ඕන දේවල් දැන ගෙන ඉමු. නැත්තම් ඒක අලුත් අයට කරන අසාධාරණයක්. තවත් අය ඉන්නවා මේ වගේ දෙයක් කරන කොට බලන්නෙ වපර ඇහෙන්. හිතන්නෙ මේකත් මේ කීයක් හරි හොයන්න කරන ගුන්ඩුවක් කියලා. අපිට ඒවයින් කමක් නෑ.ඕන කෙනෙක් ඕන දෙයක් කියාපුදෙන්. මම මේකට donation button එකක් දැම්මෙ තවත් හොද වැඩකට මුල පුරන්න තමයි. ඒත් ඒ ගැන එච්චර විශ්වාසයක් නෑ. මොකද මේක ලංකාවනෙ.....


මම අද මුලින්ම දෙන්නම් ඔයාලට පොඩි තෑග්ගක්. හැබැයි මේ තෑග්ගට පොඩි උප්පරවැට්ටියකුත් දාලයි තියෙන්නෙ. මම දෙන්නම් ඔයාලට පරීක්ෂණ කරන්න හොද පරිපථ තියෙන වෙබ් අඩවි දෙකක්.තරහ වෙන්න එපා ඔය නිකන් යන එකේ මටත් කීයක් හරි දීලම යන්න. අඩුම ගානෙ අවුරුද්දක් විතර යන කොට මම හිගන්නෙක් වුනොත් බත් මුලක් වත් ගන්න කීයක් හරි එකතු වේවිනෙ..... වෙබ් අඩවි දෙකේ නම් කෙටි කරල තියෙන්නෙ... ඒ උනාට ඔයාලට ගිහාම හිතෙයි මාරයි කියලා.... කලින් මේවට ගිහිපු අය මට කෝචොක් කරයිද මන්දා........


1.         http://adf.ly/Fg54c


2.         http://adf.ly/Fg58X



අද මම සංඛ්‍යා බාවිතය ගැන කථා කරන්නයි සූදානම. ගොඩක් අයට නම් අද පාඩම මහා කම්මැලි එකක් වේවි. ඒත් යන ගමන පිලිවෙලකට යන්න ඕන. අපි computer එකේ වැඩ කරන්නේ ගොඩක් හරිය ඉංග්‍රීසියෙන්.ඒත් මේක ඉංග්‍රීසි දන්නවද? අප්පො නෑ....මොකෝ පණ තියෙන දෙයක්යැ? Computer එක දන්නෙ එකම එක දෙයයි. ඒ එම පරිපථයේ විදුලිය ගමන් කරනවද නැද්ද යන්න විතරයි. එනම් on හා off අවස්ථා විතරයි මේවයෙ තියෙන්නෙ. Digital electronics වල දී මේ අවස්ථා දෙක 1 හා 0 ලෙස නම් කරනවා. මේකට අපි කියන්නේ යාන්ත්‍රික භාෂාවක්(Machine language) කියලා. අපි මයික්‍රොකොන්ට්‍රෝලර් එකක් සමග ගනුදෙනු කරන්නෙත් මේ වගේ සංඛ්‍යා ක්‍රම බාවිතා කරල.
උදාහරණයක් ලෙස මයික්‍රොකොන්ට්‍රෝලරයකට දත්ත ලබා දීමේදී එයට තේරෙන පරිදි දිය යුතුයි. ඒ නිසා අපි මේ සංඛ්‍යා පද්දති ඉගෙන ගන්නම ඕන. අපි මුලින්ම පහත සංඛ්‍යා පද්දති බලමු....  කම්මැලිද මන්දා...
1.       දහයේ පාදය - Decimal

මෙහිදී අපි ගන්නෙ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 යන සංඛ්‍යා 10 පමණයි. මෙහිදී අපි සංඛ්‍යාවක් ලිවීමේදී එම සංඛ්‍යාවේ ස්ථාන සදහා නිෂ්චිත වටිනා කමක් ඇත.අපි 2345 යන සංඛ්‍යාව ගනිමු.




දැන් අපි බලමු දශම සංඛ්‍යාවක කොහොමද අගය ලබා ගන්නෙ කියල. 5.45ගමු. 

2.       දෙකේ පාදය - Binary

මේක තමයි වටිනාම පාදය කිව්වොත් නිවැරදි. ඇයි මම එහෙම කියන්නෙ කියල වැඩ කරන කොට ඔයාලට පැහැදිලි වේවි.මේකෙ තියෙන්නෙ ඉලක්කම් 2යි. ඒ 1 හා 0  විතරයි. ලේසි නේද 2යි නෙ?  උදාහරණයක් විදියට දෙකේ පාදයේ සංඛ්‍යාවක් මේ වගේ....

                                    10110012
අපි දැන් ටිකක් ගැඹුරට යන්නයි යන්නේ. අපි ඉහත සංඛ්‍යාව මෙසේ දක්වමු.


මෙහි වම් පැත්ත MSB(Most Significant Bit) සහ දකුණු පැත්ත LSB(Least Significant Bit) කියල තමයි හදුන්වන්නේ. මෙහි 1 හො 0 යන එක් අවස්ථාවක් bit එකක් ලෙසත් bit 8ක් byte එකක් ලෙසත් bit 4ක් nibble එක්ක ලෙසත් හදුන්වයි.
දැන් අපි බලමු දෙකේ පාදයේ අගයක් දුන් විට එය දහයේ පාදයට හරවන්නේ කොහොමද කියල.(Binary to Decimal). අපි ඉහත අගය 10110012 ම ගනිමු. පහත පියවර අනුගමනය කරන්න.



දශම සංඛ්‍යාවක් නම් මෙහෙමයි.. 101.10012 යන අගය ගනිමු.


දැන් බලමු decimal එකක් binary කරන 

හැටි.මෙන්න මෙහෙමයි....88ම ගනිමු.

අගය වන්නේ = 1011000
                        දැන් දශම සංඛ්‍යාවක් බලමු කොහොමද හරවන්නෙ කියල.5.5625 ම උදාහරණයට ගනිමු.


                                     පූර්ණ සංඛ්‍යාවෙන් ලැබෙන්නේ 101 වේ.දැන් දශම කොටස වන .5625 ගැන බලමු.


                       
                                ඔන්න මම දැන් කොටස් දෙක එකතු කරනවා. 101.10012


3.       අටේ පාදය - Octal
මේකත් අර ක්‍රමේටම තමයි යන්නේ.
දහයේ පාදය අටේ පාදයට හැරවීම

834.34510 යන අගය ගනිමු.
 



එවිට අගය වන්නේ 1502.26058 වේ.

අටේ පාදයේ සංඛ්‍යාවක් දහයේ පාදයට හැරවීම

ඉහත අගයම ගනිමු. එතකොට හොදට තේරෙනවා නේදෝ............................
1502.26058



හරිද මන්දා.........ම් හරිනේ දශමෙ පොඩි පරහක් තියෙනවා. ඒ අපි හරියටම දශම ගත්තෙ නැති නිසා හොදේ.   


අටේ පාදය ද්වීමය සංඛ්‍යාවට පෙරලීම

මෙහිදී සංඛ්‍යාව ඉහත ආකාරයටම ඈත් කරල වෙන් වෙන්ව ලියා ගන්න. දැන් වෙනම එක් එක් සංඛ්‍යාවට අදාල ද්වීමය අගය ලියන්න.දැන් තියෙන්නෙ ඔය ටික ලං කර ගන්න විතරයි යාලුවනේ. ලං කර ගන්න අමාරු නැහැනෙ....මම දන්නවනෙ ඔයාල කොච්චර දෙවල් ලං කර ගෙන ඇත්ද? ඕකත් මහ කජ්ජක්ද........?

මෙන්න උදාහරනෙ...
435.2168 අගය ගමුකො.

 ද්වීමය සංඛ්‍යාවක් අටේ පාදයට හැරවීම

මෙකත් ඉතින් කියන්නම ඕන නිසා කියනවා. නැත්තම් කැතැයි වගේ ..
අපි ගමු වෙන අගයක්.10111011001.001111012යන සංඛ්‍යාව අටේ පාදයට හරවමුකො.
මේක අපි දශම තිතේ ඉදල දෙපැත්තට ඉලක්කම් තුනෙන් තුනට වෙන් කරමු.ඊළගට ඒ කෑලි වෙන වෙනම දහයේ පාදයට හරවනව. දැන් ඉතින් ලං කරනවා. හරිනේ වැඩේ....
බලමුකො උදාහරනේ.......



1.       දහසයේ පාදය - Hexa Decimal

දහසයේ පාදය නම් අනෙක් ඒවට වඩා හරිම වෙනස්. මේකෙ අක්ෂර ක්‍රමේකුත් තියෙනවා. 0 ඉදල 9 වෙනකන් කිසිම අවුලක් නෑ. එත් 10 ඉදල 15 ට වෙනකන් පිලිවෙලට A,B,C,D,E හා F ලෙස තමයි නම් කරල තියෙන්නෙ.

දහයේ පාදය දහසයේ පාදයට හැරවීම

367.23410 යන සංඛ්‍යාව ගනිමු.
පුර්ණ සංඛ්‍යාව මුලින්ම හොදේ....
 




දහසයේ පාදයේ සංඛ්‍යාවක් දහයේ පාදයට හැරවීම

අපි ඉහත සංඛ්‍යාව නැවතත් දහයේ පාදයට හරවමු. එනම් 16F.3BE7 අගය. මෙන්න මෙහෙමයි.


ඔහොම හොදයි නේද යාලුවනේ...?

දහසයේ  පාදයේ සංඛ්‍යාවක් ද්වීමය සංඛ්‍යාවක් බවට හැරවීම

මේ සදහා 5EF.7B16 යන සංඛ්‍යාව ගනිමු.






අම්මො දිගම දිග මහ කම්මැලි හෑල්ලක් නේද? ඒත් ඉතින් මොනව කරන්නද? මේව නොදැන මොන රොබෝලද ? මල්ලියේ සුද්ද හදපුව කොපි කරන්න නෙමෙයි උන්ව උඩ යන්න දැනුම අරන් අලුත් දෙයක් හදපල්ල.... නැත්තම් උන් උන්ගෙ රටේ හදල ගෙනත් හෙන ගහන ගනන් වලට මෙහේ විකුණන දෙයක් උඹල ඊට අඩුවෙන් දෙන්න පුලුවන් විදියට හදපල්ල......එදාට චීනෙ තියා ගෙන චන්ද්‍රිකා හදන්න ඕන නෑ...මෙහේම හදල අපේ අත්ත මුත්තලටත් පේන්න යවන්න පුලුවන් දවසක් උදා කරපල්ල......මම අදට යනෝ....... බුදු සරණයි..


















Monday, November 26, 2012

සිව් වන පාඩම


        දවස් කීපයකට පස්සෙ ඔන්න මම අදත් අවා ඔයාල හමුවට.ඔයාල මමත් එක්ක තරහද මන්ද?  Facebook එකේ comment දාපු අය නම් දන්නව හේතුව. එයාල නම් මට සමාව දේවි. මම අද ටිකක් අමුතු මාර්තුකාවකට යනවා. එකට හේතුව තමයි එදා මම කිව්වෙ රෙජිස්ටර් හැදිල තියෙන්නෙ flip flop වලින් කියලා. ඒත් මුලින්ම මේ බ්ලොග් එක උදව් කර ගන්න අය දන්නෙ නැහැනෙ ඒව මොනවද කියලා. ඒ හින්ද මම හිතුවා අද digital electronics ගැන කියල දෙන්න.
            අපි ඉගෙන ගන්න electronics analog හා digital කියල කොටස් 2කට බෙදෙනවා. Analog කියන්නෙ විද්‍යුත් සංඥාවක් 0 සිට යම් අගයක් දක්වා සන්තතික ලෙස වෙනස් වීමයි. උදාහරණයක් ලෙස 0 සිට 5 දක්වා වෝල්ටීය තාවය වෙනස් වේ නම් එහි 0, 0.5, 1, 1.02, 3, 3.1, 4.9, 5ලෙස 5 දක්වා ඕනෑම අගයක් ගත හැක.
            එහෙත් digital electronics වලදී එසේ නොවේ.එහි ඇත්තේ අගයන් 2ක් පමණි. එනම් on හා off පමණි. 0 ත් 5ත් අතර ක්‍රියා කරයි නම් එහි ඇත්තේ 0ත් 5ත් පමණි.අද කාලයේ ඇති electronics පුනරුදයට බෙහෙවින් digital electronics වල දියුණුව බලපා ඇත.digital electronics වලදී සියලුම දත්ත 1හා 0න් ලබා දෙයි.එනම් එයට ද්වීමය කේත(Binary code) ක්‍රමය බාවිතා කරයි.
                Digital electronics වල මූලික සැකැස්ම තාර්කික ද්වාර (Logic gate) වේ. Digital circuits, IC, micro controllers මෙම gates එකතු වීමෙන් සෑදී ඇත.මෙම gates AND, OR, NOT, NAND, NOR, XOR යනුවෙන් වේ.මේවායෙන් AND, OR හා NOT gates මූලික ඒවා වේ.පහත රූපයෙන් දැක්වෙන්නේ ඒවායේ සංකේතයන් සහ ගණිතමය ස්වරූපයයි.

      මෙම සියලුම ද්වාර NAND gate යොදාගෙන සෑදිය හැක.එහිදී NAND gates කිහිපයක් යොදා ගත යුතුයි.පහත රූපයේ දැක්වෙන්නේ එසේ කරන ආකාරයයි.


දැන් අපි බලමු මේ gates හදන්නේ කොහොමද කියල. ඇත්තෙන්ම මේව හදන්න උපයෝගී කර ගන්නෙ අර්ධ සන්නායකයි (Semi-conductors). මේවාට යොදා ගන්නේ Diode හා transistors වේ.මේ රූපෙ බලන්නකෝ.



මේ ඔක්කොම gates, transistors පමණක් යොදා ගෙන සෑදිය හැක. මේ රූපෙන් පෙන්නෙ ඒක.බලන්නකො....



Digital logic circuits කොටස් 2කි.
                        1. Combinational logic circuits
                        2. Sequential logic circuits
                Combinational logic circuits කියන්නෙ gates යොදා ගෙන ප්‍රතිදානයේ විවිධ වෙනස් කම් කර ගැනීමයි.එහිදී දත්ත ගබඩා කර ගැනීමක් නැත.නමුත් Sequential logic circuits වල Combinational logic circuits එකකට memory elements එකක් සම්බන්ධ කර ඇත.මේක බලන්නකෝ...


       මේ රූපයෙන් දැක්වෙන පරිදි circuit එකට මුලින්ම ලබා දෙන සංඥාව හා memory elements  එකෙහි ඇති දත්තයන් combinational logic circuit එකට ලබා දේ.එම circuit එකෙන් සංඥාව යම් වෙනස් කිරීමක් කරයි. ප්‍රතිදානය ලබා දේ.නමුත් එවිටම එම ප්‍රතිදානය memory elements එකේ ගබඩා කිරීමක්ද කරයි.ඊළග ප්‍රතිදානය ලබා දෙන විට එම ගබඩා කළ දත්තයද උපාකාරී කර ගනු ලැබේ.මෙම ක්‍රියාව චක්‍රයක් ආකාරයට සිදු වේ.මෙහි විශේෂ්‍යත්වය වන්නේ ප්‍රතිදානය සුලු වේලාවක් ගබඩා කර ගැනීමේ හැකියාවයි.මෙම කාලය clock cycle එකක් වේ.මෙසේ සෑදෙන පරිපථ flip flop වේ.මෙම flip flop circuits, gates යොදා ගෙන සැදිය හැක.
            අද නිකන් පාඩම දිග වැඩිද මන්දා....ඒත් කරන්න දෙයක් නෑ. කරන්නම වෙනවා.අපි විවේකයක් ගන්නත් එක්ක මේ සතියෙ මට වුන වැඩක් කියන්නම්.මම ගෙදර යන්න කොළඹ ඉදල ගාල්ලට එන කොට රෑ 10.30යි. බද්දෙගම බස් එක ගිහින්.මගේ අතේ තිබුනේ රුපියල් 40.00යි. මම දැන් කරන්නෙ මොකද්ද කියලා කල්පනා කරන කොට අපේ ගමේ අයියා කෙනෙක් හම්බ වුනා.මට එයා කිව්වා එයාගෙ තාත්ත එනවා බයිසිකලෙන් එයා එක්ක යමු කියලා.මටත් මාර happy. ඔන්න පැයක් විතර යන කොට ආවා.බද්දෙගම ඉදලා ගාල්ලට එන්න පැයක් විතර යනවා.කිලොමීටර් 25ක් විතර තියෙනවා. අනෙක එදා මාර වැස්ස.අර අයියා තාත්තට කිව්වා අපේ පැත්තෙ මල්ලි කෙනෙක් ඉන්නව දාගෙන යමු කියාලා. තාත්ත කියාපි මේකෙ යන්න බෑ මේ රෑ 3 දෙනෙක් දා ගෙන ගිහින් මොනවා හරි වුනොත් අපිත් කොට උඩ කියලා. මොනවා කරන්නද මම ඒ අයියාට යන්න කියලා.මිනිහටත් හිතට අමාරුයි.මම පයින් එනවා කියලා හිතා ගෙන පයින් ආවා.හැබැයි මාව බයිසිකල් 2කින් සැලකිය යුතු දුරක් එක්ක ආවා. ඒ අයට මගේ ප්‍රණාමය.කොහොම වුනත් ගෙදර එන කොට උදේ 2.30යි.මොනවා කරන්නද මිනිස්සු විවිධාකාරයි නේද?
            ආ දැන් ආයෙ පාඩමට එමු......
            අපි flip flop ගැනනෙ කථා කලේ. Flip flop තියෙනවා වර්ග ගානක්. පහත රූපය බලන්නකෝ.


පහත රූප සටහනෙන් එම flip flop වල කාර්යය හා gate වලින් ඒවා නිර්මාණය වන ආකාරය දැක්වේ.හොදට බලා තේරුම් ගන්න බලන්න.





මෙම රූප ටික හොදට බලල එන ගැටලු මට කමෙන්ට් කරන්න.අනිවාර්යෙන් ගැටලු එන්න ඕන.නැත්තම් නිකන් මේක කියවලා වැඩක් නෑ. Touch එකේ ඉන්නවා කියන්නෙ එකට.
            අදට එහෙනම් මම මේක අවසන් කරනවා. හැබැයි ඉක්මනට අයෙ මම එනවා.හොදට මේ ටික study කරන්න.එහෙනම් මම ගියා....හැමොටම බුදු සරණයි...