AVR on Linux – 1 හැඳින්වීම

0

Posted by chanakalin | Posted in AVR micocontrollers, AVR on Linux, Linux | Posted on 21-11-2012

Tags: , ,

කාලෙකට පස්සෙ මේ පැත්තෙ එන්න ලැබුනෙ. කට්ටිය දන්නවනෙ AVR කියන්නෙ Microchip සමාගමේ PIC වගේ  Atmel සමාගමෙන් නිෂ්පාදනය කරන මයික්‍රොකන්ට්‍රෝලර් පෙලක් කියල. අද මම කියන්න යන්නෙ ලිනක්ස් මෙහෙයුම් පද්ධතියකදී කොහොමද AVR එකක් ප්‍රෝග්‍රෑම් කරන්නෙ කියල. Arduino බොර්ඩ් වලට පාවිච්චි කරන්නෙත් AVR මයිකෝකන්ට්‍රෝලර්ස් (හැබැයි ලඟදි ආව Arduino Due නම් ARM :P). මම මේකට තෝරගත්තෙ Atmega8A මයික්‍රොකන්ට්‍රෝලරය. මුලින්ම AVR ඉගෙනගන්න යන කෙනෙකුට Atmega8 නියමෙටම ගැලපෙනව. මිලත් රැ.300කට ආසන්නව වගේ තියෙන්නෙ.  මේකෙ පහසුකම් එක්ක බලද්දි මිලට වඩා ලොකු වටිනාකමක් තියනව. ප්‍රෝග්‍රෑමර් එකට මම පාවිච්චි කලේ USBasp එකක් (Lankatronicsල ගාව මේක තියනව).

මෘදුකාංග ගැන ගත්තොත් compiler එක විදියට මම පාවිච්චි කරන්නෙ avr-gcc. Tool set එක ගැනම විස්තරයක් http://savannah.nongnu.org/projects/avr-libc/ වල තියනව. Burn කරන්න පාවිච්චි කලේ AVRDude. IDE එකක් පාවිච්චි කරන්න ඕනෙනම් Eclipse වලට plugin එක දාගත්තම හරි. හැබැයි මම නම් පාවිච්චි කලේ එඩිටර් එක විදියට Gedit එකයි සමහර වෙලාවට Vim එකයි එක්ක Gnome terminal.

මෘදුකාංග Install කරගන්න Hanthana linux හරි , fedora හරි පාවිච්චි කරනවනම් මුලින්ම terminal එක ඕපන් කරගෙන su කමාන්ඩ් එක දීල root විදියට ලොග් වෙන්න. ඊට පස්සෙ  yum install gcc-avr binutils-avr avr-libc avrdude රන් කරන්න. Ubuntu හරි Lankanet Linux හරි පාවිච්චි කරනවනම් sudo apt-get install gcc-avr binutils-avr avr-libc avrdude කමාන්ඩ් එක terminal එකේ රන් කරන්න. දැං පටාන් ගන්නයි තියෙන්නෙ.  ඊලඟ පෝස්ට් එකෙන් වැඩ පටන් ගනිමු. මේක PIC on Linux වගේ නවත්තන්නෙ නෑ. ඒක තවත්තන්න වුනේ මම PIC අතෑරල AVR  වලට මාරු වුණ නිසා. ඒකට හේතුවනම් MPLAB X තුන් පාරක් ඩවුන්ලෝඩ් කරන්න ගිහිල්ලත් අන්තිම 10MB විතර ඩවුන්ලෝඩ් වෙන්නෙ නැතිව වැඩේ දෙල් වීමයි PIC ඉගෙනගන්න ඕනෙ කියපු යාළුවෙකුට PicKit 2 එක දීමයි. එයා PIC ඉගෙනගත්ත දවසට එයාටම කියල PIC ගැන පටන් ගන්නම්. මොකද මට වඩා දෙයක් වෙන කෙනෙකුට දෙයක් තේරෙන්න කියල දෙන්න එයාට පුළුවන්.

C++ වලදි Multi thread programming

1

Posted by chanakalin | Posted in GTK, Linux, අත්හදා බැලීම් | Posted on 01-06-2012

