“ “Microcontroller එකක් ඉගෙනගැනීමේ සැබෑ වටිනාකම LED එකක් දැල්වීම නොව, සැබෑ ලෝකයේ තොරතුරු ලබාගෙන ඒ අනුව යන්ත්රයකට තීරණයක් ක්රියාත්මක කිරීමට හැකි පද්ධතියක් නිර්මාණය කිරීමට ඉගෙනගැනීමයි.” ”
අද අප භාවිතා කරන washing machine එකක සිට motor vehicle එකක්, drone එකක්, smart home system එකක්, industrial machine එකක් හෝ medical monitoring device එකක් දක්වා බොහෝ electronic systems තුළ අපට නොපෙනෙන කුඩා පරිගණක පද්ධති ක්රියාත්මක වේ.
මේවායේ හදවත ලෙස බොහෝ අවස්ථාවල Microcontroller එකක් භාවිතා වේ.
Microcontroller එකක් කියන්නේ මොකක්ද?
Microcontroller එකක් යනු කුඩා electronic system එකක් පාලනය කිරීමට නිර්මාණය කළ programmable integrated circuit එකකි.
සරලව කිව්වොත්,
Input එකක් ලබාගන්නවා.
ඒ input එක program එකකට අනුව process කරනවා.
ඊට පස්සේ අවශ්ය output එකක් ලබාදෙනවා.
මෙය microcontroller system එකක මූලික සංකල්පයයි.
INPUT → PROCESS → OUTPUT
උදාහරණයක් බලමු.
Temperature sensor එකකින් උෂ්ණත්වය ලබාගන්නවා.
Microcontroller එක ඒ අගය කියවනවා.
Temperature එක අපි program කරපු සීමාවට වඩා වැඩි නම් fan එක ON කරනවා.
Temperature එක අඩු වුණාම fan එක OFF කරනවා.
මේ සරල උදාහරණය තුළම embedded system එකක මූලික ක්රියාකාරීත්වය තිබෙනවා.
Microcontroller එක ඇතුළේ මොනවාද තියෙන්නේ?
Microcontroller එකක් සාමාන්යයෙන් CPU එකක් පමණක් නොවේ.
එහි processor core එක සමඟ program memory, RAM, digital input/output pins, timers, communication interfaces සහ model එක අනුව analog peripherals වැනි කොටස් එකම chip එකක් තුළ තිබිය හැකිය.
ඒ නිසා external components කිහිපයක් සමඟ සම්පූර්ණ control system එකක් නිර්මාණය කළ හැකිය.
Microcontroller සහ Microprocessor අතර වෙනස
මේ දෙක එකම දෙයක් නොවේ.
Desktop computer හෝ laptop එකක processor එකක් ගැන සිතන්න.
එහි CPU එකට RAM, storage සහ අනෙකුත් hardware resources වෙනම අවශ්ය වේ.
Microcontroller එකක් නිර්මාණය කර තිබෙන්නේ සාමාන්යයෙන් dedicated control task එකක් හෝ tasks කිහිපයක් ඉටු කිරීමටයි.
උදාහරණයක් ලෙස washing machine එකකට Windows computer එකක් අවශ්ය නැහැ.
එයට buttons කියවන්න, water level බලන්න, motor එක පාලනය කරන්න සහ programmed washing cycle එක ක්රියාත්මක කරන්න පුළුවන් controller එකක් අවශ්යයි.
Arduino කියන්නේ Microcontroller එකක්ද?
මෙය beginners අතර ඇතිවන වැදගත් confusion එකක්.
Arduino Uno වැනි board එකක් කියන්නේ microcontroller chip එක පමණක් නොවේ.
උදාහරණයක් ලෙස classic Arduino Uno board එකක ATmega328P microcontroller එකක් තිබෙනවා.
ඒ microcontroller එක පහසුවෙන් program කිරීමට සහ external circuits සම්බන්ධ කිරීමට අවශ්ය supporting hardware board එකේ සකස් කර තිබෙනවා.
ඒ නිසා Arduino platform එක beginners සඳහා electronics සහ embedded programming ඉගෙනගැනීමට ඉතා හොඳ starting point එකක්.
ESP32 විශේෂ වෙන්නේ ඇයි?
ESP32 family එක embedded projects සඳහා ඉතා ප්රයෝජනවත් platform එකක්.
Wi-Fi සහ Bluetooth connectivity ලබාගත හැකි නිසා Internet of Things හෙවත් IoT projects සඳහා විශේෂයෙන් ප්රයෝජනවත්.
උදාහරණ ලෙස,
Wi-Fi හරහා sensor data යැවීම,
mobile phone එකකින් device එකක් control කිරීම,
smart home automation,
remote monitoring,
robotics,
data logging,
web-controlled devices
වැනි projects සෑදිය හැකිය.
Sensor එකක් කරන්නේ මොකක්ද?
Microcontroller එකට අවට ලෝකය තේරුම්ගන්න sensor එකක් භාවිතා කළ හැකිය.
Temperature sensor එකක් temperature එක මනිනවා.
Light sensor එකක් ආලෝකය හඳුනාගන්නවා.
Ultrasonic sensor එකක් distance මැනීමට භාවිතා කළ හැකිය.
Accelerometer එකක් movement සහ acceleration පිළිබඳ තොරතුරු ලබාදිය හැකිය.
Pressure sensor එකක් pressure මැනීමට භාවිතා කළ හැකිය.
මේවා microcontroller එකට ලැබෙන inputs ලෙස සිතන්න පුළුවන්.
Output කියන්නේ මොකක්ද?
Microcontroller එක information ලබාගෙන සිටීමෙන් පමණක් project එකක් සම්පූර්ණ වෙන්නේ නැහැ.
එයට යම් ක්රියාවක් සිදුකිරීමටත් අවශ්ය විය හැකිය.
LED එකක් දැල්වීම,
buzzer එකක් ක්රියාත්මක කිරීම,
display එකකට information පෙන්වීම,
relay එකක් operate කිරීම,
motor එකක් පාලනය කිරීම,
servo motor එකක් අවශ්ය angle එකකට ගෙනයාම
වැනි දේ outputs ලෙස සලකන්න පුළුවන්.
Embedded System කියන්නේ මොකක්ද?
Embedded system එකක් යනු විශේෂ කාර්යයක් ඉටු කිරීම සඳහා hardware සහ software එකට සම්බන්ධ කර නිර්මාණය කළ computing system එකකි.
එහි microcontroller එක brain එක ලෙස සිතන්න පුළුවන්.
Sensors එයට information ලබාදෙනවා.
Program එක ඒ information සමඟ කළ යුතු දේ තීරණය කරනවා.
Output devices මගින් physical world එකේ action එක සිදුකරනවා.
SENSOR → MICROCONTROLLER → DECISION → OUTPUT
මේ concept එක තේරුම්ගත්තොත් robotics සහ automation ඉගෙනගැනීම ඉතා පහසු වෙනවා.
Robot එකක Microcontroller එක කරන්නේ මොකක්ද?
සරල mobile robot එකක් ගැන සිතමු.
Ultrasonic sensor එකෙන් ඉදිරියේ obstacle එකක් තිබෙනවාද බලනවා.
Microcontroller එක distance value එක කියවනවා.
Distance එක අපි program කළ minimum value එකට වඩා අඩු නම් robot එක නවත්වනවා.
ඊළඟට motor driver එක හරහා motors පාලනය කර direction එක වෙනස් කළ හැකිය.
මෙහි sensor input එකක් physical movement එකකට පරිවර්තනය වෙනවා.
Motor එක Microcontroller Pin එකකට Direct Connect කරන්න පුළුවන්ද?
සාමාන්යයෙන් එය නොකළ යුතුයි.
Microcontroller GPIO pin එකක් ලබාදිය හැකි current එක සීමිතයි.
Motor එකකට අවශ්ය current එක ඊට වඩා විශාල විය හැකිය.
ඒ නිසා motor driver, transistor හෝ MOSFET based driver stage වැනි suitable interface එකක් භාවිතා කළ යුතුය.
මේක electronics ඉගෙනගන්න beginner කෙනෙකු අනිවාර්යයෙන් තේරුම්ගත යුතු කරුණක්.
Microcontroller එක බොහෝවිට load එකට power supply කරන device එක නොව, load එක පාලනය කරන controller එකයි.
Programming එකේ කාර්යය මොකක්ද?
Hardware එකට අපි බලාපොරොත්තු වන behavior එක ලබාදෙන්නේ software එකෙන්.
උදාහරණයක් ලෙස,
Button එක press කළොත් LED ON කරන්න.
Temperature වැඩි වුණොත් fan ON කරන්න.
Obstacle එකක් තිබුණොත් robot එක stop කරන්න.
Wi-Fi හරහා command එකක් ලැබුණොත් relay එක operate කරන්න.
මේ logic එක code එකක් ලෙස microcontroller එකට ලබාදෙනවා.
ඒ නිසා embedded systems ඉගෙනගැනීම electronics පමණක් හෝ programming පමණක් නොවේ.
Electronics + Programming + Problem Solving එකට එකතු වෙන ක්ෂේත්රයක්.
Communication Protocols ඇයි අවශ්ය?
Project එක advanced වෙන විට microcontroller එකට sensors, displays සහ වෙනත් controllers සමඟ information exchange කිරීමට සිදුවෙනවා.
එහිදී UART, I²C සහ SPI වැනි communication methods භාවිතා වෙනවා.
උදාහරණයක් ලෙස display module එකක් microcontroller එක සමඟ SPI හරහා communicate කළ හැකිය.
Sensor කිහිපයක් I²C bus එකකට සම්බන්ධ කළ හැකිය.
Computer එකක් සමඟ serial communication සඳහා UART භාවිතා කළ හැකිය.
මේ protocols තේරුම්ගැනීම embedded systems ඉගෙනගන්නා කෙනෙකුගේ ඊළඟ වැදගත් පියවරක්.
IoT කියන්නේ මොකක්ද?
Internet of Things හෙවත් IoT කියන්නේ physical devices network එකකට සම්බන්ධ කර data හුවමාරු කිරීම සහ remote monitoring හෝ control කිරීමේ සංකල්පයයි.
උදාහරණයක් ලෙස ESP32 එකකට temperature sensor එකක් සම්බන්ධ කරමු.
ESP32 එක sensor reading එක ලබාගන්නවා.
Wi-Fi හරහා ඒ data server එකකට යවනවා.
ඔබ වෙනත් ස්ථානයක සිට mobile phone එකෙන් temperature එක බලනවා.
අවශ්ය නම් නැවත command එකක් යවා device එකක් control කරන්නත් පුළුවන්.
එවිට අපගේ සරල sensor project එක IoT system එකක් බවට පත්වෙනවා.
Robotics වලට ඊළඟ පියවර
Microcontroller fundamentals හොඳින් තේරුම්ගත් පසු robotics ඉගෙනගැනීම තවත් පැහැදිලි වෙනවා.
Motors සහ motor drivers,
encoders,
distance sensors,
IMU sensors,
GPS,
wireless communication,
PID control,
computer vision,
autonomous decision making
වැනි concepts ක්රමයෙන් එකතු කළ හැකිය.
එවිට simple remote-controlled robot එකක සිට autonomous robotic system එකක් දක්වා ගමන් කළ හැකිය.
AI සහ Microcontrollers එකට සම්බන්ධ වෙන්නේ කොහොමද?
Modern embedded systems තවදුරටත් simple ON/OFF control වලට පමණක් සීමා නොවේ.
සමහර embedded platforms වලින් sensor data process කිරීම, pattern recognition, simple machine-learning inference සහ edge AI applications වැනි දේද ක්රියාත්මක කළ හැකිය.
උදාහරණයක් ලෙස camera එකකින් image එකක් ලබාගෙන object එකක් හඳුනාගැනීමෙන් පසු robot එකේ behavior එක වෙනස් කිරීම සලකා බලන්න.
එවිට system එක,
SENSE → PROCESS → DECIDE → ACT
යන වඩාත් advanced architecture එකකට ගමන් කරනවා.
Embedded Systems ඉගෙනගන්න නිවැරදි මාර්ගය
මුලින්ම LED එකක් blink කිරීම වැනි සරල project එකකින් ආරම්භ කළ හැකිය.
ඊළඟට buttons සහ digital inputs.
Analog sensors.
Displays.
Relays.
Motors සහ motor drivers.
Communication protocols.
ESP32 Wi-Fi සහ Bluetooth.
Robotics.
PCB design.
IoT.
අවසානයේ AI-enabled embedded systems දක්වා ඉදිරියට යා හැකිය.
නමුත් වැදගත්ම දෙය project එක copy කිරීම නොවේ.
“මේ wire එක මෙතනට දාන්නේ ඇයි?”
“මේ resistor එක අවශ්ය ඇයි?”
“Sensor එකෙන් microcontroller එකට ඇත්තටම ලැබෙන්නේ මොකක්ද?”
“Code එකේ මේ condition එකෙන් hardware එකට සිදුවෙන්නේ මොකක්ද?”
වැනි ප්රශ්න අහමින් ඉගෙනගැනීමයි.
අවසාන පණිවිඩය
Microcontroller එකක් කියන්නේ කුඩා chip එකක් පමණක් වුණත් එය නිවැරදි sensors, electronics සහ software සමඟ සම්බන්ධ කළ විට විශාල පද්ධතියක බුද්ධිමත් පාලකය බවට පත්විය හැකිය.
Arduino හෝ ESP32 එකෙන් ආරම්භ කරන කුඩා project එකක් robotics, IoT, automation, biomedical electronics හෝ intelligent embedded systems පිළිබඳ ගැඹුරු අධ්යයනයකට මුල් පියවර විය හැකිය.
Technology ඉගෙනගැනීමේ වැදගත්ම දේ components මතක තබාගැනීම නොවේ.
සැබෑ ගැටලුවක් හඳුනාගෙන,
එය sensors මගින් මැන,
microcontroller එකකින් process කර,
software එකෙන් decision එකක් ගෙන,
hardware එකක් හරහා සැබෑ ලෝකයේ ක්රියාවක් සිදුකරන system එකක් නිර්මාණය කිරීමට ඉගෙනගැනීමයි.