Steam Controller ဖြင့် Lego မော်တာများ၏ ကြိုးမဲ့ထိန်းချုပ်မှု

Steam Controller ဖြင့် Lego မော်တာများ၏ ကြိုးမဲ့ထိန်းချုပ်မှု

ငယ်ငယ်တုန်းကတော့ အမိုက်စားပစ္စည်းတွေကို ဖန်တီးဖို့ Lego နည်းပညာကို အမြဲလိုချင်ခဲ့တယ်။ Lego အုတ်ခဲများကို မီးငြှိမ်းသတ်နိုင်သော လှည့်ပတ်လှံတံများဖြင့် ကိုယ်ပိုင်အုပ်ချုပ်ခွင့်ရ တင့်ကားများ။ ဒါပေမဲ့ အဲဒီ့တော့ ကျွန်တော့်မှာ အဲဒီလို အစုံမရှိဘူး။

ပြီးတော့ ပုံမှန် Lego အုတ်တွေတောင် မရှိတော့ဘူး။ အစ်ကို့မှာ ဒီလိုစျေးကြီးတဲ့ အရုပ်တွေ ရှိတဲ့ သူငယ်ချင်းတစ်ယောက်ပဲရှိတယ်။

အခု ကျွန်မမှာ အဲဒီအရွယ် သားတစ်ယောက်ရှိတယ်။ ပြီးတော့ သူက နံရံကို ဆောင့်မတိုက်မချင်း ရှေ့ကို မိုက်မဲတဲ့ တင့်ကားတွေ ဆောက်တယ်။

ယခုလည်း ESP32 နှင့် ဂဟေသံ၏ မှော်ဆန်သည့်အချိန်ရောက်ပြီ - ၎င်းတို့အတွက် မှန်ကန်သော အဝေးထိန်းခလုတ်ကို စုစည်းလိုက်ကြပါစို့။

မဟုတ်ဘူး၊ အဲဒီလို အဝေးထိန်းကိရိယာတွေ ရှိနေတာကို ငါသိတယ်။ ဒါပေမယ့် သူတို့ထဲက တစ်ယောက်မှ ကျွန်မနဲ့ လုံးဝ မလိုက်ဖက်ပါဘူး။ ၎င်းတို့သည် အနီအောက်ရောင်ခြည်၊ 80s နည်းပညာဖြင့် သို့မဟုတ် ကြီးမားလွန်းသည်။ ဒါမှမဟုတ် ဈေးကြီးတယ်။ အရေးကြီးဆုံးကတော့၊ သူတို့ထဲက တစ်ခုခုအကြောင်း ငါ့သားကို ငါပြောပြနိုင်မှာ မဟုတ်ဘူး- "မင်းအတွက် ငါ အထူးလုပ်ပေးခဲ့တယ်!"

ဒါကြောင့် လူတိုင်းကို အုပ်ချုပ်ဖို့ ပိုမိုကောင်းမွန်တဲ့ အဝေးထိန်းခလုတ် အသစ်တစ်ခု ပြုလုပ်လိုက်ရအောင်။

Steam Controller ဖြင့် Lego မော်တာများ၏ ကြိုးမဲ့ထိန်းချုပ်မှု

ပါဝင်ပစ္စည်းများ:

  • ESP32-WROOM-32D | WiFi၊ BLE နှင့် I/O ပရိုဆက်ဆာ - နှစ်ခုကို ထိန်းချုပ်ရန် လုံလောက်သည်။ မော်တာများ и အယ်လ်အီးဒီ.
  • DRV8833 | မော်တာများအတွက်လုံလောက်သောပါဝါပါဝါနှင့်အတူ double H-တံတား။
  • TPS62162 | WSON-17 8x2mm case ကို ဂဟေဆက်သောအခါတွင်လည်း ပျော်စရာကောင်းစေရန် ဗို့အား 2V သို့ လျှော့ချပါ။
  • CP2104 | ESP32 ပရိုဂရမ်အတွက်
  • Connectors မော်တာများနှင့် diodes များကိုချိတ်ဆက်ရန်အတွက်။ ဝိုင်ယာကြိုးများကို ဖြတ်ပြီး အောက်ခြေတွင် ဂဟေဆက်ပြီး အပေါ်မှ Lego ချိတ်ဆက်ကိရိယာကို ကော်ပါ။

ဤအရာအားလုံးကို သေးငယ်သော ဘုတ်ပြားပေါ်တွင် ထားရှိပါမည် - EasyEDA တည်းဖြတ်သူ၏ အသွင်အပြင်သည် ဤတွင်ဖြစ်သည်။

Steam Controller ဖြင့် Lego မော်တာများ၏ ကြိုးမဲ့ထိန်းချုပ်မှု

ခေါင်းစဉ်ဓာတ်ပုံတွင်မြင်ရသော ဝိုင်ယာကြိုးသည် အချို့သောအမှားများကိုပြင်ရန်မဟုတ်ဘဲ USB မှပါဝါပေးဆောင်ရန် လိုအပ်ပါသည်။ မော်တာအတွက် လုံလောက်မှု မရှိနိုင်သော်လည်း၊ ကံမကောင်းစွာဖြင့်၊ တရုတ်နိုင်ငံမှ အဆက်အသွယ်များသည် ကျွန်ုပ်ထံသို့ မရောက်ရှိသေးပါ။ ထို့ကြောင့် ကျွန်ုပ်သည် LEDs များ၏ လုပ်ဆောင်ချက်ကို ဦးစွာ စစ်ဆေးပါသည်။ ဓာတ်ပုံထဲက လှပဖို့အတွက် မော်တာကနေ ချိတ်ဆက်ကိရိယာကို ဘုတ်ပေါ်မှာ တင်လိုက်ရုံပါပဲ။

ကျွန်ုပ်ဘုတ်၏ ဗားရှင်း 1.1 (EasyEDA တွင်ရှိပြီးသား ဗားရှင်း 1.2 နှင့် မတူဘဲ) တွင် LED များ မပါရှိသောကြောင့် ကျွန်ုပ်သည် ဆန့်ကျင်ဘက်အပြိုင် ဒိုင်အိုဒ့်နှစ်ခုကို အထွက်တွင် ဂဟေဆက်ကာ ဖြစ်ပျက်နေသည်များကို မြင်နိုင်သည်။ အနီးကပ်ကြည့်လျှင် ဗီဒီယိုသည် ရှေ့/နောက် ရွေ့လျားမှုကို ညွှန်ပြသော diodes 0603 တစ်စုံ၏ အလှည့်အပြောင်းကို ပြသသည်။

အဝေးထိန်းခလုတ်အတွက် ပထမတော့ ကျွန်တော်က ဂန္တဝင်အဝေးထိန်းခလုတ်တစ်ခုပါရှိတဲ့ နောက်ထပ်ဘုတ်တစ်ခုနဲ့ ESP32 ကို စုစည်းချင်ပါတယ်။

သို့သော်၊ ထို့နောက် Steam Controllers တွင် Bluetooth Low Energy (BLE) မုဒ် ရှိသည်ကို သတိရမိသည်။ ဤပြဿနာကို ဖြေရှင်းရန် ဆုံးဖြတ်ခဲ့ပြီး နာရီအနည်းငယ်အကြာတွင် ထိန်းချုပ်ကိရိယာမှ ပက်ကတ်များကို မည်သို့လက်ခံရမည်ကို လေ့လာခဲ့သည်။

ဒါကိုလုပ်ဖို့၊ SteamController လို့ ခေါ်တဲ့ HID စက်ကို ရှာပြီး ၎င်းနဲ့ ချိတ်ဆက်ဖို့ လိုပါတယ်။ ထို့နောက် Valve မှ စာရွက်စာတမ်းမရှိသော ဝန်ဆောင်မှုနှင့် အချို့ကို အသုံးပြုပါ။ စာရွက်စာတမ်းမရှိသောအမိန့်များpackets များ၏ကူးစက်မှုကိုခွင့်ပြုခြင်း။

Steam Controller ဖြင့် Lego မော်တာများ၏ ကြိုးမဲ့ထိန်းချုပ်မှု

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

Steam Controller ဖြင့် Lego မော်တာများ၏ ကြိုးမဲ့ထိန်းချုပ်မှု

တစ်နာရီခန့်ကြာပြီးနောက်၊ အလံများနှင့် တန်ဖိုးများ၏ အဓိပ္ပါယ်များသည် ကျွန်ုပ်အတွက် ရှင်းလင်းလာပြီး Steam controller နှင့် ESP32 တို့ကို အသုံးပြု၍ LED ကို မှိတ်တုတ်နိုင်ခဲ့သည်။ ¯_(ツ)_/¯

ဖိုင်တွေ

v1.0: "စမ်းသပ်ချဉ်းကပ်မှု"
- ငါဗို့အားထိန်းညှိကိုမှားယွင်းစွာရွေးချယ်ခဲ့သောပထမဆုံးရွေးချယ်မှု။ TPS62291 သည် ဗို့အား 6V အထိသာ ယူသည်။ ပရောဂျက်များစွာကို တပြိုင်တည်း ဖော်ဆောင်နေပြီး၊ စက်သည် 9V နှင့် အလုပ်လုပ်ရန် လိုအပ်သည်ကို မေ့သွားခဲ့သည်။

v1.1: "လုံလောက်ပါတယ်"
- ဤရွေးချယ်မှုကို ဗီဒီယိုများတွင် မြင်နိုင်ပြီး အရာအားလုံး အဆင်ပြေပါသည်။

v1.2: "နောက်ဆုံး"
- အထွက်တွင် အချက်ပြ LED များကို ထည့်သွင်းပြီး ဘုတ်၏ အရွယ်အစားနှင့် အပြင်အဆင်ကို အကောင်းဆုံးဖြစ်အောင် ပြုလုပ်ပါ။

အောက်ဖော်ပြပါ ဗီဒီယိုတိုသည် ချိတ်ဆက်မှုအဆင့် (ပါဝါတက်ပြီးနောက် 1-3 စက္ကန့်) နှင့် မော်တာအထွက်များကို ထိန်းချုပ်မှုကို ပြသသည်။ Lego မှ ချိတ်ဆက်ကိရိယာကို မချိတ်ဆက်ရသေးပါ။ ၎င်းသည် အဖြူရောင်စတုဂံဖြင့် အမှတ်အသားပြုထားသည့် အခြားချိတ်ဆက်ကိရိယာများဘေးရှိ နေရာလွတ်သို့ ရောက်သွားမည်ဖြစ်သည်။

အခု ငါ့သားက သူတပ်ဆင်ထားတဲ့ စက်တွေကို ထိန်းချုပ်ဖို့ ဒီ controller ကို ပုံမှန်သုံးတယ်။

စိတ်ဖိစီးမှု စမ်းသပ်နေစဉ်အတွင်း ပြဿနာတစ်ခုပဲ ကြုံတွေ့ခဲ့ရသည်- မော်တာမောင်းသူ၏ “fast decay” မုဒ် [fast decay] သည် အကောင်းဆုံးဖြစ်မည်ဟု ထင်ခဲ့သော်လည်း၊ ၎င်းကြောင့် စက္ကန့်အနည်းငယ်ကြာပြီးနောက် မော်တာမြန်နှုန်းသည် အလွန်ကျဆင်းသွားခဲ့သည်။ . ဒါကြောင့် ကျွန်တော် ကုဒ်ကို "slow decay" [slow decay] ကိုသုံးပါတယ်။

Steam Controller ဖြင့် Lego မော်တာများ၏ ကြိုးမဲ့ထိန်းချုပ်မှု

DRV မည်ကဲ့သို့ အလုပ်လုပ်ကြောင်း၊ မော်တာသည် အစတွင် အဘယ်ကြောင့် မြန်ကြောင်း မသိသော်လည်း၊ ထို့နောက် 10 စက္ကန့်အကြာတွင် တဖြည်းဖြည်း နှေးကွေးလာသည်။ MOSFET များသည် အပူတက်လာပြီး ၎င်းတို့၏ ခံနိုင်ရည်မှာ အလွန်မြင့်တက်နေပေမည်။

Arduino ကိုအသုံးပြုနည်း၏ ဤဥပမာသည် အခြားသူများကို အားစိုက်ထုတ်ပြီး ၎င်းတို့၏ကလေးများကို အီလက်ထရွန်းနစ်ပစ္စည်းများနှင့် မိတ်ဆက်ပေးနိုင်စေမည်ဟု မျှော်လင့်ပါသည်။

source: www.habr.com

မှတ်ချက် Add