Friday, August 22, 2014
Batch Processing of Images in GIMP
ဓာတ်ပုံတွေ အများကြီးကို တစ်ခါတည်း နာမည်ပြင်ချင်တာ၊ အရွယ်အစား ပြောင်းချင်တာ၊ ဖိုင်အမျိုးအစား ပြောင်းချင်တာ တွေ လုပ်ချင်ရင် GIMP မှာ လုပ်လို့ရပါတယ်။ ပထမဆုံး အနေနဲ့ David's Batch Processor ဆိုတဲ့ Plug-in ကို http://members.ozemail.com.au/~hodsond/dbp.html ဆိုတဲ့လင့်မှာ သွားယူဖို့ လိုပါတယ်။ ပြီးရင် ဒေါင်းလုပ်လုပ်ထားတဲ့ ဖိုင်ကို extract လုပ်ပြီးရင် ရလာတဲ့ dbp.exe ဆိုတဲ့ဖိုင် ကို C:\Program Files\GIMP 2\lib\gimp\2.0\plug-ins ဆိုတဲ့ နေရာမှာ ထားလိုက်ပါမယ်။ နောက် GIMP ရဲ့ Filters menu မှာ Batch Process... command ကိုနှိပ်လိုက်ရင် အောက် ကအတိုင်း David's Batch Processor ဆိုတဲ့ pop-up windows ပေါ်လာရင် လိုချင်တဲ့ batch processing လုပ်လို့ရပါပြီ။
Friday, August 15, 2014
Selective Color Modification
အောက်မှာ ပြထားတဲ့ ပုံထဲက လမ်းအပြာလေးကိုပဲ ရွေးပြီး အစိမ်းရောင် ပြောင်းကြည့် ချင်တာနဲ့ MatLab program လေး ရေးကြည့်ပြီး Octave သုံးပြီး run ကြည့်လိုက်တယ်။
အပြာရောင် ကို အစိမ်းပြောင်းချင်တာဆိုတော့ rgb color model မှာပဲ blue နဲ့ green ကို နေရာချင်း လဲလိုက်ရင် ရပေမယ့် သိပ် ယေဘူယျ မဆန်ဘူးထင်တာနဲ့ hsv color model သုံးလိုက်တယ်။
အဲဒါဆို hue ကို ကြိုက်တဲ့ အရောင်ကနေ လိုချင်တဲ့ အရောင်ကို အလွယ်တကူ ပြောင်းလို့ရသွားတာပေါ့။
Sunday, March 16, 2014
Thursday, March 6, 2014
Reading Rotary Encoder Using Microcontroller
Rotary encoder တွေကို ထောင့်ဘယ်လောက်လှည့်သွားသလဲ (angular position) နဲ့ ဘယ်လောက်ဘီးလည်ပြီး ရွေ့သွားလဲ (motion sensing) ဆိုတာတွေကို တိုင်းတာဖို့ သုံးလေ့ရှိပါတယ်။
Optical rotary encoder တွေမှာ အပေါက်လေးတွေ ပုံဖော်ပြီး ဖောက်ထားတဲ့ အချပ်ကလေး ပါလေ့ရှိပြီး၊ အလင်းထုတ်ပေးတဲ့ LED နဲ့ အလင်းကို အာရုံခံနိုင်တဲ့ photo detector ကြားမှာ အဲဒီ အဝိုင်းလေး လည်တဲ့အခါ၊ အလင်းကျသွား၊ အလင်းကွယ်သွားတဲ့ ပေါ်မူတည်ပြီး ဗို့အား အနိမ့်အမြင့် digital waveform တွေထွက်လာပါတယ်။
Encoder တွေမှာ glitch တွေ မဖြစ်အောင် ပုံမှန် binary code အစား Gray code ကို သုံးလေ့ပါတယ်။ Gray code မှာ ကပ်ရပ်နံပါတ် တစ်ခုနဲ့ တစ်ခု အကြား ပြောင်းလဲတဲ့ bit အရေအတွက်က တစ်ခု ထက် မပိုတဲ့အတွက် glitch တွေ ဖြစ်မယ့် ပြဿနာကနေ ကာကွယ်ပေးပါတယ်။ Gray code 0 ကနေ 3 အထိကို အောက်က ဇယားမှာ ပြထားပါတယ်။
Encoder တွေမှာ glitch တွေ မဖြစ်အောင် ပုံမှန် binary code အစား Gray code ကို သုံးလေ့ပါတယ်။ Gray code မှာ ကပ်ရပ်နံပါတ် တစ်ခုနဲ့ တစ်ခု အကြား ပြောင်းလဲတဲ့ bit အရေအတွက်က တစ်ခု ထက် မပိုတဲ့အတွက် glitch တွေ ဖြစ်မယ့် ပြဿနာကနေ ကာကွယ်ပေးပါတယ်။ Gray code 0 ကနေ 3 အထိကို အောက်က ဇယားမှာ ပြထားပါတယ်။
Monday, December 2, 2013
မြန်မာ ပြက္ခဒိန် အခါပေးရက်များ
မြန်မာ ပြက္ခဒိန်တွေမှာ ဗေဒင်နဲ့ ဆက်စပ်တဲ့ အခါပေးရက် ဥပမာ ရက်ကောင်း၊ရက်ဆိုး တွေကို ဖော်ပြလေ့ ရှိပါတယ်။
ဒီစာတမ်းမှာ အောက်ကရက်တွေနဲ့ သူတို့ကို javascript ကုဒ် သုံးပြီး ဘယ်လိုတွက်မလဲဆိုတာ ဖော်ပြပါမယ်
Tuesday, July 9, 2013
CAN bus
CAN Bus (controller area network) ဆိုသည်မှာ ဆက်သွယ်ရေး စနစ် တစ်ခုဖြစ်ပြီး မိုက်ခရိုကွန်ထရိုလာများ နှင့် အခြား အီလက်ထရွန်းနစ် ကိရိယာများကို ကွန်ပျူတာ မလိုအပ်ဘဲ အချင်းချင်း ဆယ်သွယ် နိုင်ရန် ပြုလုပ်ထားသော စနစ်ဖြစ်ပါတယ်။ CAN Bus ဟာ မက်ဆေ့ (message) အပေါ်တွင် အခြေခံသော ပရိုတိုကောလ်ဖြစ်ပြီး မော်တော်ယာဉ်များတွင် အဓိက အသုံးပြုလေ့ ရှိပေမယ့် စက်ရုံများနှင့် ဆေးဘက်ဆိုင်ရာ ကိရိယာများတွင်လည်း အသုံးပြုလေ့ ရှိပါတယ်။
Saturday, June 29, 2013
Using Analog to Digital Converter of AT89C51CC01 Microcontroller
AT89STK-06 starter kit ကိုသုံးပြီး 8051 microcontroller တစ်ခုဖြစ်တဲ့ AT89C51CC01 အတွက် analog to digital converter (ADC) အဝင် ကိုဖတ်တဲ့ C ကုဒ် တစ်ချို့ကို ရေးထားပါတယ်။ အဲဒီ မိုက်ခရို ကွန်ထရိုလာ မှာ 10 bit resolution ရှိတဲ့ multiplexed လုပ်ထားတဲ့ အဝင် ၈ ခုရှိပါတယ်။ ဒီနမူနာမှာ variable resister နဲ့ ဆက်ထားတဲ့ အဝင် ပင်နံပါတ် ၇ ကို ဖတ်ကြည့်ထား ပါတယ်။
GNU Octave as an Alternative to MatLab
GNU Octave၊ FreeMat နဲ့ Scilab တို့က MATLAB လိုမျိုး တွက်ချက်မှုတွေ လုပ်ပေးနိုင်တဲ့ အလကားရတဲ့ free open source software တွေဖြစ်ပါတယ်။ လိုက်ရှာ ဖတ်ကြည့်တော့ GNU Octave က အကောင်းဆုံးလို့ ကြားတာနဲ့ သူ့ကို စက်ထဲမှာ ထည့်ပြီး စမ်းကြည့်တော့ တော်တော် သဘောကျ သွားပါတယ်။ GNU Octave ကို ဝင်းဒိုး ပေါ်မှာတင်ရတာ တော့ တော်တော်လွယ်ပါတယ်။ သူ့ရဲ့ Download page က ဖိုင်တွေကို ယူပြီး စက်ထဲမှာ folder တစ်ခု အနေနဲ့ ထုတ်ယူလိုက်ပါမယ်။ ပြီးရင် shortcut ဖိုင်ကို ကြိုက်တဲ့နေရာမှာ ထားပြီး သူ့ရဲ့ properties မှာ path နဲ့ icon ကို ပြင်ပေး လိုက်ရုံပါပဲ။
သူရဲ့ shortcut ကနေ Octave ကို ဖွင့်လိုက်ရင် အောက်က ပုံမှာ ပြထားတဲ့ အတိုင်း ကွန်မန်း ပေးလို့ရတဲ့ ဝင်းဒိုး ပွင့်လာပါမယ်။ အဲဒီမှာ MATLAB ကွန်မန်း တွေ တိုက်ရိုက် ရိုက်ထည့်ရင် လည်းရပါတယ်။
Wednesday, June 26, 2013
Chord-changer Javascript
I have written a Javascript program to transpose the guitar chords for a song into a different key. In the lyrics of the song, the guitar chords are supposed to be between <sup> and </sup>. You can try it at Myanmar Lyrics by clicking the Key Up and Key Down buttons. The codes are shown below.
Saturday, June 15, 2013
Algorithm, Program and Calculation of Myanmar Calendar
Read this article in English
မြန်မာ ပြက္ခဒိန် တွက်တဲ့ အခါ ပိုမို မြန်ဆန်လွယ်ကူ စေမယ့် ညီမျှခြင်းများကို တင်ပြမှာဖြစ်ပြီး၊ ပြီးခဲ့တဲ့ မြန်မာ ပြက္ခဒိန် ရက်ကိုပဲ ဖြစ်ဖြစ်၊ နောက်လာမည့် မြန်မာ ပြက္ခဒိန်ရက် ကို ကြိုပြီးပဲဖြစ်ဖြစ် ဘယ်လို တွက်မလဲ ဆိုတာ ဆွေးနွေးပါမယ်။ မြန်မာ ပြက္ခဒိန် ရက်စွဲ တစ်ခုရဲ့ မြန်မာ ခုနှစ်၊ မြန်မာလ၊ လဆန်း လဆုတ်၊ မြန်မာရက်၊ အဲဒီနှစ်က ဝါထပ် မထပ်၊ ထပ်ရင် လည်း ဝါကြီးလား၊ ဝါငယ်လား ဆိုတာ ကိုအလွယ်တကူ တွက်ထုတ်နိုင်ဖို့ ကိန်းသေတွေ၊ ဖော်မြူလာတွေ၊ တွက်ချက်ပုံ အဆင့် တွေ ကို ရှင်းရှင်းလင်းလင်း တင်ပြပါမယ်။ မြန်မာ ပြက္ခဒိန်၊ နတ္ခတ် အခေါ်အဝေါ် တွေနဲ့ မရင်းနှီးရင် တောင်မှ အလွယ် တစ်ကူ နားလည် နိုင်မှာပါ။
မြန်မာ ပြက္ခဒိန် တွက်တဲ့ အခါ ပိုမို မြန်ဆန်လွယ်ကူ စေမယ့် ညီမျှခြင်းများကို တင်ပြမှာဖြစ်ပြီး၊ ပြီးခဲ့တဲ့ မြန်မာ ပြက္ခဒိန် ရက်ကိုပဲ ဖြစ်ဖြစ်၊ နောက်လာမည့် မြန်မာ ပြက္ခဒိန်ရက် ကို ကြိုပြီးပဲဖြစ်ဖြစ် ဘယ်လို တွက်မလဲ ဆိုတာ ဆွေးနွေးပါမယ်။ မြန်မာ ပြက္ခဒိန် ရက်စွဲ တစ်ခုရဲ့ မြန်မာ ခုနှစ်၊ မြန်မာလ၊ လဆန်း လဆုတ်၊ မြန်မာရက်၊ အဲဒီနှစ်က ဝါထပ် မထပ်၊ ထပ်ရင် လည်း ဝါကြီးလား၊ ဝါငယ်လား ဆိုတာ ကိုအလွယ်တကူ တွက်ထုတ်နိုင်ဖို့ ကိန်းသေတွေ၊ ဖော်မြူလာတွေ၊ တွက်ချက်ပုံ အဆင့် တွေ ကို ရှင်းရှင်းလင်းလင်း တင်ပြပါမယ်။ မြန်မာ ပြက္ခဒိန်၊ နတ္ခတ် အခေါ်အဝေါ် တွေနဲ့ မရင်းနှီးရင် တောင်မှ အလွယ် တစ်ကူ နားလည် နိုင်မှာပါ။
Subscribe to:
Posts (Atom)
