You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/my/2-farm/lessons/3-automated-plant-watering/virtual-device-relay.md

9.8 KiB

Relay ကိုထိန်းချုပ်ခြင်း - အွန်လိုင်း IoT Hardware

ဒီသင်ခန်းစာအပိုင်းမှာ သင့်ရဲ့ အွန်လိုင်း IoT စက်ပစ္စည်းမှာ မြေစိုထိုင်းဆဆင်ဆာအပြင် relay တစ်ခုကို ထည့်သွင်းပြီး မြေစိုထိုင်းဆအဆင့်အပေါ် မူတည်ပြီး ထိန်းချုပ်ပေးပါမည်။

အွန်လိုင်း Hardware

အွန်လိုင်း IoT စက်ပစ္စည်းသည် Grove relay ကို အတုအယောင်အသုံးပြုပါမည်။ ဒါကြောင့် Raspberry Pi နှင့် Grove relay ကို သုံးသလိုပဲ ဒီလက်တွေ့လေ့ကျင့်ခန်းကို ဆက်လက်လုပ်ဆောင်နိုင်ပါသည်။

လက်တွေ့ IoT စက်ပစ္စည်းတွင် relay သည် normally-open relay (signal မပေးရင် circuit ပိတ်မထားဘဲ ဖွင့်ထားသော relay) ဖြစ်ပါမည်။ relay အမျိုးအစားများသည် 250V နှင့် 10A အထိ output circuit များကို ထိန်းချုပ်နိုင်ပါသည်။

CounterFit တွင် relay ထည့်သွင်းခြင်း

အွန်လိုင်း relay ကို အသုံးပြုရန် CounterFit app တွင် ထည့်သွင်းရပါမည်။

လုပ်ဆောင်ရန်

CounterFit app တွင် relay ထည့်သွင်းပါ။

  1. VS Code တွင် ယခင်သင်ခန်းစာမှ soil-moisture-sensor project ကို ဖွင့်ပါ။ (မဖွင့်ရသေးပါက ဖွင့်ပါ) သင်သည် ဒီ project ကို ဆက်လက်ပြင်ဆင်ပါမည်။

  2. CounterFit web app ကို run လုပ်ထားပါ။

  3. relay တစ်ခုကို ဖန်တီးပါ:

    1. Actuators panel တွင် Create actuator box ထဲမှ Actuator type ကို drop down လုပ်ပြီး Relay ကို ရွေးပါ။

    2. Pin ကို 5 သတ်မှတ်ပါ။

    3. Add ခလုတ်ကို နှိပ်ပြီး Pin 5 တွင် relay ကို ဖန်တီးပါ။

    Relay settings

    relay ကို ဖန်တီးပြီး actuators list တွင် ပြသပါမည်။

    Relay created

Relay ကို Programming လုပ်ခြင်း

မြေစိုထိုင်းဆဆင်ဆာ app သည် relay ကို အသုံးပြုရန် programming လုပ်နိုင်ပါပြီ။

လုပ်ဆောင်ရန်

အွန်လိုင်းစက်ပစ္စည်းကို programming လုပ်ပါ။

  1. VS Code တွင် ယခင်သင်ခန်းစာမှ soil-moisture-sensor project ကို ဖွင့်ပါ။ (မဖွင့်ရသေးပါက ဖွင့်ပါ) သင်သည် ဒီ project ကို ဆက်လက်ပြင်ဆင်ပါမည်။

  2. app.py ဖိုင်တွင် ရှိပြီးသား imports အောက်တွင် အောက်ပါ code ကို ထည့်ပါ:

    from counterfit_shims_grove.grove_relay import GroveRelay
    

    ဒီ statement သည် Grove Python shim libraries မှ GroveRelay ကို import လုပ်ပြီး virtual Grove relay နှင့် အလုပ်လုပ်ရန် အသုံးပြုသည်။

  3. ADC class ကို ကြေညာထားသောနေရာအောက်တွင် အောက်ပါ code ကို ထည့်ပါ:

    relay = GroveRelay(5)
    

    relay ကို Pin 5 တွင် ဖန်တီးသည်။ (သင် relay ကို ချိတ်ဆက်ထားသော pin)

  4. relay အလုပ်လုပ်မှုကို စမ်းသပ်ရန် while True: loop အတွင်း အောက်ပါ code ကို ထည့်ပါ:

    relay.on()
    time.sleep(.5)
    relay.off()
    

    ဒီ code သည် relay ကို ဖွင့်ပြီး 0.5 စက္ကန့်စောင့်ပြီး relay ကို ပြန်ပိတ်သည်။

  5. Python app ကို run လုပ်ပါ။ relay သည် 10 စက္ကန့်တိုင်း ဖွင့်ပြီး ပိတ်ပါမည်။ relay ဖွင့်ပိတ်မှုကို CounterFit app တွင် မြင်ရပါမည်။

    Virtual relay turning on and off

