Оглавление:

Беговой трекер IDC2018IOT: 6 шагов
Беговой трекер IDC2018IOT: 6 шагов

Видео: Беговой трекер IDC2018IOT: 6 шагов

Видео: Беговой трекер IDC2018IOT: 6 шагов
Видео: Приложения, с которыми легче бежать 2024, Июль
Anonim
Беговой трекер IDC2018IOT
Беговой трекер IDC2018IOT

Мы пришли с этой идеей в рамках курса «Интернет вещей» в IDC Herzliya.

Цель проекта - улучшить физические нагрузки, связанные с бегом или ходьбой, с использованием NodeMCU, нескольких датчиков и сервера умения. Результатом этого проекта стало очень полезное устройство IOT, которое в будущем можно превратить в настоящий производственный продукт, который будет использоваться повсюду! Пожалуйста, сообщите нам свое мнение:)

Перед тем как начать, убедитесь, что у вас есть:

* Устройство NodeMCU.

* 1 Пьезоэлектрический датчик.

* Датчик MPU6050.

* Одна большая матрица.

* Эластичная веревка.

* Аккаунт Firebase.

По желанию:

* Множественный пьезоэлектрический датчик

* мультиплексор

Шаг 1: Настройка и калибровка MPU6050

Image
Image

"loading =" ленивый"

Настройка пьезо
Настройка пьезо

Инструкции:

  • Подключите пьезоэлемент с резистором 1M (см. Прилагаемый рисунок).
  • Загрузите прикрепленный эскиз.
  • Присоедините устройство к одной ноге с помощью эластичной веревки.
  • Откройте «серийный плоттер».
  • Посмотрите видео, прилагаемое к этому шагу.

Шаг 3: интеграция датчиков в Arduino

Image
Image
Интеграция датчиков в Arduino
Интеграция датчиков в Arduino

Мы видели, как откалибровать датчики, теперь мы собираемся интегрировать оба датчика в NodeMCU!

  • Подключите оба датчика к устройству, используйте те же контакты, что и в шагах 1 + 2.
  • Загрузите прикрепленный эскиз.
  • Подключите устройство с 2 датчиками к одной ноге.
  • Откройте «серийный плоттер».
  • Смотрите прикрепленное видео.

Шаг 4: Отправка данных в облако

Отправка данных в облако!
Отправка данных в облако!
Отправка данных в облако!
Отправка данных в облако!
Отправка данных в облако!
Отправка данных в облако!

На этом этапе мы подключим наше устройство к облаку и отправим данные, чтобы увидеть потрясающие графики!

Мы будем использовать протокол MQTT и отправлять данные на бесплатный сервер под названием «Adafruit».

ПРИМЕЧАНИЕ. Adafruit не поддерживает отправку данных несколько раз в секунду, он работает в более медленном темпе, поэтому мы будем отправлять усреднение наших точек данных, а не самих точек данных. Мы преобразуем данные с наших 2 датчиков в усредненные данные, используя следующие преобразования:

* Время обнаружения шага будет преобразовано в количество шагов в минуту. Продолжительность каждого шага можно найти с помощью (millis () - step_timestamp), а усреднение можно выполнить с помощью фильтра, как мы видели ранее: val = val * 0.7 + new_val * 0.3.

* Мощность шага будет преобразована в среднюю мощность шага. Мы будем использовать ту же методологию использования «max» для каждого шага, но мы будем использовать фильтр для усреднения с использованием фильтра «среднее значение = среднее * 0,6 + новое_значение * 0,4».

Инструкции:

  • Войдите на сайт Adafruit по адресу io.adafruit.com и убедитесь, что у вас есть учетная запись.
  • Создайте новую панель, назовите ее «Детектор моих шагов».
  • На панели инструментов нажмите кнопку +, выберите «линейный график» и создайте канал с именем «steps_per_min».
  • На панели инструментов нажмите кнопку +, выберите «линейный график» и создайте канал с именем «average_step_power».
  • Теперь вы должны увидеть по 2 пустых диаграммы для каждого поля.
  • Воспользуйтесь прилагаемым эскизом и установите следующую конфигурацию:

USERNAME = ваше имя пользователя Adafruit.

KEY = ваш ключ Adafruit

WLAN_SSID = имя WIFI

WLAN_PASS = пропуск Wi-Fi

mpuStepThreshold = Порог из шага 2

Затем вы можете подключить устройство к одной ноге, и эскиз отправит данные о шагах на сервер!

Шаг 5: одновременное использование двух устройств

Использование 2-х устройств одновременно
Использование 2-х устройств одновременно
Использование 2-х устройств одновременно
Использование 2-х устройств одновременно

На этом этапе мы будем моделировать двух человек, которые ходят с устройством одновременно!

Мы будем использовать 2 разных устройства - с теми же точками данных, как описано в шаге 4.

Так что это действительно просто, есть 3 простые задачи:

1) создайте дополнительные каналы для данных со 2-го устройства, мы предлагаем установить пост-исправление "_2"

2) измените блоки на панели инструментов, чтобы отображать данные из обоих каналов.

3) изменить название кормов в скетче второго устройства.

4) Смотрите результаты!

ЗАМЕТКА:

Adafruit сопротивляется слишком быстрой передаче данных, поэтому может потребоваться отрегулировать частоту отправки данных на сервер. сделайте это, найдя на скетче следующее:

// Отправлять каждые 5 секунд, не превышая лимит Adafruit для бесплатных пользователей. // Если вы используете премиум или собственный сервер, не стесняйтесь менять. // Каждый раз отправляем переменную точку данных. if (millis () - lastTimeDataSent> 5000) {

Шаг 6: Улучшения, примечания и планы на будущее

Основная задача:

Основной задачей проекта было тестирование NodeMCU при физической нагрузке. Кабель usb часто отключается, и при попытке быстрого перемещения могут возникнуть проблемы с отсоединением контактов. Много раз мы отлаживали кусок кода, который действительно работал, и проблема была в физической сфере.

Мы преодолели эту проблему, перенеся ноутбук поближе к бегуну и написав каждый фрагмент кода за раз.

Еще одна проблема заключалась в том, чтобы обеспечить плавное взаимодействие различных компонентов:

  • Пьезо с акселерометром: это удалось, как описано в шаге 3, благодаря нашей творческой идее.
  • Датчики с сервером: как описано в шаге 4, мы преобразовали значения в другие значения, которые можно отправлять на сервер в более медленном темпе.

Ограничения системы:

  • Перед использованием требуется калибровка.
  • Необходимо превратить в более жесткий продукт, который нелегко сломается при физической нагрузке.
  • Пьезоэлектрический датчик не очень точный.
  • Требуется подключение к Wi-Fi. (Легко решается с помощью точки доступа мобильного телефона)

Планы на будущее

Теперь, когда у нас есть полностью работающее устройство для мониторинга ног, можно сделать дополнительные улучшения!

Множество пизео!

  • Подключите пьезоэлектрические устройства к разным участкам стопы.
  • Используйте мультиплексор, поскольку NodeMCU поддерживает только один аналоговый вывод.
  • Может показать тепловую карту стопы, чтобы описать области воздействия.
  • Можно использовать эти данные для создания предупреждений о неправильной осанке и балансе тела.

Много устройств!

  • Мы показали вам, как подключить 2 устройства одновременно, но вы можете подключить 22 пьезо к 22 футболистам!
  • Данные могут быть представлены во время игры, чтобы показать некоторые интересные показатели об игроках!

Продвинутые датчики

Мы использовали пьезо и акселерометр, но вы можете добавить другие устройства, которые обогатят вывод и предоставят больше данных:

  • Точные лазеры для обнаружения шагов.
  • Измерьте расстояние между ступней и землей.
  • Измерьте расстояние между разными игроками (в случае нескольких устройств)

Рекомендуемые: