Arduino Basic Part 01

මේ Arduino කියන්නෙ මොකක්ද කියන්න අද වෙද්දී ගොඩක් අය දන්නව. නමුත් Basic හරියට නොදැන ආඩුඊනෝ කියන දේ පටන් ගත්තු ගොඩක් අය ඉන්නව. ඉතින් Arduino beginners ලට හරියට ඉගෙන ගන්න අපේ blog එකෙන් තීරනය කලා Arduino කියන්නෙ මොකක්ද කියන තැන ඉදන්ම ඉහළට යන්න.

ආඩුඊනෝ කියන්නෙ අපිට LED එකක් blink කරන තැන ඉදන් robot නිර්මාණයක්. තවත් අපිට වැදගත් බොහොමයක් නිර්මාණ කරගන්න පුලුවන් interface එකක්. ඔයාගෙ නිර්මාණශීලිත්වය මත ආඩුඊනෝ යොදාගෙන ගොඩක් ලොකු වැඩ කරන්න පුලුවන්. ඒක පදනම් වෙන්නෙ ඔයාගෙ නිර්මාණශීලිත්වය මත. ඉතින් Arduino වලින් ලොකු ලොකු වැඩ කරන්න කලින් ආඩුඊනෝ කියන්නෙ මොකක්ද කියල දැනගන්නම අවශ්‍ය වෙනව.

ඉතින් මේ ආඩුඊනෝ කියන්නෙ මොකක්ද කියල කියන්න කලින් අපි දැනගන්නම ඕනෙ දෙයක් තමයි microcontroller එකක් කියන්නෙ මොකක්ද කියන එක. Microcontroller එකක් ගැන මුලින්ම කිව්වෙ ඇයි කියල කියවන් යද්දී ඔයාට පැහැදිලි වෙයි. අපි බලමු microcontroller එකක් කියන්නෙ මොකක්ද කියල,

මයික්‍රොකන්ට්‍රෝලර් එකක් කියන්නෙ හරියට කුඩා පරිණකයක් වගේ දෙයක්. නමුත් අපි සාමාන්‍යයෙන් භාවිතා කරන computer එකක් තරම් power full නම් නැහැ. Processor එකක්, RAM එකක්, flash memory එකක්, clock එකක් සහ control unit එකක් මේ microcontroller එකට තියනවා. මේ control unit එකට දාල තියන program එකට අනුව මේ මයික්‍රොකන්ට්‍රෝලර් එක ක්‍රියාත්මක වෙනව.

ගුවන් යානා, රොබෝ යන්ත්‍ර, කෘතීම හදවත් ආදී සංකීර්ණ යන්ත්‍ර මෙන්ම ගෙදර දොරේදී අපි සාමාන්‍යයෙන් පාවිච්චි කරන TV,  ශීතකරණ, ප්‍රින්ටර්ස් වගේ උපකරණ වල මේ මයික්‍රො කන්ට්‍රෝලර් භාවිතා වෙනව.

ඉතින් මේ මයික්‍රොකන්ට්‍රෝලරයක් මගින් යම් නිශ්චිත වැඩක් කරගන්න නම් code එකක් ලියල program එකක් හදාගන්න ඕනෙ. ඒ හදාගත්ත program එක මයික්‍රොකන්ට්‍රෝලරයට ඇතුලත් කරගන්න ඕනෙ. අන්න ඒකට තමයි මයික්‍රො‍කන්ට්‍රෝලර් ප්‍රෝග්‍රෑමිං කියන්නෙ. මේකෙදිත් මේ code ලියන්නෙ සාමාන්‍ය computer language එකකින් code ලියන විදිහටමයි.  ඒ සදහා විශේෂිත software package එකක් පරිගණකයේ ස්ථාපනය කරගන්න අවශ්‍ය වෙනව. මෙය software interface  එක කියල හදුන්වනවා.

මෙසේ ලියන ලද කේත මයික්‍රො කන්ට්‍රෝලරයට upload කිරීම සදහා එම මයික්‍රොකන්ට්‍රෝලරය විශේෂිත පරිපථ පුවරුවකට සම්බන්ධ කර එය පරිගණකයට සම්බන්ධ කරනු ලබයි. මෙහිදී යොදා ගන්න උපාංග සැකැස්ම හාඩ්වෙයා hardware interface එක නම් වේ.

Microcontroller ප්‍රෝග්‍රෑමිං කල හැකි software සහ hardware interface ගනනාවක් අද වෙද්දී ලෝකෙ තියෙනවා.. Arduino කියන්නෙ ඒවා අතරින් ජනප්‍රිය interface එකක්.

Arduino වලදී software interface එක වෙන්නෙ Arduino IDE එක. එහෙමත් නැත්තම් Arduino software එක කියල අපි හදුන්වනව. මේකෙදි අපි භාවිතා කරන්නෙ C++ language එක. ඒ කියන්නෙ C++ language එකේ නීති රීතිවලට අනුකූලව අපි program එකක් ලියන්න වෙනව. Arduino software interface එක ගැන තව ගොඩක් දේවල් ඉදිරි ලිපියකදි කියන්නම්.

Arduino වලදි hardware interface එක වෙන්නෙ Arduino development board එක. මේ Arduino development board එකෙත් මන් කලින් කිව්ව වගේ Atmel සමාගම විසින් නිශ්පාදනය කරනු ලබන microcontroller එකක් අන්තර්ගත වෙනව.

අද වෙද්දී බොහොමයක් Arduino development board වර්ග අපි වෙළදපලේ දකින්නට පුලුවන්. උදාහරණ විදිහට Arduino Mini, Arduino Pro Mini, Arduino Micro, Arduino Nano, Arduino Uno, Arduino Leonardo, Arduino Mega, Arduino Due, Arduino Lilypad වගේ board දකින්නට පුලුවන්.

මේ සෑම board එකකම Atmel සමාගමේ microcontroller එකක් තමයි base වෙලා තියෙන්නෙ. නමුත් මේ එකින් එක board වල තිබෙන microcontroller එක වෙනස් වෙනව. උදාහරණයක් විදිහට  Atmel සමාගමේ ATMEGA328 කියන microcontroller එක Arduino Nano,  Uno වගේ board වල භාවිතා වෙනව.

Arduino Leonardo board එකක භාවිතා වෙන්නෙ ATMEGA32U4 කියන microcontroller එක.

ඒ වගේම ATMEGA2560 කියන microcontroller එක Arduino Mega වගේ board වල භාවිතා වෙනව.

මේ එකින් එක microcontroller වලදී කලින් සදහන් කල ආකාරයට RAM, flash memory, I/O pins වගේ දේවල් වෙනස් වෙනව.

Arduino කියන දේ මුලින්ම පටන් ගන්න කෙනෙකුට නම් හොදම board එක කියල මම recommend කරන්නෙ Arduino Uno board එක. මොකද Arduino Uno board එකේදි තමන්ගෙ වැඩ ටික සිදු කරගන්න සැලකිය යුතු තරම් physical ඉඩක් ලබාදීල තියනව..

අපි බලමු මේ Arduino Uno board එක ගැන තව දුරටත්.

ප්‍රධාන වශයෙන්ම මේ Arduino Uno board  ප්‍රධාන වර්ග 2ක් දැකගන්නට පුලුවන්.

1) Arduino Uno R3
2) Arduino Uno R3 SMD

මේ board දෙකේ ප්‍රධාන වශයෙන් තිබෙන වෙනස්කම වන්නේ. SMD version එකෙහි microcontroller එක SMD ආකාරයට පැමිණීමයි.

Arduino Uno Specification :-

Microcontroller – ATmega328P
Operation Voltage – 5V
Input Voltage – 7 – 12V
Digital I/O Pins – 14
PWM Pins – 6
Analog Input Pins – 6
DC Current Per I/O Pin – 20mA
DC Current for 3.3V Pin – 50mA
Flash Memory – 32kB
SRAM – 2kB
EEPROM – 1kB
Clock Speed – 16MHz

අපි බලමු Arduino Uno board එකේ ප්‍රධාන වශයෙන්ම අපිට හදුනාගන්න පුලුවන් කොටස් මොනවද කියල…

1) Power USB :- Arduino board එක computer එක සමග සම්බන්ධ කරන විට හෝ USB හරහා විදුලිය ලබා දෙන විට මෙම port එක භාවිතා කරයි.

2) Power (Barrel Jack) :-  Arduino board එක computer එකට සම්බන්ධ නොමැති අවස්තාවලදී power ලබාදීම සදහා යොදා ගනියි.

3) Voltage regulator :- Barrel jack එක හරහා අපි ලබාදෙන 7 – 12V විදුලිය 5V බවට convert කරන්නෙ මෙමගිනි.

4) Crystal oscillator :- Arduino board එකට කාලයන් සමග ගනනය කිරීම් සිදු කිරීම සදහා සහය ලබා දෙන්නේ මේ 16MHz oscillator එකයි. එනම් Arduino Uno board එක 16MHz frequency එකක් යටතේ ක්‍රියා කරනු ලබනවා.

5) Arduino Reset :- Arduino board එක Reset කිරීම සදහා යොදා ගනියි.

6) 3.3V :- 3.3V ක වෝල්ටීයතාවක් out කරගැනීම සදහා භාවිතා වේ.

7) 5V :- 5V වෝල්ටීයතාවක් out කරගැනීම සදහා භාවිතා වේ.

8) GND :- පරිපථයට Ground සම්බන්ධය ලබා දීමට භාවිතා කරයි.

9) Vin :- Atmega328P microcontroller එකට 5V ක voltage එකක් ලබා දීමට භාවිතා කරයි.

10) Analog Input Pins :- Arduino board එකට Analog Input එකක් ලබා දීමට අවශ්‍ය නම් ඒ සදහා මම pin 6 භාවිතා කරන්නට පුලුවන්.

11) Main microcontroller :- සියලු කොටස් පාලනය කරන microcontroller එක වේ. Uno board එකේ නම් Atmega328P microcontroller එක වේ.

12) ICSP :- Arduino board එක AVR එකක් ලෙස භාවිතයේදී මෙම pins භාවිතා වේ

13) Power LED indcator :- Arduino board එකට power ලැබුන බව indicate කිරීම සදහා යොදා ගනියි.

14) TX and RX LED :- Arduino board එකට data receiver වෙන බව හෝ Arduino board එකෙන් data transmit වන බව indicate කිරීම සදහා භාවිතා වේ.

15) Digital IO pins :- Arduino board එකට digital input ලබාදීමට හෝ Arduino board එකෙන් digital output එකක් ලබා ගැනීමට භාවිතා කරයි.

ඉතින් Arduino hardware interface එක ගැන ගොඩක් දේවල් ගැන දැනගන්න ඇති කියල හිතනව. ආයෙත් දවසක හමුවෙමු.

Compiled by: Yasas Sadeepa

Leave a Reply

Your email address will not be published. Required fields are marked *