မြေစိုထိုင်းဆအပေါ်မူတည်၍ relay ကို ထိန်းချုပ်ခြင်း

relay အလုပ်လုပ်နေပြီဆိုတော့ relay ကို မြေစိုထိုင်းဆအဆင့်အပေါ်မူတည်၍ ထိန်းချုပ်နိုင်ပါပြီ။

လုပ်ဆောင်ရန်

relay ကို ထိန်းချုပ်ပါ။

  1. relay စမ်းသပ်ရန် ထည့်ထားသော code ၃ ကြောင်းကို ဖျက်ပါ။ အစား အောက်ပါ code ကို ထည့်ပါ:

    if soil_moisture > 450:
        print("Soil Moisture is too low, turning relay on.")
        relay.on()
    else:
        print("Soil Moisture is ok, turning relay off.")
        relay.off()
    

    ဒီ code သည် မြေစိုထိုင်းဆဆင်ဆာမှ မြေစိုထိုင်းဆအဆင့်ကို စစ်ဆေးသည်။ 450 ထက် မြင့်ပါက relay ကို ဖွင့်ပြီး 450 ထက် နိမ့်ပါက relay ကို ပိတ်သည်။

    💁 Capacitive မြေစိုထိုင်းဆဆင်ဆာသည် မြေစိုထိုင်းဆအဆင့်နိမ့်လျှင် မြေစိုထိုင်းဆများပြီး မြင့်လျှင် မြေစိုထိုင်းဆနည်းသည်။

  2. Python app ကို run လုပ်ပါ။ relay သည် မြေစိုထိုင်းဆအဆင့်အပေါ်မူတည်၍ ဖွင့်ပိတ်လုပ်ဆောင်ပါမည်။ မြေစိုထိုင်းဆဆင်ဆာ၏ Value သို့မဟုတ် Random ကို ပြောင်းလဲပြီး အဆင့်ပြောင်းလဲမှုကို ကြည့်ပါ။

    Soil Moisture: 638
    Soil Moisture is too low, turning relay on.
    Soil Moisture: 452
    Soil Moisture is too low, turning relay on.
    Soil Moisture: 347
    Soil Moisture is ok, turning relay off.
    

💁 ဒီ code ကို code-relay/virtual-device folder တွင် ရှာနိုင်ပါသည်။

😀 သင်၏ အွန်လိုင်းမြေစိုထိုင်းဆဆင်ဆာနှင့် relay ထိန်းချုပ်မှုအစီအစဉ်အောင်မြင်ပါပြီ!


ဝက်ဘ်ဆိုက်မှတ်ချက်:
ဤစာရွက်စာတမ်းကို AI ဘာသာပြန်ဝန်ဆောင်မှု Co-op Translator ကို အသုံးပြု၍ ဘာသာပြန်ထားပါသည်။ ကျွန်ုပ်တို့သည် တိကျမှန်ကန်မှုအတွက် ကြိုးစားနေပါသော်လည်း၊ အလိုအလျောက်ဘာသာပြန်ဆိုမှုများတွင် အမှားများ သို့မဟုတ် မတိကျမှုများ ပါဝင်နိုင်သည်ကို ကျေးဇူးပြု၍ သတိပြုပါ။ မူရင်းစာရွက်စာတမ်းကို ၎င်း၏ မူလဘာသာစကားဖြင့် အာဏာတည်သောရင်းမြစ်အဖြစ် သတ်မှတ်သင့်ပါသည်။ အရေးကြီးသော အချက်အလက်များအတွက် လူ့ဘာသာပြန်ပညာရှင်များမှ ပြန်ဆိုမှုကို အကြံပြုပါသည်။ ဤဘာသာပြန်ကို အသုံးပြုခြင်းမှ ဖြစ်ပေါ်လာသော နားလည်မှုမှားများ သို့မဟုတ် အဓိပ္ပာယ်မှားများအတွက် ကျွန်ုပ်တို့သည် တာဝန်မယူပါ။