පොඩි වැඩකට මේ ලඟදි එකම වෙලාවෙ ප්‍රෝග්‍රෑම් එකක Loop දෙකක් රන් කරගන්න ඕන වුණා. Serial port එකක් රීඩ් කරල ඒකෙන් ලැබෙන ඉන්පුට් එකට. මීට කලින් මේ වැඩේ කරල තියෙන්නෙ Java වලින් rxtxComm පාවිච්චි කරල විතරයි. ඒත් මේ පාර වැඩේ කරන්න උනේ C++ වලින්. අන්තිමේ ගූගල් දෙයියගෙන් අහද්දි තමයි උත්තරේ හම්බුණේ. GTK වලින්ම gthread පාවිච්චි කරල. GUI එකක් හදල වැඩ කරද්දි උනත් ලේසියෙන්ම පාවිච්චි කරන්න පුළුවන්. ට්‍රයි එකක් දාලම බලන්න.

http://developer.gnome.org/glib/2.31/glib-Threads.html

Arduino එක්ක වෙසක් සැරසිල්ලක්

7

Posted by chanakalin | Posted in Arduino, Linux, Robotics, නිර්මාණ | Posted on 11-05-2012

මේ දවස් වල වෙසක්නෙ. 8 වසරෙ වෙසක් වලට ගෙදර කූඩුවක් හැදුවට පස්සෙ මම වෙසක් වලට මොකුත්ම කරල නෑ. හැම පාරම ඉස්කෝලෙ. මේ පාර වෙසක් වලට ඉස්කෝලෙ මොකුත් කලේ නැති නිසා ගෙදර වැඩක් කරන්න හිතුව. කොහොමත් මට කූඩු හැදිල්ල එච්චර දිරවන්නෙ නෑ. එක පාරටම හිතට ආවෙ පාවෙන නැවක ආකෘතියක් හදල බල්බ් ටිකක් ඒක වටේට හරි කරල දාන එක. වැඩේට ඕනෙ කරගොඩක් දේවලුත් ගෙදරම තිබුන එක එක වැඩ වලට ගෙනල්ල. බල්බ් වලට LED දාල පොඩි නැවක් හදන්න තමයි මුල ඉඳන්ම බලාපොරොත්තුව තිබුනෙ.

මුලින්ම ඉතින් පුරුදු විදියට ප්ලෑනක් ගැහුව. නැව පාවෙනව වගේ උඩට පහලට පද්දන්නයි, කුණාටුවක ඉෆෙක්ට් එක දාන්නයි, LED වලට රටා දෙක තුනක් දෙන්නයි ඕනෙ නිසා මයික්‍රොකන්ට්‍රෝලරයක් පාවිච්චි කරන්න වෙනව. වැඩේ ලේසියෙන්ම කරගන්න පුළුවන් නිසා Arduino බෝඩ් එකක් තමයි පාවිච්චි කලේ. අනික ප්‍රෝග්‍රෑම් කරගන්නත් ලේසියි C libraries ගොඩක් තියන නිසා. ඊට පස්සෙ සර්කිට් එක හදාගත්ත.

DC ගියර් මෝටරයක් තමයි නැව උස් පාත් කරන්න පාවිච්චි කරේ. කුණාටු අවස්තාව පෙන්නන්න කුඹ ගහ පද්දන එක තමයි කලේ. ඒකට පාවිච්චි කලේ Servo මෝටරයක්.  LED පාට හතරකින් සෙට් හතරක් පාවිච්චි කලා. ගියර් මෝටරේට ඇස්කලයක් හයි කරල ඒකෙ නූලක් ඔතල මෝටරේ දෙපැත්තට කරකව කරකව තමයි උස් පාත් කලේ. ඒකට L293 IC එකක් පාවිච්චි කලා. Servo මෝටරෙන් කුඹ ගහ වනවද්දි සුදු පාට LED සෙට් එකකින් අකුණු ගහනව වගෙත් ඉෆෙක්ට් එකක් දැම්ම.

මේ තියෙන්නෙ වීඩියෝ එක. මේකෙ කෝඩ් එකයි සර්කිට් එකයි ගැන විස්තරයක් වෙනම දාන්නම්. මේ දවස්වල වෙලාව පොඩ්ඩක් අඩුයි.