Оглавление:
Видео: Рулетка для социальной дистанции 1,50 м: 3 шага (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
В этой сборке я адаптирую обычную рулетку для измерения пройденного расстояния в 1,5 м. Я тогда скажу «полтора метра». Он также будет указывать зеленым или красным светом, если вы находитесь выше или ниже этого расстояния.
Этот проект был выполнен из-за задачи, начатой Хенком Райкаертом в его сериале De Koterij на YouTube, и я хотел связать его с текущими проблемами COVID19 и социальным дистанцированием. Голландский разговорный видеоролик на YouTube об этой сборке можно найти на Youtube Weyn. Tech (Добавлены английские подписи).
Используемые материалы:
- Рулетка
- Оптический кодировщик: e4p-100-079
- Аудио: DFPlayer Mini + SD-карта
- Мощность: PowerBoost 1000C
- MCU: Adafruit HUZZAH32 - ESP32 Feather (также можно использовать любой другой Arduino, поскольку я не использую функции BLE или Wi-Fi в этой сборке)
- Neopixel
- Оратор
- Аккумулятор
- Переключатель включения / выключения
Шаг 1: Схема
Подключите компоненты, как показано на схеме. Корпус был повторно использован и адаптирован из другой сборки, но вы можете использовать любую прямоугольную коробку, которая достаточно велика, чтобы вместить компоненты. Вам понадобится целый комплект для вашего динамика, рулетки и кнопки включения / выключения (а в идеале - для usb min для зарядки аккумулятора).
Прикрепите металлическую пластину с индикаторами к вращающейся части измерительной ленты, убедитесь, что вы центрировали ее как можно лучше.
На SD-карту для DFPlayer вы должны скопировать mp3, который вы хотите воспроизвести, когда пройдёт установленное вами расстояние.
Шаг 2: Код
Весь код можно найти на github.
ESP32 (также можно использовать любой другой Arduino) будет непрерывно опрашивать выход A и B кодировщика и будет увеличивать или уменьшать счетчик. Когда оно превышает -2150, я знаю по рулетке, что оно превышало 1,5 метра. Вам нужно будет откалибровать это для вашего глюкометра. В зависимости от значения цвет светодиода меняется, и DFPlayer получает команду воспроизвести mp3, который находится на SD-карте.
Шаг 3: объяснение кодировщика
Как мы можем измерить, насколько мы развернули счетчик?
Это объяснение является расшифровкой видео:
Для этого я использую оптический энкодер, а именно инкрементальный энкодер. У вас также есть другие, например абсолютные энкодеры. Они очень подходят для определения точного положения за 1 оборот. Но инкрементальный, с другой стороны, дает фиксированные импульсы во время смещения, поэтому вы можете измерить вращение самостоятельно, также в диапазоне различных вращений. Таким образом, вы можете измерить само вращение даже при разных вращениях. Я использую квадратурный энкодер, который выдает два сигнала, чтобы можно было определить направление.
Как именно это работает?
На круглом диске есть черные отметки. Этот диск прикреплен к рулетке и поэтому будет вращаться вместе с ней. Сам датчик состоит из светодиода и двух фотодетекторов, которые измеряют, отражается ли свет. Если светодиод светит на черную линию, свет будет отражаться меньше или совсем не будет отражаться, чем когда он светит на металл между черной меткой. Затем этот сигнал будет преобразован в прямоугольную волну на выходе. Выходы A и B расположены таким образом, чтобы вы могли видеть, из какой комбинации из 2 происходит изменение направления.
Давайте посмотрим на это подробнее
С каждым изменением кромки A вы можете изменять значение B, в каком направлении мы поворачиваемся. В кодировщике, который я использую, импульс A начнется перед импульсом B, если мы повернем его по часовой стрелке. И наоборот, если повернуть против часовой стрелки. Таким образом, мы можем распознать 3 импульса, которые что-то говорят нам о том, сколько было повернуто. У моего энкодера 100 циклов на оборот (CPR). в данном случае он повернулся почти на 10,8 градуса. Если вы посмотрите на таблицы данных, обратите особое внимание на то, что подразумевается под CPR, иногда это количество циклов на оборот, иногда количество отсчетов на оборот (или индивидуальные разные состояния на оборот). Каждый импульс содержит 4 различных состояния. Высокий или низкий у A и B. Это в 4 раза больше, чем с циклами на оборот. PPR или количество импульсов на оборот обычно используются для измерения количества импульсов на полный оборот. Но в некоторых таблицах данных здесь указано количество различных состояний импульса на оборот. Также здесь внимательно посмотрите в таблице данных, что имеется в виду. Здесь мы видим, что импульс A предшествует импульсу B.
Легкий способ обработать это в коде - это когда сигнал A изменяется, чтобы увидеть, каково значение сигнала B. Если сигнал B не имеет значения сигнала A, мы поворачиваем по часовой стрелке и каждый раз можем увеличивать или увеличивать счетчик.
Теперь мы получаем 200 изменений фронта за полный оборот, потому что у нас есть 2 изменения на импульс. Итак, если счетчик на 200, мы повернулись на полный оборот. Или повернут на 360 градусов. И наоборот, если мы повернемся в противоположном направлении, вы увидите, что сигнал A будет генерировать те же 3 импульса.
Итак, здесь мы также видим, что он повернулся на 10,8 градуса. Но на этот раз сигнал B имеет то же значение, что и сигнал A, поэтому мы знаем, что сигнал B уже опережает сигнал A. А значит, поворачиваем против часовой стрелки. В этом случае мы можем уменьшить счетчик. Теперь мы знаем, сколько раз обрезалась рулетка. Если мы хотим знать фиксированное расстояние, это довольно просто.
Например, здесь на полтора метра счетчик должен быть -2150. Другими словами, 3870 градусов против часовой стрелки.
Если вы всегда хотите знать, сколько было развернуто, вы должны учитывать, что диаметр становится все меньше, другими словами, расстояние на рулетке будет все меньше и меньше за полный оборот.
Рекомендуемые:
Измерение времени (рулетка): 5 шагов (с изображениями)
Измерение времени (рулетка): для этого проекта мы (Алекс Фил и Анна Линтон) взяли повседневный измерительный инструмент и превратили его в часы! Первоначальный план состоял в том, чтобы моторизовать существующую рулетку. Создавая это, мы решили, что будет проще создать собственную оболочку, которая будет работать с
Как сделать детектор социальной дистанции: 15 шагов
Как сделать детектор социальной дистанции: С приближением 2020 года я подумал, что было бы неплохо попрощаться с учебником, который соответствует 2020 году. Я даю вам Детектор социальной дистанции. С этим устройством вы сможете дистанцироваться от общения с помощью технологий и забыть о заботах. Т
Детектор социальной дистанции: 7 шагов (с изображениями)
Детектор социальной дистанции: Детектор социальной дистанции: Я Оуэн О из Денвера, штат Колорадо, и в этом году я буду в 7-м классе. Мой проект называется «Детектор социальной дистанции»! Идеальное устройство для обеспечения безопасности в эти трудные времена. Цель Детектора социальной дистанции
Атмосферная рулетка Arduino / Демонстрация MS5611 GY63 GY86: 4 шага (с изображениями)
Атмосферная рулетка Arduino / демонстрация MS5611 GY63 GY86: это действительно барометр / высотомер, но вы увидите причину названия, посмотрев видео. Датчик давления MS5611, установленный на коммутационных платах Arduino GY63 и GY86, обеспечивает потрясающую производительность . В безветренный день он измерит ваши
Рулетка с наушников IPod: 4 шага
Рулетка в наушниках IPod: Вам когда-нибудь нужно было что-то измерить, но у вас не было под рукой рулетки? В следующий раз используйте наушники iPod! Просто добавьте дюймовые метки на кабель наушников, и у вас будет 31-дюймовая измерительная лента, которая всегда с вами, без лишнего веса или