Съдържание:

1,50 м. Мярка за социално дистанциране: 3 стъпки (със снимки)
1,50 м. Мярка за социално дистанциране: 3 стъпки (със снимки)

Видео: 1,50 м. Мярка за социално дистанциране: 3 стъпки (със снимки)

Видео: 1,50 м. Мярка за социално дистанциране: 3 стъпки (със снимки)
Видео: Новините на NOVA (25.01.2024 - централна емисия) 2024, Ноември
Anonim
Image
Image
Схематично
Схематично

В тази конструкция адаптирам обикновена рулетка за измерване, когато е изминато разстояние от 1,5 м. След това ще кажа „един и половина метра“. Той също така ще покаже със зелена или червена светлина дали сте над или под това разстояние.

Този проект беше направен поради предизвикателство, започнато от Хенк Райкерт в неговата поредица в Youtube De Koterij и аз исках да го свържа с настоящите проблеми на COVID19 и социалното дистанциране. Холандски филм в YouTube за тази конструкция може да бъде намерен на Youtube Weyn. Tech (Добавят се надписи на английски).

Използвани материали:

  1. Рулетка
  2. Оптичен енкодер: e4p-100-079
  3. Аудио: DFPlayer Mini + sd-карта
  4. Мощност: PowerBoost 1000C
  5. MCU: Adafruit HUZZAH32 - ESP32 Feather (може да се използва и всяко друго arduino, тъй като не използвам BLE или Wi -Fi функциите в тази компилация)
  6. Neopixel
  7. Говорителят
  8. Батерия
  9. Превключвател за включване/изключване

Стъпка 1: Схеми

Схематично
Схематично

Свържете компонентите, както е посочено на схемата. Корпусът е използван повторно и адаптиран от друга конструкция, но можете да използвате всяка правоъгълна кутия, която е достатъчно голяма, за да побере компонентите. Нуждаете се от цяло за вашия високоговорител, рулетката и бутона за включване/включване (и в идеалния случай за usb min за зареждане на батерията).

Прикрепете металната плоча с индикатори към въртящата се част на измервателната лента, уверете се, че я центрирате възможно най -добре.

На SD картата за DFPlayer трябва да копирате mp3, който искате да бъде възпроизведен, когато зададеното разстояние е покрито.

Стъпка 2: Код

Код
Код

Целият код може да бъде намерен на github.

ESP32 (може да се използва и всеки друг arduino) непрекъснато ще анкетира A en B изхода на енкодера и ще увеличи или намали брояча. Когато надвишава -2150, знам, че за моята ролетка е надхвърлил 1,5 метра. Ще трябва да калибрирате това за вашия глюкомер. В зависимост от стойността светодиодният цвят се променя и DFPlayer се нарежда да възпроизвежда mp3, който е на sd-картата.

Стъпка 3: Енкодерът е обяснен

Енкодерът е обяснен
Енкодерът е обяснен

Как можем да измерим колко далеч сме развили брояча?

Това обяснение е преписът на видеоклипа:

Е, за това използвам оптичен енкодер, а именно инкрементален въртящ се енкодер. Имате и други, например абсолютни енкодери. Те са много подходящи за познаване на точната позиция в рамките на 1 завъртане. Но инкрементал, от друга страна, дава фиксирани импулси по време на изместване, така че можете сами да измерите въртенето, също в диапазон от различни ротации. По този начин можете да измерите самото въртене, дори при различни завъртания. Използвам квадратурен енкодер, който дава два сигнала, за да може да се определи и посоката.

Как точно работи това?

На кръглия диск има черни маркировки. Този диск е прикрепен към рулетката и следователно ще се върти с нея. Самият сензор се състои от светодиод и два фотодетектора, които измерват дали светлината се отразява. Ако светодиодът свети на черната линия, по -малко или никаква светлина ще се отрази, отколкото когато свети върху метала между черната маркировка. След това този сигнал ще бъде преобразуван в квадратна вълна на изхода. Изходът A и B са поставени по такъв начин, че да можете да видите от коя комбинация от 2 посоката се обръща.

Нека разгледаме това подробно

При всяка смяна на ръба на A можете да промените стойността на B, в която посока се обръщаме. В енкодера, който използвам, импулсът А ще започне преди импулса В, ако завъртим по часовниковата стрелка. И обратно, ако се обърнем обратно на часовниковата стрелка. Така че можем да разпознаем 3 импулса, които ни казват нещо за това колко е обърнато. Моят енкодер има 100 цикъла на оборот (CPR). в този случай се е обърнал почти 10.8 градуса. Ако погледнете техническите листове, обърнете специално внимание на това какво се има предвид под CPR, понякога това са броят цикли на обороти, понякога броят на броенията на оборот (или индивидуално различни състояния на оборот). Всеки импулс съдържа 4 различни състояния. Висока или ниска при A и B. Което е 4 пъти повече, отколкото при цикли на оборот. PPR или импулси на оборот обикновено се използват за измерване на броя на импулсите на пълен оборот. Но някои информационни листове тук означават броя на различните импулсни състояния на оборот. Така че и тук, погледнете внимателно в листа с данни какво се има предвид. Тук виждаме, че импулсът А идва преди импулса В.

Лесен начин да обработите това в код е, когато сигналът А се промени, за да видите каква е стойността на сигнала В. Ако сигналът В няма стойността на сигнала А, завъртаме по часовниковата стрелка и всеки път можем да увеличаваме или увеличаваме брояч.

Сега получаваме 200 промени на ръба на пълен оборот, защото имаме 2 на импулс. Така че, ако броячът е на 200, завъртяхме пълен оборот. Или завъртено на 360 градуса Обратното, ако се обърнем в обратна посока, тогава можете да видите, че сигналът А ще генерира същите 3 импулса.

И така, тук също имаме, че се е обърнало 10.8 градуса. Но този път B сигналът има същата стойност като A сигнала, така че знаем, че B сигналът вече е пред A сигнала. И така, ние се обръщаме обратно на часовниковата стрелка. Следователно в този случай можем да намалим брояча. Сега знаем колко пъти е отрязана рулетката. Ако искаме да знаем фиксирано разстояние, то е доста просто.

Например, тук, за един и половина метра, броячът трябва да бъде -2150. С други думи, 3870 градуса обратно на часовниковата стрелка.

Ако винаги искате да знаете колко е развито, трябва да вземете предвид, че диаметърът става все по -малък, с други думи, разстоянието на лентата ще бъде все по -малко при пълно завъртане.

Препоръчано: