Мазмуну:

1.50m Коомдук Алыстоо Тасмасы: 3 Кадам (Сүрөттөр менен)
1.50m Коомдук Алыстоо Тасмасы: 3 Кадам (Сүрөттөр менен)

Video: 1.50m Коомдук Алыстоо Тасмасы: 3 Кадам (Сүрөттөр менен)

Video: 1.50m Коомдук Алыстоо Тасмасы: 3 Кадам (Сүрөттөр менен)
Video: RE-LIVE | Int. jumping competition (1.50 m) - Longines FEI Jumping World Cup™ 2022/23WEL Gothenburg 2024, Ноябрь
Anonim
Image
Image
Схемалык
Схемалык

Бул курулушта мен кадимки рулетканы 1,5 м аралыкты басып өткөндө өлчөйм. Мен анда "бир жарым метр" деп айтам. Бул аралыктан жогору же астында болсоңуз, жашыл же кызыл жарык менен да көрсөтөт.

Бул долбоор Henk Rijckaert өзүнүн ютуб сериясындагы De Koterij тарабынан башталган чакырыктан улам жасалды жана мен аны учурдагы COVID19 жана социалдык алыстоо көйгөйлөрү менен байланыштыргым келди. (Англисче коштомо жазуулар кошулат).

Колдонулган материалдар:

  1. Рулетка
  2. Оптикалык коддоочу: e4p-100-079
  3. Аудио: DFPlayer Mini + sd-card
  4. Power: PowerBoost 1000C
  5. MCU: Adafruit HUZZAH32 - ESP32 Feather (башка ардуинону да колдонсо болот, анткени мен бул структурада BLE же Wi -Fi функцияларын колдонбойм)
  6. Neopixel
  7. Баяндамачы
  8. Батарея
  9. Күйгүзүү/өчүрүү

1 -кадам: схемалык

Схемалык
Схемалык

Схемада көрсөтүлгөндөй компоненттерди туташтырыңыз. Корпус башка конструкциядан кайра колдонулган жана ыңгайлаштырылган, бирок сиз компоненттерге туура келгидей чоң болгон тик бурчтуу кутучаны колдоно аласыз. Сизге спикер, рулетка жана күйгүзүү баскычы керек (жана идеалдуу түрдө батарейканы заряддоо үчүн USB мин).

Көрсөткүчтөрү бар металл пластинканы өлчөөчү лентанын айлануучу бөлүгүнө бекиткиле, аны мүмкүн болушунча жакшы борборлоштурганыңарды текшергиле.

DFPlayer үчүн SD-картада сиз койгон аралыкты басып өткөндө ойноткуңуз келген mp3 көчүрүү керек.

2 -кадам: Код

Code
Code

Бардык кодду githubдан тапса болот.

ESP32 (башка ардуино да колдонулушу мүмкүн) коддогучтун A en B өндүрүшүн үзгүлтүксүз сурамжылайт жана эсептегичти көбөйтөт же төмөндөтөт. -2150дөн ашканда, мен билем, ал рулетка үчүн 1,5 метрден ашты. Муну сиздин метр үчүн калибрлөөңүз керек болот. Мааниге жараша, LED түсү өзгөрөт жана DFPlayer SD картада mp3 ойнотууга буйрук берет.

3 -кадам: Encoder түшүндүрүлдү

Encoder түшүндүрүлдү
Encoder түшүндүрүлдү

Метрди канча убакытка чейин ачканыбызды кантип өлчөй алабыз?

Бул түшүндүрмө видеонун стенограммасы:

Ооба, мен оптикалык коддогучту, тактап айтканда, кошумча ротациялык коддогучту колдоном. Сизде дагы башкалар бар, мисалы абсолюттук кодерлер. Алар 1 айлануу ичиндеги так абалды билүү үчүн абдан ылайыктуу. Бирок кошумча, экинчи жагынан, жылышуу учурунда туруктуу импульстарды берет, андыктан сиз айланууну өзүңүз өлчөй аласыз, ошондой эле ар кандай айланууларда. Ошентип, айлануунун өзүн, атүгүл ар кандай айланууларда да өлчөй аласыз. Мен багытты да аныктоо үчүн эки сигналды берген квадратура коддогучту колдоном.

Канчалык так ошол иш-аракеттерди кылат?

Тегерек дискте кара тактар бар. Бул диск рулеткага тиркелет, ошондуктан аны менен айланат. Сенсор өзү светодиод жана эки фото детектордон турат, алар жарыктын чагылышын чагылдырат. Эгерде LED кара сызыкта жаркыраса, анда кара белгинин ортосундагы металлга караганда жарык аз же такыр чагылбайт. Бул сигнал андан кийин чыгууда төрт бурчтуу толкунга айландырылат. А жана В чыгышы 2нин кайсы комбинациясынан багыт бурулганын көрө тургандай кылып жайгаштырылган.

Муну майда -чүйдөсүнө чейин карап көрөлү

А -нын ар бир четки өзгөрүүсү менен Внин маанисин биз кайсы тарапка бурсак болот. Мен колдонгон кодерде, сааттын жебеси боюнча бурулсак, А импульсу В импульсунун алдында башталат. Жана тескерисинче, эгерде биз сааттын жебесине каршы бурулсак. Ошентип, биз канчалык бурулгандыгы жөнүндө бир нерсе айтып берген 3 импульсту тааный алабыз. Менин коддогучумда бир революцияда 100 цикл бар (CPR). бул учурда дээрлик 10,8 градуска бурулду. Эгерде сиз маалымат баракчаларын карасаңыз, CPR эмнени билдирерин көңүл буруңуз, кээде бул бир революциядагы циклдердин саны, кээде бир революциядагы эсептөөлөрдүн саны (же кезеги менен ар башка мамлекеттер). Ар бир импульс 4 түрдүү абалды камтыйт. А жана В боюнча жогорку же төмөн. Бул революцияга караганда 4 эсе көп. Бир революцияга PPR же импульстар, адатта, толук айлануудагы импульстардын санын өлчөө үчүн колдонулат. Бирок бул жердеги кээ бир маалымат баракчалары революциядагы ар кандай импульстук абалдардын санын билдирет. Ошентип, бул жерде, маалымат баракчасынан эмнени билдирерин кылдаттык менен караңыз. Бул жерден А импульсунун В импульсунан мурун келгенин көрөбүз.

Муну коддо иштетүүнүн оңой жолу - бул A белгиси В сигналынын маанисин көрүү үчүн өзгөргөндө. Эгерде В сигналы А сигналынын маанисине ээ болбосо, биз сааттын жебеси боюнча бурулабыз жана эсептегичти ар бир жолу көбөйтө алабыз.

Биз азыр толук бурулушта 200 четки өзгөрүүлөрдү алабыз, анткени бизде импульстун 2 бар. Ошентип, эгер эсептегич 200дө болсо, биз толук бурулушту бурдук. Же 360 градуска бурулган, тескерисинче, биз тескери жакка бурулсак, анда А сигналы ошол эле 3 импульсту пайда кылаарын көрө аласыз.

Ошентип, бизде да бул жерде 10.8 градуска бурулду. Бирок бул жолу В сигналы А сигналы менен бирдей мааниге ээ, андыктан биз В сигналы А сигналынан алда канча алдыда экенин билебиз. Ошентип, биз сааттын жебесине каршы бурабыз. Бул учурда биз эсептегичти азайта алабыз. Эми биз канча жолу лента кесилгенин билебиз. Эгер биз белгиленген аралыкты билгибиз келсе, анда бул абдан жөнөкөй.

Мисалы, бул жерде бир жарым метр үчүн эсептегич -2150 болушу керек. Башкача айтканда, сааттын жебесине каршы 3870 градус.

Эгерде сиз ар дайым канчасы ачылганын билгиңиз келсе, диаметри башкача айтканда кичирейип баратканын эске алышыңыз керек, рулеткада толук айлануу боюнча барган сайын аз аралык болот.

Сунушталууда: