Оглавление:

Монитор силы удара Raspberry Pi !: 16 шагов (с изображениями)
Монитор силы удара Raspberry Pi !: 16 шагов (с изображениями)

Видео: Монитор силы удара Raspberry Pi !: 16 шагов (с изображениями)

Видео: Монитор силы удара Raspberry Pi !: 16 шагов (с изображениями)
Видео: ТЕХНИКА БЕЗОПАСНОСТИ. Вид Грубейшего Нарушения ТРЕБОВАНИЙ ТБ при работе на СТАНКАХ. 2024, Июль
Anonim
Image
Image
Рекомендуемое чтение
Рекомендуемое чтение

Какое воздействие может выдержать человеческое тело? Будь то футбол, скалолазание или авария на велосипеде, невероятно важно знать, когда следует немедленно обратиться за медицинской помощью после столкновения, особенно если нет явных признаков травмы. Из этого туториала Вы узнаете, как создать свой собственный монитор силы удара!

Время чтения: ~ 15 мин

Время сборки: ~ 60-90 мин

Этот проект с открытым исходным кодом использует Raspberry Pi Zero W и акселерометр LIS331 для мониторинга и предупреждения пользователя о потенциально опасных перегрузках. Конечно, вы можете изменять и адаптировать систему в соответствии с вашими потребностями в гражданской науке.

Примечание: создавайте забавные вещи с помощью монитора силы удара! Однако, пожалуйста, не используйте его вместо профессиональных медицинских консультаций и диагностики. Если вы чувствуете, что серьезно упали, обратитесь к квалифицированному и лицензированному специалисту для надлежащего лечения.

Шаг 1. Рекомендуемое чтение

Чтобы сделать это руководство кратким и приятным (ну, насколько это возможно), я предполагаю, что вы начинаете с работающего Pi Zero W. Нужна помощь? Без проблем! Вот полное руководство по установке.

Мы также будем подключаться к Pi удаленно (также по беспроводной связи). Для более подробного обзора этого процесса ознакомьтесь с этим руководством.

** Застряли или хотите узнать больше? Вот несколько полезных ресурсов: **

1. Отличное руководство по началу работы для Pi.

2. Полное руководство по подключению монтажной платы акселерометра LIS331.

3. Еще об акселерометрах!

4. Обзор контактов GPIO Raspberry Pi.

5. Использование последовательных шин SPI и I2C на Pi.

6. Лист данных LIS331

Шаг 2: материалы

Материалы
Материалы
Материалы
Материалы
  • Базовый комплект Raspberry Pi Zero W

    • В этот комплект входит следующее: SD-карта с операционной системой NOOBS; Кабель USB OTG (microUSB на USB-гнездо); Мини-HDMI в HDMI; Блок питания MicroUSB (~ 5В)
    • Также рекомендуется: USB-концентратор
  • Контакты заголовка Raspberry Pi 3
  • Плата подключения акселерометра LIS331
  • Аккумулятор с разъемом MicroUSB
  • 5 мм красный светодиод
  • Резистор 1 кОм
  • 6-дюймовая термоусадочная трубка или изолента
  • Контакты разъема для акселерометра (4-8) и светодиода (2)
  • Провода перемычки мама-мама (6)

Инструменты

  • Паяльник и аксессуары
  • Эпоксидная смола (или другой прочный непроводящий жидкий клей)
  • Наверное, ножницы тоже:)

Шаг 3: Но подождите! Что такое сила удара?

К счастью, термин «сила удара» довольно прост: величина силы удара. Однако, как и большинство других вещей, его измерение требует более точного определения. Уравнение силы удара:

F = KE / д

где F - сила удара, KE - кинетическая энергия (энергия движения), а d - расстояние удара или степень сжатия объекта. Из этого уравнения можно сделать два ключевых вывода:

1. Сила удара прямо пропорциональна кинетической энергии, что означает, что сила удара увеличивается, если кинетическая энергия увеличивается.

2. Сила удара обратно пропорциональна расстоянию удара, что означает, что сила удара уменьшается, если расстояние удара увеличивается. (Вот почему у нас есть подушки безопасности: чтобы увеличить расстояние нашего удара.)

Сила обычно измеряется в Ньютонах (Н), но силу удара можно рассматривать в терминах «G-Force», числа, кратного g, или ускорения свободного падения Земли (9,8 м / с ^ 2). Когда мы используем единицы перегрузки, мы измеряем ускорение объекта относительно свободного падения на землю.

С технической точки зрения g - это ускорение, а не сила, но оно полезно, когда речь идет о столкновениях, потому что ускорение * - это то, что повреждает человеческое тело.

В этом проекте мы будем использовать блоки G-force, чтобы определить, является ли удар потенциально опасным и заслуживает ли оно медицинской помощи. Исследования показали, что перегрузки выше 9G могут быть фатальными для большинства людей (без специальной подготовки), а 4-6G могут быть опасными, если поддерживать их более нескольких секунд.

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

Для получения дополнительной информации прочтите о силе удара и перегрузке в Википедии!

Ускорение - это изменение скорости и / или направления

Шаг 4: Настройте Pi Zero W

Настройте Pi Zero W
Настройте Pi Zero W

Соберите свой Raspberry Pi Zero и периферийные устройства, чтобы настроить Pi безголовым!

  • Подключите Pi к монитору и связанным периферийным устройствам (клавиатуре, мыши), подключите источник питания и войдите в систему.
  • Обновите программное обеспечение, чтобы ваш Pi оставался быстрым и безопасным. Откройте окно терминала и введите следующие команды:

    Введите и введите:

sudo apt-get update

Введите и введите:

sudo apt-get upgrade

Сброс настроек:

sudo shutdown -r сейчас

Шаг 5. Включите Wi-Fi и I2C

Включить Wi-Fi и I2C
Включить Wi-Fi и I2C
Включить Wi-Fi и I2C
Включить Wi-Fi и I2C
Включить Wi-Fi и I2C
Включить Wi-Fi и I2C
  • Щелкните значок Wi-Fi в правом верхнем углу рабочего стола и подключитесь к своей сети Wi-Fi.
  • В терминале введите эту команду, чтобы вызвать инструмент настройки программного обеспечения Pi:

sudo raspi-config

  • Выберите «Параметры интерфейса», затем «SSH» и выберите «Да» внизу, чтобы включить.
  • Вернитесь к «Параметры интерфейса», затем «I2C» и выберите «Да» для включения.
  • В терминале установите ПО для подключения к удаленному рабочему столу:

sudo apt-get install xrdp

  • Введите «Y» (да) на клавиатуре в оба запроса.
  • Найдите IP-адрес Pi, наведя указатель мыши на соединение Wi-Fi (вы также можете записать его).
  • Измените пароль Pi с помощью команды passwd.

Шаг 6: перезагрузите Pi и войдите в систему удаленно

Перезагрузите Pi и войдите в систему удаленно
Перезагрузите Pi и войдите в систему удаленно

Теперь мы можем отказаться от HDMI и периферийных устройств, у-у-у!

  • Настройте подключение к удаленному рабочему столу.

    • На ПК откройте «Подключение к удаленному рабочему столу» (или PuTTY, если вам это удобно).
    • Для Mac / Linux вы можете установить эту программу или использовать программу VNC.
  • Введите IP-адрес Pi и нажмите «Подключиться» (игнорировать предупреждения о неизвестном устройстве).
  • Войдите в Pi, используя свои учетные данные, и вперед!

Шаг 7: Собери: Электроника

Построй это: электроника!
Построй это: электроника!
Построй это: электроника!
Построй это: электроника!

На двух фотографиях выше показана электрическая схема этого проекта и распиновка Pi Zero. Нам понадобится и то, и другое, чтобы разобраться с аппаратными соединениями.

Примечание: коммутационная плата LIS331 на схеме является более старой версией - используйте метки контактов для руководства.

Шаг 8: подключите акселерометр к GPIO Pi

Подключите акселерометр к GPIO Pi
Подключите акселерометр к GPIO Pi
Подключите акселерометр к GPIO Pi
Подключите акселерометр к GPIO Pi
Подключите акселерометр к GPIO Pi
Подключите акселерометр к GPIO Pi
  • Припаяйте и аккуратно удалите остатки флюса с акселерометра и контактов разъема Pi GPIO.
  • Затем подключите перемычки между коммутационной платой LIS331 и Pi между следующими контактами:

Плата LIS331 Breakout Board Raspberry Pi GPIO Pin

ЗЕМЛЯ GPIO 9 (ЗЕМЛЯ)

VCC GPIO 1 (3,3 В)

SDA GPIO 3 (SDA)

SCL GPIO 5 (SCL)

Чтобы упростить подключение датчика к Pi Zero, был изготовлен специальный адаптер с использованием разъема-розетки и перемычек. После тестирования соединений добавлена термоусадка

Шаг 9: Добавьте предупреждающий светодиод

Добавьте предупреждающий светодиод!
Добавьте предупреждающий светодиод!
Добавьте предупреждающий светодиод!
Добавьте предупреждающий светодиод!
Добавьте предупреждающий светодиод!
Добавьте предупреждающий светодиод!
Добавьте предупреждающий светодиод!
Добавьте предупреждающий светодиод!
  • Припаяйте токоограничивающий резистор к отрицательной ножке светодиода (более короткая ножка) и добавьте термоусадочную пленку (или изоленту) для изоляции.
  • С помощью двух соединительных кабелей или контактов разъема подключите положительную ножку светодиода к GPIO26, а резистор к GND (позиции разъема 37 и 39 соответственно).
  • Подключите аккумуляторную батарею к входному источнику питания Pi, чтобы завершить настройку!

Шаг 10: Запрограммируйте

Запрограммируйте это!
Запрограммируйте это!

Код Python для этого проекта с открытым исходным кодом! Вот ссылка на репозиторий GitHub.

Для людей, плохо знакомых с программированием:

Прочтите программный код и комментарии. Вещи, которые легко изменить, находятся в разделе «Параметры пользователя» вверху

Для людей, более комфортных с техническими решениями:

Эта программа инициализирует акселерометр LIS331 с настройками по умолчанию, включая нормальный режим питания и скорость передачи данных 50 Гц. Прочтите техническое описание LIS331 и при необходимости измените настройки инициализации

Все

  • Максимальный масштаб ускорения, используемый в этом проекте, составляет 24G, потому что сила удара становится большой очень быстро!
  • Рекомендуется закомментировать операторы ускорения печати в основной функции, когда вы будете готовы к полному развертыванию.

Перед запуском программы дважды проверьте, что адрес акселерометра равен 0x19. Откройте окно терминала и установите несколько полезных инструментов с помощью этой команды:

sudo apt-get install -y i2c-tools

Затем запустите программу i2cdetect:

i2cdetect -y 1

Вы увидите таблицу адресов I2C, как показано на изображении выше. Предполагая, что это единственное подключенное устройство I2C, число, которое вы видите (в данном случае: 19), является адресом акселерометра! Если вы видите другое число, примите к сведению и измените в программе (адрес переменной).

Шаг 11: Краткий обзор программы

Краткий обзор программы
Краткий обзор программы

Программа считывает ускорение по осям x, y и z, вычисляет перегрузку и затем сохраняет данные в двух файлах (в той же папке, что и программный код), если это необходимо:

  • AllSensorData.txt - дает временную метку, за которой следует перегрузка по осям x, y и z.
  • AlertData.txt - то же, что и выше, но только для показаний, превышающих наши пороги безопасности (абсолютный порог 9G или 4G в течение более 3 секунд).

Перегрузки, превышающие наши пороги безопасности, также включат наш индикатор предупреждения и будут гореть до тех пор, пока мы не перезапустим программу. Остановите программу, набрав «CTRL + c» (прерывание клавиатуры) в командном терминале.

На фото выше показаны оба файла данных, созданные во время тестирования.

Шаг 12: Протестируйте систему

Проверьте систему!
Проверьте систему!
Проверьте систему!
Проверьте систему!

Откройте окно терминала, перейдите в папку, в которой вы сохранили программный код, с помощью команды cd.

cd путь / к / папке

Запустите программу с правами root:

sudo python NameOfFile.py

Убедитесь, что значения ускорения в направлениях x, y и z выводятся в окно терминала, являются разумными, и включите светодиодный индикатор, если перегрузка превышает наши пороговые значения.

  • Для проверки поверните акселерометр так, чтобы каждая ось была обращена к земле, и убедитесь, что измеренные значения равны 1 или -1 (соответствует ускорению свободного падения).
  • Встряхните акселерометр, чтобы убедиться, что показания увеличиваются (знак указывает направление оси, нас больше всего интересует величина показаний).

Шаг 13: закрепите электрические соединения и установите его

Надежно подключите электрические соединения и установите!
Надежно подключите электрические соединения и установите!

Как только все заработает правильно, давайте удостоверимся, что датчик силы удара действительно выдерживает удар!

  • Используйте термоусадочную трубку и / или покройте электрические соединения акселерометра и светодиода эпоксидной смолой.
  • Для сверхпрочной и постоянной установки рассмотрите возможность покрытия всей поверхности эпоксидной смолой: Pi Zero, светодиода и акселерометра (но НЕ разъемов кабеля Pi или SD-карты).

    Предупреждение! Вы по-прежнему можете получить доступ к Pi и делать все компьютерные вещи, но полный слой эпоксидной смолы предотвратит использование контактов GPIO для будущих проектов. В качестве альтернативы вы можете изготовить или приобрести индивидуальный чехол для Pi Zero, хотя проверьте его на прочность

Прикрепите к шлему, к себе или к транспортному средству, например, к скейтборду, велосипеду или кошке *!

Полностью проверьте, что Pi надежно закреплен, или контакты GPIO могут ослабнуть, что приведет к сбою программы.

* Примечание: изначально я хотел набрать «автомобиль», но решил, что монитор силы удара для кошки также может дать некоторые интересные данные (конечно, с согласия котенка).

Шаг 14: встраивание схемы в шлем

Встраивание схемы в шлем
Встраивание схемы в шлем
Встраивание схемы в шлем
Встраивание схемы в шлем
Встраивание схемы в шлем
Встраивание схемы в шлем

Есть несколько способов встроить схему в шлем. Вот мой подход к установке шлема:

  • Если вы еще этого не сделали, подключите аккумулятор к Pi (при выключенном аккумуляторе). Прикрепите акселерометр к задней части Pi с непроводящей изоляцией между ними (например, пузырчатой пленкой или тонкой упаковочной пеной).
  • Измерьте размеры комбинации Pi Zero, акселерометра, светодиода и разъема аккумулятора. Добавьте 10% с каждой стороны.
  • Нарисуйте вырез для проекта на одной стороне шлема так, чтобы разъем аккумулятора был направлен к верхней части шлема. Вырежьте набивку шлема, оставив несколько миллиметров (~ 1/8 дюйма).
  • Поместите датчик, Pi и светодиод в вырез. Отрежьте лишнюю набивку шлема или используйте упаковочную пену, чтобы изолировать, защитить и удерживать электронику на месте.
  • Измерьте размеры батареи, добавьте 10% и сделайте такой же вырез для батареи. Вставляем аккумулятор в карман.
  • Повторите технику изоляции аккумулятора с другой стороны шлема.
  • Удерживайте прокладку шлема на месте с помощью ленты (ваша голова будет удерживать их на месте, когда вы ее наденете).

Шаг 15: Разверните

Развертывать!
Развертывать!
Развертывать!
Развертывать!

Включите аккумулятор!

Теперь вы можете удаленно войти в Pi через SSH или удаленный рабочий стол и запустить программу через терминал. Как только программа запущена, она начинает запись данных.

Когда вы отключаетесь от домашнего Wi-Fi, соединение SSH прерывается, но программа все равно должна регистрировать данные. Рассмотрите возможность подключения Pi к точке доступа Wi-Fi вашего смартфона или просто войдите в систему и получите данные, когда вернетесь домой.

Чтобы получить доступ к данным, удаленно войдите в Pi и прочтите текстовые файлы. Текущая программа всегда будет добавлять данные в существующие файлы - если вы хотите удалить данные (например, из тестирования), удалите текстовый файл (через рабочий стол или используйте команду rm в терминале) или создайте новое имя файла в программе. код (в параметрах пользователя).

Если светодиод горит, перезапуск программы выключит его.

Теперь идите вперед, получайте удовольствие от жизни и время от времени проверяйте данные, если вы случайно натолкнетесь на что-то. Надеюсь, это небольшая шишка, но, по крайней мере, вы знаете!

Шаг 16: добавление дополнительных функций

Добавление дополнительных функций
Добавление дополнительных функций

Ищете улучшения для монитора силы удара? Это выходит за рамки учебника, но попробуйте взглянуть на список ниже, чтобы найти идеи!

Проведите некоторый анализ ваших данных g-force в Python!

Pi Zero имеет возможности Bluetooth и Wi-Fi - напишите приложение для отправки данных акселерометра на ваш смартфон! Чтобы вы начали, вот руководство для Pi Twitter Monitor.

Добавьте другие датчики, например датчик температуры или микрофон *!

Счастливое здание

* Примечание: чтобы услышать свистящие звуки, связанные с вашим ускорением!: D

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