Sunday, December 1, 2024

ක්‍රමලේඛනය : නීති, අවුල් සහ විචල්‍ය. – 2 කොටස.

 

ක්රමලේඛනය : නීති, අවුල් සහ විචල්ය. – 2 කොටස.
-

විචල්‍යයන් අවබෝධ කර ගැනීම.
(Understanding Variables: From Concept to Reality)
-

පළමු කොටසේදී, අපි ව්‍යාකූලත්වයට පිළිවෙලක් ගෙන ඒමට උපකාර වන නීති ලෙස විචල්‍යයන් ගවේෂණය කළෙමු. දැන්, විචල්‍යයන්ගේ සැබෑ ලෝකයට කිමිදීමෙන් න්‍යාය සහ ප්‍රායෝගිකත්යව අතර පරතරය පියවමු. විචල්‍යයන් මතකය, ඉලෙක්ට්‍රොනික, සහ අවසානයේ දෘඪාංග හැසිරීම් බවට පරිවර්තනය වන ආකාරය තේරුම් ගැනීමට අපි Arduino අපගේ ක්‍රීඩා පිටියක් ලෙස භාවිතා කරන්නෙමු.

-

Arduino වල ඇති Variables මොනවාද?
-

Arduino වලදී, විචල්‍යයක් යනු අපි දත්ත ගබඩා කිරීමට භාවිතා කරන මයික්‍රොකොන්ට්‍රෝලර් මතකයේ වෙන් කර ඇති කුඩා ඉඩකි. මෙම දත්ත අංකයක්, අකුරක් හෝ අක්ෂර මාලාවක් විය හැක. ඔබ ඔබේ කේතයේ විචල්‍යයක් ප්‍රකාශ කරන විට, ඔබ සිදු කරන්නේ ක්ෂුද්‍ර පාලකයේ මතකයේ තැනක් වෙන් කරවා ගැනීමයි. -

දෘඪාංග මට්ටමින් විචල්‍ය ක්‍රියා කරන ආකාරය.
-

මතකය සෑදී ඇත්තේ ට්‍රාන්සිස්ටර නම් කුඩා ස්විච බිලියන ගණනකින් වන අතර ඒවා [ක්‍රියාත්මක (1)] හෝ [අක්‍රිය (0)] විය හැක.

-

බයිට් 1 = බිටු 8, එනම් කුඩා ස්විච 8 ක් එම මතකයේ තනි බයිටයක් පාලනය කරයි. -

ඔබ විචල්‍යයක් සඳහා මතකය වෙන් කරන විට, ඔබ දත්ත ගබඩා කිරීම සඳහා නිශ්චිත ට්‍රාන්සිස්ටර සංඛ්‍යාවක් වෙන් කරන ලෙස දෘඪාංගයට කියයි.

-

උදාහරණ වශයෙන්:
-
int myNumber = 25; වැනි විචල්‍යයක් ප්‍රකාශ කිරීම යනු , Arduino හි දෘඪාංග මතකයේ බයිට් 2ක් (බිට් 16ක්) වෙන් කර එය 25 අගය ද්විමය ආකාරයෙන් නිරූපණය වන ලෙස වින්‍යාස කිරීමයි: 00000000 00011001.
-
සැබෑ ලෝකයට විචල්‍ය සම්බන්ධ කිරීම.
-

1. මතකය ගැන අදහසක් ලබා ගැනීම.

යෝධ ලොකර් ජාලයක් සිතන්න, සෑම ලොකරයක්ම බයිට් 1ක් නියෝජනය කරයි. ඔබ ප්‍රකාශ කරන සෑම විචල්‍යයක්ම එහි ප්‍රමාණය අනුව ලොකර් එකක් හෝ වැඩි ගණනක් වෙන් කරයි. -

උදාහරණ වශයෙන්:

boolean flag = true; ලොකර් 1ක් වෙන් කර ඇත.[8 bits]

int number = 100; ලොකර් 2 ක් වෙන් කර ඇත.[16 bits]

long largeValue = 100000; ලොකර් 4 ක් වෙන් කර ඇත.[32 bits] -

2. දෘඪාංග ඉදිරිදර්ශනය
-

Arduino මතකය ඇතුළත:
-

බයිටයේ සෑම බිට් එකක්ම කුඩා ට්‍රාන්සිස්ටරයකි. -

ඔබ විචල්‍යයකට අගයක් ලබා දෙන විට, ඔබ මෙම ට්‍රාන්සිස්ටර [ON (1)] හෝ [OFF (0)] අවස්ථාවට සකසයි.

-

උදාහරණයක් ලෙස, බයිට් විචල්‍යයකට 5 පැවරීම ට්‍රාන්සිස්ටර 8ක් 00000101 යන අගය නියෝජනය කිරීමට සකසයි. -

සැබෑ ලෝක උදාහරණය
-

ඔබ උෂ්ණත්වය මැනීමට Arduino සමඟ ඩිජිටල් උෂ්ණත්වමානයක් ගොඩනඟන බව කියමු: -

විචල්‍ය ප්‍රකාශ කරන්න

float temperature; // For storing temperature readings

int readingCount; // Number of readings taken

boolean alert; // Whether an alert is active -

මතක සංචිතය:

Float නමැති විචල්‍යයේ උෂ්ණත්වය නිරවද්‍යව ගබඩා කිරීමට බයිට් 4ක් ගතවේ (උදා: 22.35°C). -

int readingCount සම්පූර්ණ සංඛ්‍යා සඳහා බයිට් 2ක් ගනී. -

boolean ඇලර්ට් එක බයිටයක් ගනී, නමුත් එයට අවශ්‍ය වන්නේ තනි බිට් එකක් පමණි.

-

එය අභ්‍යන්තරව ක්‍රියා කරන ආකාරය.
-

වැඩසටහන අගයන් ගබඩා කිරීමට සහ නැවත ලබා ගැනීමට මතක ලිපින භාවිතා කරයි. -

උෂ්ණත්වය = 22.35 නම්, එය බයිනරි අගයකින් byte 4 ක් භාවිතා කොට ගබඩා වේ. -

ක්ෂුද්‍ර පාලකයේ CPU එක එම අගය කියවා, එය ක්‍රියාවට නංවා, තර්කනය සඳහා භාවිතා කරයි (අවවාදයක් සක්‍රිය කිරීම වැනි).

-

මතකයේ කුමක් සිදුවේද?
-

ඔබ විචල්‍යයක් වෙන් කරන විට:
-

Arduino RAM හි නිශ්චිත ඉඩක් වෙන් කරයි. -

CPU එක මතකයේ ඇති අගයන් ලබා ගැනීමට හෝ වෙනස් කිරීමට මතක ලිපිනය යොමු කරයි. -

විදුලි ස්විච (ට්‍රාන්සිස්ටර) දත්ත ගබඩා කිරීම සඳහා ඒවායේ තත්ත්වය වෙනස් කරයි.

-

උදාහරණයක් ලෙස, බූලියන් විචල්‍යයකට ට්‍රාන්සිස්ටර 1ක් පමණක් භාවිතා කළ හැකි නමුත්, මතක පෙළගැස්වීමේ නීති හේතුවෙන් එය තවමත් බයිට් 1ක් (ට්‍රාන්සිස්ටර 8ක්) වෙන් කර ගනී. -

විචල්‍යයන් තේරුම් ගැනීම වැදගත් වන්නේ ඇයි?

විචල්‍ය ප්‍රමාණ දැන ගැනීම ඔබට මතක භාවිතය ප්‍රශස්ත කිරීමට උපකාරී වේ, විශේෂයෙන් Arduino වැනි සම්පත් සීමා සහිත පරිසරයන් තුළ. -

උදාහරණ: 0-255 අතර අගයන් ගබඩා කිරීම සඳහා int වෙනුවට byte භාවිතා කිරීම මතකය සුරකියි.
-

වැදගත් කරුණක් වන්නේ : Variables යනු දත්ත හැඩ කරන නීති බව. -

ක්‍රමලේඛනයේදී, දත්ත ගබඩා කිරීම, ලබා ගැනීම සහ හසුරුවන්නේ කෙසේද යන්න නිර්වචනය කිරීමට විචල්‍යයන් නීති ලෙස ක්‍රියා කරයි. -

පහළ මට්ටමේ දී, ඒවා මතකයේ සැබෑ භෞතික සංරචක නියෝජනය කරයි - තොරතුරු සංකේතනය කිරීමට ට්‍රාන්සිස්ටර සක්‍රිය හෝ අක්‍රිය කරයි.

-

කුතුහලය දනවන මනස සඳහා ව්‍යායාම.
-

ඔබගේ Arduino පුවරුවභාවිතා කර පහත දෑ උත්සාහ කරන්න:

-

විවිධ වර්ගවල විචල්‍ය ප්‍රකාශ කර ඒවායේ මතක භාවිතය මුද්‍රණය කරන්න. -

int a = 10;

float b = 3.14;

char c = 'A';

boolean d = true; -

ඒවායේ වර්ග වෙනස් කරන්න (උදා: int to byte) සහ එය මතක භාවිතයට බලපාන ආකාරය නිරීක්ෂණය කරන්න. -

මෙම බයිට් ක්ෂුද්‍ර පාලකයේ මතකයේ භෞතිකව ගබඩා වන්නේ කෙසේදැයි සිතන්න. -

දෘඪාංග මට්ටමින් විචල්‍යයන් මතකය සමඟ අන්තර්ක්‍රියා කරන ආකාරය අවබෝධ කර ගැනීම, ඔබ උෂ්ණත්වමානයක් හෝ සංකීර්ණ රොබෝවක් ගොඩනඟන්නේ වුවද, කාර්යක්ෂම සහ ප්‍රශස්ත වැඩසටහන් ලිවීමට වුවද ඔබට හැකියාව ලබා දෙයි. 🎛️ දිගටම අත්හදා බැලීම් කරමින් තිත් සම්බන්ධ කරන්න! -

තාමත් අපේ group එකේ නැත්තන් group එකට සෙට් වෙන්න :

https://www.facebook.com/groups/paperclipx

මේ group එකේ දාන දේවල් හොඳයි කියල හිතෙනවනම් ඕගොල්ලොන් ගේ යාලුවන්වත් group එකට එකතු කරන්න !



No comments:

Post a Comment