Lesson 1.1 – Blink

ဒီသင်ခန်းစာမှာတော့ Arduino Uno ရဲ့ Digital Input/Output (I/O) Pin တွေကို စတင်အသုံးပြုကြည့်မှာ ဖြစ်ပါတယ်။ Arduino Uno ရဲ့ USB port ကို ဘယ်ဖက်မှာ ထားပြီး ကြည့်မယ်ဆိုရင် ပုံမှာ ပြထားတဲ့အတိုင်း ညာဖက် အပေါ်တန်းက Pin 0 to 13 ဟာ Digital I/O Pin တွေ ဖြစ်ပါတယ်။ ဘာဖြစ်လို့ Input/Output Pin လို့ ခေါ်ရသလဲဆိုရင် Input အဖြစ် ဖတ်ကြည့်ဖို့ရော၊ Output အဖြစ် တစ်ခုခု စေခိုင်းဖို့ပါ ရလို့ပါပဲ။ (Digital အကြောင်းကို Lesson 0.3 မှာ ပြောခဲ့ပြီးသားပါ။)

Blink မှာ LED တစ်လုံးကို မှိတ်တုတ်မှိတ်တုတ်ဖြစ်အောင် Arduino Sketch ရေးပြီး လုပ်ကြည့်ပါမယ်။ ပထမဆုံး ကိုယ်နှစ်သက်ရာ Pin တစ်ခုကို LED ကို အဖွင့်အပိတ်လုပ်ဖို့ ရွေးလိုက်ပါ။ Pin 0 နဲ့ 1 နဲ့ကို မရွေးမဖြစ် လိုအပ်တော့မှ သုံးပါ။ တခြား Pin တွေကို ဦးစားပေးပြီး သုံးပါ။ ကျနော်ကတော့ Pin 4 ကို ရွေးလိုက်ပါမယ်။

UnoArduSim ရဲ့ Lab Bench Pane မှာ ပစ္စည်းတွေ အများကြီး ဖြစ်နေပါတယ်။ အမြင်ရှင်းသွားအောင် Configure -> I/O Devices ဆိုတဲ့ Menu ကို ရွေးလိုက်ရင် Attached I/O Devices dialog ပေါ်လာပါမယ်။ Red LEDs ကိုပဲ 1 ပေးပြီး ကျန်တာတွေ အကုန် 0 ပေးလိုက်ပါ။ ပြီးရင် Save button ကို နှိပ်ပြီး Blink လို့ file name ပေးပြီး သိမ်းလိုက်ပါ။ ပြီးရင် OK button ကို နှိပ်ပြီး dialog ကို ပိတ်လိုက်ပါ။ အခုဆိုရင် Lab Bench Pane မှာ LED တစ်ခုပဲ မြင်ရပါတော့မယ်။ LED ရဲ့ ဘယ်ဖက်အပေါ်က စာရိုက်လို့ ရတဲ့ အကွက်ကလေးမှာ 04 လို့ ရိုက်ထည့်လိုက်ပါ။ ဒါဆိုရင် Pin 4 နဲ့ LED ချိတ်ဆက်ပြီးသား ဖြစ်သွားပါပြီ။ LED ရဲ့ Radio Button ၂ခုမှာ အောက်က တစ်ခုကို ရွေးထားပါစေ။

အခု Arduino Sketch မှာ ကိုယ်လုပ်ချင်တာတွေကို ချရေးပါတော့မယ်။ ကိုယ်က ခိုင်းချင်တာဆိုတော့ Output pin အဖြစ် သုံးမယ်လို့ ပြောရမှာပါ။ ဘယ် pin တွေကို ဘယ်လို သုံးမှာလဲ ဆိုတာကို Setup( ) မှာ ရေးရပါမယ်။ Pin 4 ကို Output အဖြစ်သုံးမယ်ဆိုတာကို pinMode(4, OUTPUT); လို့ ရေးလို့ရပါတယ်။ ဒါပေမယ့် စနစ်ကျအောင်၊ အမှားနည်းအောင် Pin တွေကို ‪#‎define‬ နဲ့ နံမည်ပေးတာ အကောင်းဆုံးပါ။ #define PIN_OUTPUT_LED 4 လို့ define လုပ်လိုက်ပြီး 4 သုံးမယ့် နေရာတိုင်းမှာ PIN_OUTPUT_LED သုံးရပါမယ်။

Code Pane ကို double-click လုပ်ပြီး ပေါ်လာတဲ့ View/Edit Program window မှာ ပုံမှာပြထားတဲ့အတို်င်း Setup( ) ကို ပြင်လိုက်ပါ။ ဒါဆို Pin 4 ကို Output Pin အဖြစ် သတ်မှတ်ခြင်း ပြီးပါပြီ။

မှိတ်တုတ်မှိတ်တုတ် အမြဲ ဖြစ်နေအောင် LED ကို ဖွင့်တစ်ခါ ပိတ်တစ်လှည့် လုပ်ရပါမယ်။ LED ကို ဖွင့်ဖို့ အတွက် Pin 4 ကို High ပေးရပါမယ်။ ပိတ်ဖို့အတွက် LOW ပေးရပါမယ်။ Digital I/O Pin တွေကို output ပေးဖို့ digitalWrite function ကို သုံးရပါမယ်။ digitalWrite( PIN_OUTPUT_LED, HIGH ); ဆိုရင် LED မီးလင်းလာပါမယ်။ digitalWrite( PIN_OUTPUT_LED, LOW ); ဆိုရင် မီးငြိမ်းပါမယ်။

ချက်ချင်းဖွင့်ပြီး ချက်ချင်းမှိတ်သွားတာ မဖြစ်ရအောင် ဖွင့်ပြီး တစ်စက္ကန့်စောင့်ခိုင်းချင်တဲ့အတွက် delay ဆိုတဲ့ function ကို သုံးရပါမယ်။ delay မှာ ထည့်ပေးတဲ့ တန်ဖိုးဟာ မီလီစက္ကန့်အရေအတွက်ဖြစ်ပါတယ်။ တစ်စက္ကန့်ရဲ့ တစ်ထောင်ပုံ တစ်ပုံပေါ့။ တစ်စက္ကန့် ဘာမှ မလုပ်ဘဲ နေစေချင်တာ ဆိုတော့ delay(1000); လို့ ရေးပါမယ်။

View/Edit Program window မှာ ပုံမှာ ပြထားတဲ့အတိုင်း Loop( ) မှာ ပြင်လိုက်ပါ။ ပြီးရင် Adopt button ကို နှိပ်ပြီး ပိတ်လိုက်ရင် Code Pane က ပရိုဂရမ်ဟာ ကိုယ်ပြင်လိုက်တဲ့ အတိုင်း ဖြစ်သွားပါလိမ့်မယ်။ ပြီးရင် Run button ကို နှိပ်လိုက်ရင် LED ကလေး မှိတ်တုတ် မှိတ်တုတ် ဖြစ်နေတာကို မြင်ရပါလိမ့်မယ်။

Step Into နဲ့ တစ်ဆင့်ခြင်း Run ကြည့်ပြီး ဘယ်လို ဖြစ်သလဲ ကြည့်နိုင်ပါတယ်။ စမ်းကြည့်ပါ။ delay တွေကို 500 ပြောင်းကြည့်ပြီး မှိတ်တုတ်မှိတ်တုတ် မြန်လာသလား စမ်းကြည့်ပါ။ စိတ်တိုင်းကျ စမ်းကြည့်ပြီးပြီဆိုရင် File -> Save As ကနေပြီး Blink.ino လို့ နံမည်ပေးပြီး သိမ်းထားလိုက်ပါ။

211

212

213

214