Archive / Training

RSS feed for this section

Exercise 4.1 – Tone Keyboard

ဒီလေ့ကျင့်ခန်းမှာတော့ tone( ) function ကို အသုံးပြုပြီး 7 keys ပါတဲ့ Keyboard တစ်ခု လုပ်ကြည့်ပါမယ်။ Lab Bench Pane ပေါ်မှာ Piezo Speaker တစ်ခုနဲ့ Push Button ရခုကို တင်လိုက်ပါ။ Push Button တွေကို pin number ထည့်ရုံပဲ ထည့်လိုက်ပါ။ Radio Button တွေကို မရွှေ့ဘဲ ဒီအတိုင်း ထားလိုက်ပါ။ ဒါဆိုရင် Push Button တွေကို နှိပ်မထားရင် HIGH or 1 ထွက်ပြီး၊ နှိပ်ထားရင် LOW or 0 ထွက်ပါလိမ့်မယ်။ ဒိုရေမီဖာ နုတ်တွေ ထွက်ဖို့ အတွက် ဒီ […]

Lesson 4.1 – Tone Generator

ဒီသင်ခန်းစာမှာတော့ Piezo Speaker လို့ ခေါ်တဲ့ Speaker သေးသေးလေးနဲ့ Arduino မှာ ပါတဲ့ Tone( ) function ကို အသုံးပြုပြီး အသံမြည်အောင် စမ်းသပ်ကြည့်ကြပါမယ်။ ပထမဆုံး Lab Bench Pane ပေါ်ကို 1 Piezo Speaker နဲ့ 1 Analog Slider Pair ကို တင်လိုက်ပါ။ ပြီးရင် Piezo Speaker ကို Pin 8 နဲ့၊ Analog Slider ကို A0 နဲ့ ဆက်ဖို့ ပုံမှာ ပြထားသလို 08 နဲ့ A0 ကို Text box တွေ မှာ […]

Exercise 3.1 – Controlling I/Os with Serial Command

ဒီလေ့ကျင့်ခန်းမှာတော့ Computer က ပို့လိုက်တဲ့ Serial Command တွေကို အသုံးပြုပြီး LED ၂လုံး၊ DC Motor တစ်လုံးနဲ့ Servo Motor တစ်လုံးကို ထိန်းချုပ်ကြည့်မှာ ဖြစ်ပါတယ်။ Lesson 3.3. ထဲက Sketch ကို အခြေခံပြီး ချဲ့ထွင်ရေးသားရနိုင်ပါတယ်။ sub-command တွေကို ဘယ်လို ဖတ်ပြီး ဘယ်လို ထိန်းချုပ်မလဲ ဆိုတာကို စဉ်းစားရပါမယ်။ LED ၂လုံးကို L1 နဲ့ L2 ၊ Motor ကို M1 ၊ Servo Motor ကို M2 လို့ သတ်မှတ်ပါမယ်။ Command format ကတော့ LED 1 ကို […]

Lesson 3.3 – Command Processing with Arduino

ဒီသင်ခန်းစာမှာတော့ Serial ကနေ ရတဲ့ character တွေ ကို String အဖြစ်နဲ့ ပြောင်းပြီး Properly Formatted Command တွေ အဖြစ် ပြောင်းလဲကြည့်မှာ ဖြစ်ပါတယ်။ Command တစ်ခုရဲ့ အစကို [ နဲ့ စပြီး ] နဲ့ ဆုံးမယ်လို့ သတ်မှတ်လိုက်ပါမယ်။ Command တစ်ခုမှာ sub-command ဒါမှမဟုတ် instruction တစ်ခု ဒါမှမဟုတ် တစ်ခုထက်ပိုပြီး ပါနိုင်ပါတယ်။ အဲဒီ sub-command တွေကိုတော့ , (comma) နဲ့ ခြားထားမယ် ဆိုကြပါစို့။ ဥပမာ – [D1:1,D2:0,D3:1] ဒီသင်ခန်းစာမှာ ဘာ sub-command ဆိုရင် ဘာလုပ်မယ်လို့ မရေးသေးဘဲ Command string […]

Lesson 3.2 – Send Simple Command to Arduino

ဒီသင်ခန်းစာမှာတော့ Arduino ကွန်ပျူတာကနေ Serial port ကို အသုံးပြုပြီး ထိန်းချုပ်ခြင်းကို ပြပေးမှာ ဖြစ်ပါတယ်။ ကွန်ပျူတာကနေ Serial port ကို သုံးပြီး ပို့လိုက်တဲ့ Data ကို ပထမဆုံး Serial.available( ) function နဲ့ Data ရောက်မရောက် စစ်ရပါမယ်။ ရောက်ခဲ့ရင် Serial.available( ) ကနေ ရတဲ့ တန်ဖိုးဟာ 0 ထက် ကြီးနေပါလိမ့်မယ်။ ဒါဆိုရင် Serial.read( ) နဲ့ character တစ်လုံးချင်း ဖတ်နိုင်ပါပြီ။ ဒီသင်ခန်းစာမှာတော့ လွယ်ကူအောင် 1 ဆိုတဲ့ character ရရင် မီးဖွင့်မယ်။ 0 ဆိုတဲ့ character ရရင် မီးပိတ်မယ်လို့ သတ်မှတ်ထားပါမယ်။ […]

Lesson 3.1 – Send status to PC via UART

Arduino ကို ဒီအတိုင်း ရိုးရိုးပဲ Hardware နဲ့ သုံးမယ်ဆိုရင် Debug လုပ်လို့ မရတဲ့အတွက် အထဲမှာ ဘာတွေ ဖြစ်နေလဲဆိုတာ မသိနိုင်ပါဘူး။ ဥပမာ ခလုတ်တစ်ခုနဲ့ LED တစ်လုံးနဲ့ကို Input / Output တွေမှာ ချိတ်ပြီး ခလုတ်နှိတ်ရင် မီးလုံးလင်းတာ စမ်းကြည့်နေတယ် ဆိုပါစို့။ Error တစ်ခုတက်ပြီး ခလုတ်နှိပ်ပေမယ့် မီးမလင်းရင် ဘာဖြစ်နေလဲ သိဖို့ ခက်ပါတယ်။ ခလုတ်နှိပ်ရင် 1 ရရမယ့်ဟာပဲ မရတာလား၊ ရေးထားတဲ့ logic ပဲ မှားတာလားဆိုတာ မသိနိုင်ပါဘူး။ အဲဒါကြောင့် Arduino မှာ ကွန်ပျူတာကို လွယ်လွယ်ကူကူ ဘာတွေ ဖြစ်နေလဲ အကြောင်းပြန်နိုင်မယ့် Serial လို့ ခေါ်တဲ့ Serial […]

Exercise 2.2 – Discrete Motor Control with Speedometer

ဒီလေ့ကျင့်ခန်းမှာတော့ DC Motor Control ကို Push Button Switch ၅ခုနဲ့ ထိန်းချုပ်ပြီး မော်တာ အမြန်နှုန်းကို Speedometer လိုမျိုး Servo Arm နဲ့ ပြပါမယ်။ Push Button ၅ခုကို အပေါ်ဆုံးက 0%၊ ပြီးရင် 25%, 50%, 75%, 100% အဖြစ် သတ်မှတ်ထားလိုက်ပါ။ 0% ခလုတ်နှိ်ပ်ရင် မော်တာ ရပ်သွားရပါမယ်။ ပြီးရင် Speedometer ကလည်း 0% မှာ ပြနေရပါမယ်။ 25% ခလုတ်ကို နှိပ်ရင် Motor Speed 25% နဲ့လည်ပြီး Speedometer က 25% မှာ ပြရပါမယ်။ 50%, 75%, 100% […]

Exercise 2.1 – Analog Motor Control with Speedometer

ဒီလေ့ကျင့်ခန်းမှာတော့ DC Motor Control အနှေးအမြန်ကို Analog Slider နဲ့ ထိန်းချုပ်ပြီး Speedometer လို ပုံစံမျိုး ဖြစ်အောင် Servo Arm နဲ့ ပြပါမယ်။ UnoArduSim မှာ ပုံတွေကို ပြင်လို့ မရလို့ စိတ်ကူးနဲ့ပဲ မြင်ကြည့်လိုက်ပါ။ ပထမပုံမှာ ပြထားတဲ့ Speedometer လေးကို တစ်နေရာမှာ ကပ်လိုက်ပြီးတော့ Servo Arm ကိုတော့ ညွှန်ပြတဲ့ Pointer တံလေးနဲ့ ချိတ်ထားတယ်လို့ စဉ်းစားကြည့်လိုက်ပါ။ Motor Control ကတော့ Lesson 2.2 က လိုပဲ Analog Slider အောက်ဆုံးရောက်နေရင် ရပ်ပြီး ထိပ်ဆုံးရောက်ရင် အမြန်ဆုံးနှုန်းနဲ့ လည်ပါမယ်။ Speedometer မှာတော့ မော်တာရပ်နေရင် […]

Lesson 2.3 – PWM for Servo

ဒီသင်ခန်းစာမှာတော့ Servo motor ကို Analog Slider နဲ့ ထိန်းကြည့်ပါမယ်။ Configure -> I/O Devices ကနေ 1 Analog Slider နဲ့ 1 Servo Motor ကို Lab Bench Pane ပေါ်ကို တင်လိုက်ပါ။ Arduino ရဲ့ အသင့်ပါပြီသား Built-in Library ဖြစ်တဲ့ Servo ကို အသုံးပြုဖို့ ‪#‎include‬<Servo.h> ကို Sketch ရဲ့ အပေါ်ဆုံးမှာ ရေးရပါမယ်။ ပြီးရင် Servo myservo; ဆိုပြီး global variable တစ်ခု ကြေငြာထားရပါမယ်။ Servo motor တစ်ခုကို variable တစ်ခု ပေါ့လေ။ […]

Lesson 2.2 – PWM for Motor Control

ပြီးခဲ့တဲ့ သင်ခန်းစာမှာ Analog Input ကို သုံးနည်းကို ပြခဲ့ပါတယ်။ Analog Input ရှိရင် Analog Output ရော မရှိဘူးလားလို့ သိချင်ကြမှာပါ။ Arduino မှာ 0 to 5V အနဲအများ ပြောင်းပြီး ထုတ်ပေးနိုင်တဲ့ Output Pin တော့ မရှိပါဘူး။ ဒါပေမယ့် အဲဒီလိုမျိုးဆန်ဆန် ဖြစ်အောင် 5V ကို ဖွင့်ကာပိတ်ကာ လုပ်ပေးတဲ့ Pulse Width Modulation (PWM) Output Pin တစ်ချို့တော့ ရှိပါတယ်။ 5V ကို စက္ကန့်ဝက်ဖွင့်လိုက်၊ စက္ကန့်ဝက်ပိတ်လိုက်ဆိုရင် တစ်ဝက်ပဲ အားရှိတာမို့ 2.5V လို ဖြစ်သွားပါမယ်။ ဒါက ဥပမာ အဖြစ် ပေးတာပါ။ […]

 
%d bloggers like this: