Мазмұны:

1.50м әлеуметтік қашықтықтағы таспа шарасы: 3 қадам (суреттермен)
1.50м әлеуметтік қашықтықтағы таспа шарасы: 3 қадам (суреттермен)

Бейне: 1.50м әлеуметтік қашықтықтағы таспа шарасы: 3 қадам (суреттермен)

Бейне: 1.50м әлеуметтік қашықтықтағы таспа шарасы: 3 қадам (суреттермен)
Бейне: Мен Boho стиліндегі свингерлер пальтосын 55 минут ішінде тігемін. Үлгіден дайын өнімге дейін барлығы 2024, Қараша
Anonim
Image
Image
Схемалық
Схемалық

Бұл құрылыста мен қашықтығы 1,5 м болған кезде өлшеу үшін тұрақты рулетканы бейімдеймін. Мен содан кейін «бір жарым метр» деп айтамын. Ол сондай -ақ жасыл немесе қызыл шаммен көрсетеді, егер сіз осы қашықтықтан жоғары немесе астында болсаңыз.

Бұл жоба Хенк Райккаерт өзінің De Koterij ютуб сериясында бастаған сынақтың арқасында жасалды, мен оны COVID19 мен әлеуметтік алыстатудың өзекті мәселелерімен байланыстырғым келді. (Ағылшын тіліндегі жазулар қосылады).

Қолданылған материалдар:

  1. Рулетка
  2. Оптикалық кодер: e4p-100-079
  3. Аудио: DFPlayer Mini + SD картасы
  4. Қуат: PowerBoost 1000C
  5. MCU: Adafruit HUZZAH32 - ESP32 Feather (кез келген басқа ардуиноны да қолдануға болады, себебі мен бұл құрылыста BLE немесе Wi -Fi мүмкіндіктерін пайдаланбаймын)
  6. Неопиксель
  7. Динамик
  8. Батарея
  9. Қосу/өшіру қосқышы

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

Схемалық
Схемалық

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

Индикаторлары бар металл пластинаны өлшеу таспасының айналатын бөлігіне бекітіңіз, оны мүмкіндігінше жақсы ортаға қойғаныңызға көз жеткізіңіз.

DFPlayer үшін SD картасында сіз орнатқан қашықтық өтілгенде ойнағыңыз келетін mp3 көшіруіңіз керек.

2 -қадам: код

Код
Код

Барлық кодты github -тан табуға болады.

ESP32 (кез келген басқа arduino қолдануға болады) кодердің A en B шығысын үздіксіз тазартады және есептегішті көбейтеді немесе азайтады. Ол -2150 -ден асқанда, мен рулетка үшін ол 1,5 метрден асатынын білемін. Сіз оны есептегіш үшін калибрлеуіңіз керек. Мәнге байланысты жарықдиодты түс өзгереді және DFPlayer-ге sd-картадағы mp3 ойнауға бұйрық беріледі.

3 -қадам: Кодер түсіндірілді

Кодтаушы түсіндірді
Кодтаушы түсіндірді

Есептегішті қаншалықты ашқанымызды қалай өлшеуге болады?

Бұл түсініктеме бейненің транскрипциясы:

Ол үшін мен оптикалық кодерді қолданамын, яғни қадамдық айналмалы кодер. Сізде басқалар бар, мысалы, абсолютті кодерлер. Олар 1 айналым ішінде нақты позицияны білу үшін өте қолайлы. Бірақ өспелі, керісінше, орын ауыстыру кезінде тұрақты импульстарды береді, осылайша сіз айналуды өзіңіз де, әр түрлі айналуларда да өлшей аласыз. Осылайша сіз айналуды өлшей аласыз, тіпті әр түрлі айналуларда. Мен квадратуралық кодерді қолданамын, ол екі сигнал береді, осылайша бағытты да анықтауға болады.

Бұл қалай дәл жұмыс істейді?

Дөңгелек дискіде қара белгілер бар. Бұл диск рулеткаға бекітілген, сондықтан онымен бірге айналады. Сенсордың өзі жарық диодты және жарықтың шағылуын өлшейтін екі фото детектордан тұрады. Егер жарықдиодты қара сызықта жанып тұрса, онда қара белгі арасындағы металға түскеннен кем немесе аз жарық шағылысады. Содан кейін бұл сигнал шығуда квадраттық толқынға айналады. А және В шығысы 2 комбинациясынан қай бағыттың бұрылғанын көруге болатындай етіп орналастырылған.

Мұны егжей -тегжейлі қарастырайық

А -ның әрбір жиегінің өзгеруімен В -ның мәнін біз қай бағытта бұрылатынын өзгертуге болады. Мен қолданатын кодерде, егер біз сағат тілімен бұрылсақ, А импульсі В импульсінен бұрын басталады. Және керісінше, егер біз сағат тіліне қарсы бұрылсақ. Біз қаншалықты бұрылғанын білдіретін 3 импульсті тани аламыз. Менің кодерде бір айналымда 100 цикл бар (CPR). бұл жағдайда ол шамамен 10,8 градусқа бұрылды. Егер сіз деректер кестесін қарасаңыз, CPR нені білдіретініне мұқият назар аударыңыз, кейде бұл бір айналымдағы циклдар саны, кейде бір айналымдағы санаулар саны (немесе әр айналымдағы жеке күйлер). Әр импульс 4 түрлі күйден тұрады. А және В деңгейінде жоғары немесе төмен. Бұл бір революцияға қарағанда 4 есе көп. PPR немесе бір айналымдағы импульс әдетте толық айналымдағы импульс санын өлшеу үшін қолданылады. Бірақ мұнда кейбір мәліметтер парағы әр айналымда әр түрлі импульстік күйлердің санын білдіреді. Сонымен қатар, мұнда не айтылғанын деректер кестесінен мұқият қараңыз. Біз мұнда А импульсінің В импульсінен бұрын келетінін көреміз.

Мұны кодта өңдеудің қарапайым әдісі - бұл A сигналының В сигналының мәнін білу үшін өзгеруі. Егер В сигналында А сигналының мәні болмаса, біз сағат тілінің бағытымен бұрыламыз және әр уақытта санауышты көбейте немесе көбейте аламыз.

Бізде бір айналымда 200 шеткі өзгеріс болады, себебі бізде импульсте 2 болады. Сонымен, егер есептегіш 200 болса, біз толық бұрылысты айналдырдық. Немесе 360 градусқа бұрылды, керісінше, егер біз қарама -қарсы жаққа бұрылсақ, онда А сигналы бірдей 3 импульсті тудыратынын көруге болады.

Сонымен, бізде де 10,8 градусқа бұрылды. Бірақ бұл жолы В сигналы А сигналымен бірдей мәнге ие, сондықтан біз В сигналының А сигналынан әлдеқайда алда екенін білеміз. Сондықтан біз сағат тіліне қарсы бұрыламыз. Бұл жағдайда есептегішті төмендетуге болады. Енді біз рулетка неше рет кесілгенін білеміз. Егер біз белгіленген қашықтықты білгіміз келсе, бұл өте қарапайым.

Мысалы, мұнда бір жарым метрге есептегіш -2150 болуы керек. Басқаша айтқанда, сағат тіліне қарсы 3870 градус.

Егер сіз әрқашан қанша ашылғанын білгіңіз келсе, диаметрі кішірейіп бара жатқанын ескеруіңіз керек, толық айналу кезінде рулеткада қашықтық азаяды.

Ұсынылған: