norr@manorshi.com         +86-519-89185720
1
သတင်းစင်တာ

Arduino နဲ့ ultrasonic sensor ကို ဘယ်လိုသုံးမလဲ။

ကြည့်ရှုမှုများ- 164     စာရေးသူ- Grace ထုတ်ဝေချိန်- 2021-07-26 မူရင်း- ဆိုက်

facebook sharing ကိုနှိပ်ပါ။
twitter မျှဝေခြင်းခလုတ်
လိုင်းမျှဝေခြင်းခလုတ်
wechat မျှဝေခြင်းခလုတ်
linkedin sharing ကိုနှိပ်ပါ။
pinterest မျှဝေခြင်းခလုတ်
whatsapp မျှဝေခြင်းခလုတ်
kakao sharing ကိုနှိပ်ပါ။
snapchat မျှဝေခြင်းခလုတ်
ကြေးနန်းမျှဝေခြင်းခလုတ်
ဤမျှဝေမှုအား မျှဝေရန် ခလုတ်ကိုနှိပ်ပါ။

Arduino ဖြင့် Ultrasonic Sensor အသုံးပြုနည်း- HC-SR04 လမ်းညွှန်

ဟိ HC-SR04 ultrasonic အာရုံခံကိရိယာသည် Arduino ပရောဂျက်များအတွက် ရေပန်းအစားဆုံး အကွာအဝေး တိုင်းတာခြင်း module တစ်ခုဖြစ်သည်။ အတားအဆီးကို ရှောင်ရှားနိုင်သော စက်ရုပ်များ၊ ကားပါကင် အာရုံခံကိရိယာများ၊ အဆင့်ထောက်လှမ်းမှု၊ စမတ်အမှိုက်ပုံးများ၊ အကွာအဝေး မီတာများနှင့် အခြား အဆက်အသွယ်မရှိသော အာရုံခံအက်ပ်လီကေးရှင်းများတွင် တွင်ကျယ်စွာ အသုံးပြုပါသည်။

module သည် transmitter မှတဆင့် 40kHz ultrasonic လှိုင်းများကို ထုတ်လွှတ်သည်။ အသံလှိုင်းသည် အရာဝတ္ထုတစ်ခုနှင့် ဆုံသောအခါ ၎င်းသည် လက်ခံသူထံသို့ ပြန်ပြောင်းသည်။ ပဲ့တင်သံအချိန်ကို တိုင်းတာခြင်းနှင့် အသံ၏အမြန်နှုန်းကိုအသုံးပြုခြင်းဖြင့် Arduino သည် အာရုံခံကိရိယာနှင့် အရာဝတ္ထုကြားအကွာအဝေးကို တွက်ချက်နိုင်သည်။

Arduino အကွာအဝေးတိုင်းတာခြင်းအတွက် HC-SR04 ultrasonic sensor module

HC-SR04 ပင်မနည်းပညာဆိုင်ရာ ကန့်သတ်ချက်များ

ကန့်သတ်ချက် တန်ဖိုး
ပုံမှန်အလုပ်လုပ်တဲ့ဗို့အား 5V DC
တည်ငြိမ်သောအလုပ်လက်ရှိ အချို့သော module ဗားရှင်းများတွင် 5mA ထက်နည်းသည်။
လည်ပတ်မှုအကြိမ်ရေ 40kHz ultrasonic လှိုင်း
ထောက်လှမ်းအကွာအဝေး ဘုံအကွာအဝေး: 2cm မှ 400cm; အချို့သောအမြတ်-ချိန်ညှိထားသောဗားရှင်းများသည် ပိုရှည်သောအကွာအဝေးကို ပံ့ပိုးပေးနိုင်သည်။
ထောက်လှမ်းထောင့် များသောအားဖြင့် 15 ဒီဂရီအတွင်း; မြင့်မားသောအမြတ်ရှိသောဗားရှင်းအချို့သည် 30 ဒီဂရီအထိရောက်ရှိနိုင်သည်။
တိကျမှု သင့်လျော်သောစမ်းသပ်မှုအခြေအနေအောက်တွင် 0.3 စင်တီမီတာခန့်အထိ
ကန်းဇုန် အနိမ့်ဆုံးတိုင်းတာခြင်းအကွာအဝေး 2 စင်တီမီတာခန့်

HC-SR04 Pin ၏ ရှင်းလင်းချက်

HC-SR04 ultrasonic module တွင် ပင်လေးချောင်းပါရှိသည်- VCC၊ TRIG၊ ECHO နှင့် GND။ Arduino သည် TRIG ပင်နံပါတ်သို့ တိုတိုအစပျိုးသွေးခုန်နှုန်းကို ပေးပို့ပြီး ECHO ပင်မှ ပြန်လာသော သွေးခုန်နှုန်းကို ဖတ်သည်။

HC-SR04 ပင်နံပါတ် Arduino ချိတ်ဆက်မှု လုပ်ဆောင်ချက်
VCC 5V ultrasonic module အတွက်ပါဝါထောက်ပံ့မှု။
TRIG ဒစ်ဂျစ်တယ် ပင်နံပါတ် ၉ ထည့်သွင်းမှု အစပျိုးပါ။ Arduino သည် စတင်ချိန်ညှိရန်အတွက် 10us pulse ကိုအသုံးပြုသည်။
ပဲ့တင်သံ ဒစ်ဂျစ်တယ် ပင်နံပါတ် ၁၀ ပဲ့တင်သံ အထွက်။ အကွာအဝေးကိုတွက်ချက်ရန် Arduino သည် pulse width ကိုဖတ်သည်။
GND GND မြေပြင်ချိတ်ဆက်မှု။

HC-SR04 ultrasonic sensor pinout VCC TRIG ECHO GND

HC-SR04 Ultrasonic အာရုံခံကိရိယာ၏လုပ်ဆောင်မှုမူလ

HC-SR04 သည် ပျံသန်းချိန်တိုင်းတာမှုဖြင့် အလုပ်လုပ်သည်။ Arduino သည် TRIG pin သို့ အနည်းဆုံး 10 microseconds ၏ high-level trigger signal ကို ပေးပို့သည်။ ထို့နောက် module သည် 40kHz ultrasonic pulses ရှစ်ခုကို အလိုအလျောက် ပေးပို့ပြီး ရောင်ပြန်ဟပ်သည့် ပဲ့တင်သံကို စောင့်နေသည်။

ရောင်ပြန်ဟပ်လာသော ultrasonic အချက်ပြမှုကို တွေ့ရှိသောအခါ၊ ECHO ပင်နံပါတ်သည် မြင့်မားသောအဆင့် သွေးခုန်နှုန်းကို ထုတ်ပေးသည်။ ဤသွေးခုန်နှုန်း၏ကြာချိန်သည် ultrasonic လှိုင်း၏အသွားအပြန်ခရီးအချိန်ဖြစ်သည်။

အကွာအဝေး = ပဲ့တင်သံ အဆင့်မြင့်ချိန် × အသံ၏ အမြန်နှုန်း / ၂

Arduino ကုဒ်တွင် ရိုးရှင်းသော ဖော်မြူလာမှာ-

အကွာအဝေး စင်တီမီတာ = ကြာချိန် × 0.0343 / 2

HC-SR04 ultrasonic module သည် ပျံသန်းမှုလုပ်ဆောင်သည့် နိယာမအချိန်ဖြစ်သည်။

HC-SR04 Ultrasonic Module Timing Diagram

အချိန်ကိုက်ခြင်း လုပ်ငန်းစဉ်သည် ရိုးရှင်းပါသည်- Arduino သည် TRIG ကို တိုတိုတုတ်တုတ် ထားကာ 10us မြင့်မားသော pulse ကို ပေးပို့ပြီးနောက် TRIG ကို အနိမ့်သို့ ပြန်ပေးသည်။ HC-SR04 သည် ultrasonic ပေါက်ကွဲသံကို ပေးပို့ပြီး ရောင်ပြန်ဟပ်သည့် အချက်ပြမှု ပြန်လာခြင်း သို့မဟုတ် တိုင်းတာမှု အချိန်ကုန်သည်အထိ ECHO ကို မြင့်မားစွာ သတ်မှတ်ပေးသည်။

မတည်ငြိမ်သော ဖတ်ရှုမှုများကို ရှောင်ရှားရန်၊ တိုင်းတာမှုများကြားတွင် နှောင့်နှေးမှုကို ချန်ထားပါ။ 60ms ခန့် တိုင်းတာခြင်းစက်ဝန်းကို အများအားဖြင့် အသုံးပြုထားသောကြောင့် ယခင် ultrasonic ပဲ့တင်သံသည် နောက်တစ်ကြိမ် အစပျိုးမှုမတိုင်မီ ပျောက်ကွယ်သွားမည့်အချိန်ဖြစ်သည်။

Arduino Programming အခြေခံများ- pulseIn လုပ်ဆောင်ချက်

Arduino pulseIn() လုပ်ဆောင်ချက်ကို ဒစ်ဂျစ်တယ်ပင်နံပါတ် မည်မျှကြာအောင် မြင့်နေမည် သို့မဟုတ် နိမ့်နေမည်ကို တိုင်းတာရန် အသုံးပြုသည်။ HC-SR04 အတွက်၊ Arduino သည် pulseIn(echoPin၊ HIGH) ကို အသုံးပြုသည်။ ECHO pin မှ အဆင့်မြင့် သွေးခုန်နှုန်း အကျယ်ကို ဖတ်ရန်

အထားအသို အဓိပ္ပါယ်
pulseIn(ပင်၊ တန်ဖိုး) မြင့်မားသော သို့မဟုတ် အနိမ့်သွေးခုန်နှုန်းကို ဖတ်သည်။
pulseIn(ပင်၊ တန်ဖိုး၊ အချိန်ကုန်) မိုက်ခရိုစက္ကန့်များတွင် အချိန်ကုန်တန်ဖိုးဖြင့် သွေးခုန်နှုန်းကို ဖတ်သည်။

အချိန်ကုန်ခြင်းကို အသုံးပြုရန် အကြံပြုထားသည်။ ပဲ့တင်သံ ပြန်မပေါ်ပါက၊ လုပ်ဆောင်ချက်သည် ပရိုဂရမ်ကို အကြာကြီး ပိတ်ဆို့ထားမည့်အစား စောင့်ဆိုင်းခြင်းကို ရပ်တန့်နိုင်ပြီး 0 ပြန်သွားနိုင်သည်။

HC-SR04 ultrasonic အကွာအဝေးအာရုံခံကိရိယာဖြင့်အသုံးပြုသော Arduino ဘုတ်

HC-SR04 Ultrasonic Sensor ကို Arduino သို့ ချိတ်ဆက်နည်း

ကြိုးက ရိုးရိုးရှင်းရှင်း။ VCC ကို 5V၊ GND သို့ GND သို့ ချိတ်ဆက်ပါ၊ Arduino ဒစ်ဂျစ်တယ် အထွက် ပင်နံပါတ်သို့ TRIG နှင့် Arduino ဒစ်ဂျစ်တယ် အဝင်ပင် ပင်သို့ ECHO ကို ချိတ်ဆက်ပါ။ အောက်ပါဥပမာသည် Pin 9 ရှိ Arduino Uno၊ TRIG နှင့် pin 10 တွင် ECHO ကိုအသုံးပြုသည်။

HC-SR04 ultrasonic အာရုံခံကိရိယာအတွက် Arduino Uno ပေါင်မုန့်ကြိုးကြိုးပြပုံ

HC-SR04 Ultrasonic Sensor Arduino Code

အောက်ဖော်ပြပါ ပုံမှန် Arduino ပရိုဂရမ်သည် 10us trigger pulse ပေးပို့သည်၊ ECHO pulse width ကိုဖတ်သည်၊ အကွာအဝေးကို စင်တီမီတာဖြင့် တွက်ချက်ပြီး Serial Monitor တွင် ရလဒ်ကို print ထုတ်ပါသည်။

const int trigPin = 9; const int echoPin = 10; ရှည်လျားသောကြာချိန်; မျှော့အကွာအဝေးCm; void setup() { pinMode(trigPin၊ OUTPUT);   pinMode(echoPin၊ INPUT);   Serial.begin(9600); } void loop() { digitalWrite(trigPin၊ LOW);   နှောင့်နှေးမိုက်ခရိုစက္ကန့်(2);   digitalWrite(trigPin၊ HIGH);   နှောင့်နှေးမိုက်ခရိုစက္ကန့်(10);   digitalWrite(trigPin၊ LOW);   ကြာချိန် = pulseIn(echoPin၊ HIGH၊ 30000);   if (ကြာချိန် == 0) { Serial.println('အပိုင်းအခြားပြင်ပ');   } else { distanceCm = ကြာချိန် * 0.0343 / 2;     Serial.print('အကွာအဝေး: ');     Serial.print(distanceCm);     Serial.println('cm');   } နှောင့်နှေး(60); }

Serial Monitor တွင် အကွာအဝေးတန်ဖိုးများကို မြင်ပါက၊ HC-SR04 ultrasonic အာရုံခံကိရိယာနှင့် Arduino ဝါယာကြိုးများသည် မှန်ကန်စွာ အလုပ်လုပ်ပါသည်။ ထို့နောက် သင်သည် အတားအဆီးရှာဖွေခြင်း၊ စက်ရုပ်လှုပ်ရှားမှုထိန်းချုပ်မှု၊ အလိုအလျောက်တံခါးများ၊ ကားပါကင်သတိပေးချက်များ သို့မဟုတ် အရည်အဆင့်ပရောဂျက်များအတွက် အကွာအဝေးဒေတာကို အသုံးပြုနိုင်သည်။

Arduino HC-SR04 ultrasonic အာရုံခံကိရိယာ အပိုင်းအခြား အစီအစဉ်

HC-SR04 တိုင်းတာမှု တိကျမှုကို မြှင့်တင်နည်း

  • တိုင်းတာထားသော အရာဝတ္တုကို အကြံပြုထားသော အကွာအဝေးအကွာအဝေးနှင့် 2cm မျက်မမြင်ဇုန်အပြင်ဘက်တွင် ထားပါ။

  • ပိုမိုကောင်းမွန်သော ultrasonic ရောင်ပြန်ဟပ်မှုအတွက် ပြားချပ်ချပ်နှင့် အစိုင်အခဲပစ်မှတ်မျက်နှာပြင်ကို အသုံးပြုပါ။

  • ပျော့ပျောင်းသော၊ ထောင့်ချိုး၊ အပေါက်များ သို့မဟုတ် အသံစုပ်ယူနိုင်သော ပစ္စည်းများကို တိုင်းတာခြင်းကို ရှောင်ကြဉ်ပါ။

  • တည်ငြိမ်သော 5V ပါဝါထောက်ပံ့မှုကို အသုံးပြုပြီး ကြိုးတိုတိုတိုနှင့် လုံခြုံအောင်ထားပါ။

  • ပဲ့တင်သံပြန်မလာသောအခါ ကြာမြင့်စွာပိတ်ဆို့ခြင်းကို တားဆီးရန် pulseIn() တွင် အချိန်ကုန်သွားပါသည်။

  • ဆူညံသံများကို လျှော့ချရန် ပျမ်းမျှ သို့မဟုတ် အလယ်အလတ်-စစ်ထုတ်ခြင်း

  • ပိုတိကျမှုအတွက်၊ အသံအမြန်နှုန်းသည် လေအပူချိန်နှင့်အတူ ပြောင်းလဲသွားသောကြောင့် အပူချိန်ကို ပေးလျော်သည်။

Arduino Ultrasonic Sensor ပရောဂျက်များ၏ ဘုံအသုံးချမှုများ

လျှောက်လွှာ HC-SR04 ကို ဘယ်လိုအသုံးပြုလဲ။
အတားအဆီးကို ရှောင်ရှားနိုင်သော စက်ရုပ် အနီးနားရှိ အရာဝတ္တုများကို ထောက်လှမ်းပြီး စက်ရုပ်ကို ဦးတည်ချက်ပြောင်းရန် ကူညီပေးသည်။
ကားပါကင်အကွာအဝေးအာရုံခံကိရိယာ ယာဉ်နှင့် အတားအဆီးကြား အကွာအဝေးကို တိုင်းတာသည်။
အရည်အဆင့်ကို သိရှိခြင်း။ အာရုံခံကိရိယာမှ အရည်မျက်နှာပြင်သို့ ထိတွေ့မှုမရှိဘဲ အကွာအဝေးကို တိုင်းတာသည်။
စမတ်အမှိုက်ပုံး အနီးနားရှိ လက် သို့မဟုတ် အရာဝတ္တုကို ထောက်လှမ်းပြီး အလိုအလျောက် အဖုံးဖွင့်ခြင်းကို အစပျိုးသည်။

အနှစ်ချုပ်

Arduino နှင့် HC-SR04 ultrasonic အာရုံခံကိရိယာကို အသုံးပြုရန်၊ VCC သို့ 5V၊ GND သို့ GND ချိတ်ဆက်ပါ၊ ဒစ်ဂျစ်တယ်အထွက်ပေါက်တစ်ခုသို့ TRIG၊ နှင့် ဒစ်ဂျစ်တယ်ထည့်သွင်းသည့်ပင်နံပါတ်သို့ ECHO ကို ချိတ်ဆက်ပါ။ 10us အစပျိုးသွေးခုန်နှုန်းကို ပေးပို့ပါ၊ pulseIn() ဖြင့် ပဲ့တင်သံကြာချိန်ကိုဖတ်ပြီး အကွာအဝေးကို ပျံသန်းချိန်ဖော်မြူလာဖြင့် တွက်ချက်ပါ။

HC-SR04 သည် ဈေးမကြီးသော၊ အသုံးပြုရလွယ်ကူပြီး Arduino အကွာအဝေးတိုင်းတာခြင်းပရောဂျက်များအတွက် သင့်လျော်ပါသည်။ အကောင်းဆုံးရလဒ်များအတွက်၊ ပစ်မှတ်မျက်နှာပြင်၊ ထောင့်တိုင်းတာခြင်း၊ မျက်မမြင်ဇုန်၊ တည်ငြိမ်သောပါဝါ၊ အချိန်လွန်ကိုင်တွယ်ခြင်းနှင့် အပူချိန်သက်ရောက်မှုတို့ကို အာရုံစိုက်ပါ။

HC-SR04 Arduino Ultrasonic Sensor အကြောင်း အမေးများသောမေးခွန်းများ

HC-SR04 ultrasonic sensor သည် Arduino နှင့် မည်သို့အလုပ်လုပ်သနည်း။

Arduino သည် TRIG pin သို့ 10us pulse ပေးပို့သည်။ HC-SR04 သည် 40kHz ultrasonic pulses ရှစ်ခုကို ထုတ်လွှတ်ပြီး ရောင်ပြန်ဟပ်သော အသံပြန်မလာမချင်း ECHO pin ကို မြင့်မားစွာ သတ်မှတ်ပေးသည်။ Arduino သည် ဤသွေးခုန်နှုန်းအချိန်ကို တိုင်းတာပြီး အကွာအဝေးကို တွက်ချက်သည်။

HC-SR04 Arduino ပရောဂျက်များအတွက် အကွာအဝေးဖော်မြူလာကဘာလဲ။

ဖော်မြူလာမှာ အကွာအဝေး = ကြာချိန် × အသံ၏ အမြန်နှုန်း / 2. စင်တီမီတာတွင်၊ အများသုံး Arduino ဖော်မြူလာသည် အကွာအဝေး Cm = ကြာချိန် × 0.0343 / 2 ဖြစ်ပြီး ကြာချိန်ကို မိုက်ခရိုစက္ကန့်ဖြင့် တိုင်းတာသည်။

ကျွန်ုပ်တို့သည် ultrasonic sensor ရလဒ်ကို အဘယ်ကြောင့် 2 ဖြင့် ခွဲသနည်း။

တိုင်းတာထားသော ပဲ့တင်သံအချိန်သည် အာရုံခံကိရိယာမှ အရာဝတ္ထုဆီသို့ အသွားအပြန်အချိန်ဖြစ်ပြီး အာရုံခံကိရိယာသို့ ပြန်သွားသည့်အချိန်ဖြစ်သည်။ 2 ဖြင့် ပိုင်းခြားခြင်းသည် အာရုံခံကိရိယာနှင့် အရာဝတ္ထုကြား တစ်လမ်းသွား အကွာအဝေးကို ပေးသည်။

TRIG နှင့် ECHO အတွက် မည်သည့် Arduino pins ကို အသုံးပြုသင့်သနည်း။

Arduino digital pins အများစုကို သင်သုံးနိုင်သည်။ ဥပမာများစွာတွင်၊ TRIG သည် ဒစ်ဂျစ်တယ်ပင်နံပါတ် 9 နှင့် ချိတ်ဆက်ထားပြီး ECHO သည် ဒစ်ဂျစ်တယ်ပင်နံပါတ် 10 သို့ ချိတ်ဆက်ထားသည်။ ကုဒ်သည် သင့်ဝိုင်ယာကြိုးများတွင် အသုံးပြုသည့် pin များနှင့် ကိုက်ညီရမည်ဖြစ်သည်။

ကျွန်ုပ်၏ HC-SR04 ultrasonic အာရုံခံကိရိယာသည် သုည သို့မဟုတ် ကျပန်းတန်ဖိုးများကို အဘယ်ကြောင့် ပြန်ပေးသနည်း။

အဖြစ်များသောအကြောင်းရင်းများတွင် ဝိုင်ယာကြိုးပြတ်တောက်ခြင်း၊ မတည်ငြိမ်သော 5V ပါဝါ၊ မှားယွင်းသော TRIG သို့မဟုတ် ECHO ပင်နံပါတ်များ၊ အကွာအဝေးရှိ အရာဝတ္ထုမရှိ၊ ထောင့်ချိုးပစ်မှတ်မျက်နှာပြင်များ၊ ပျော့ပျောင်းသောပစ္စည်းများ၊ ပိတ်ဆို့ထားသော အာရုံခံခေါင်းများ သို့မဟုတ် pulseIn() လုပ်ဆောင်ချက်တွင် အချိန်ကုန်သွားခြင်း ပါဝင်သည်။

HC-SR04 ultrasonic အာရုံခံကိရိယာ၏ မျက်မမြင်ဇုန်ကား အဘယ်နည်း။

မျက်မမြင်ဇုန်သည် မော်ဂျူးအား ယုံကြည်စိတ်ချစွာ မတိုင်းတာနိုင်သော အနိမ့်ဆုံးအကွာအဝေးဖြစ်သည်။ HC-SR04 အတွက်၊ မျက်စိကန်းဇုန်သည် များသောအားဖြင့် 2cm ခန့်ရှိသည်။ ၎င်းထက် နီးကပ်သော အရာဝတ္ထုများသည် မတည်မငြိမ်သော ဖတ်ရှုမှုများကို ထုတ်ပေးနိုင်သည်။

HC-SR04 သည် Arduino ဖြင့် ရေအဆင့်ကို တိုင်းတာနိုင်ပါသလား။

အာရုံခံကိရိယာကို အစိုဓာတ်မှကာကွယ်ပြီး အရည်မျက်နှာပြင်အထက်တွင် တပ်ဆင်ပါက HC-SR04 ကို ရိုးရှင်းသော အဆက်အသွယ်မရှိသော ရေအဆင့်ပရောဂျက်များအတွက် အသုံးပြုနိုင်သည်။ စိုစွတ်သော၊ အပြင်ဘက် သို့မဟုတ် စက်မှုကန်များအတွက်၊ ရေစိုခံ ultrasonic အာရုံခံကိရိယာကို အကြံပြုထားသည်။

Arduino Ultrasonic Sensor ဖတ်ရှုခြင်းကို ပိုမိုတည်ငြိမ်အောင် မည်သို့ပြုလုပ်နိုင်မည်နည်း။

တည်ငြိမ်သော ပါဝါထောက်ပံ့မှုကို အသုံးပြုပါ၊ အာရုံခံကိရိယာကို ပစ်မှတ်သို့ ထောင့်မှန်ထားရှိပါ၊ ပျော့ပျောင်းသော သို့မဟုတ် ထောင့်ချိုးရှိသော မျက်နှာပြင်များကို ရှောင်ကြဉ်ပါ၊ pulseIn timeout ထည့်ပါ၊ အကြိမ်များစွာဖတ်ခြင်း၊ အလယ်အလတ်စစ်ထုတ်ခြင်းကို အသုံးပြုပါ၊ တိုင်းတာမှုကြားတွင် 60ms ခန့်ခွင့်ပြုပါ။

အကြောင်းအရာဇယား