Оглавление:
- Шаг 1. Рекомендуемое чтение
- Шаг 2: материалы
- Шаг 3: Но подождите! Что такое сила удара?
- Шаг 4: Настройте Pi Zero W
- Шаг 5. Включите Wi-Fi и I2C
- Шаг 6: перезагрузите Pi и войдите в систему удаленно
- Шаг 7: Собери: Электроника
- Шаг 8: подключите акселерометр к GPIO Pi
- Шаг 9: Добавьте предупреждающий светодиод
- Шаг 10: Запрограммируйте
- Шаг 11: Краткий обзор программы
- Шаг 12: Протестируйте систему
- Шаг 13: закрепите электрические соединения и установите его
- Шаг 14: встраивание схемы в шлем
- Шаг 15: Разверните
- Шаг 16: добавление дополнительных функций
Видео: Монитор силы удара Raspberry Pi !: 16 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Какое воздействие может выдержать человеческое тело? Будь то футбол, скалолазание или авария на велосипеде, невероятно важно знать, когда следует немедленно обратиться за медицинской помощью после столкновения, особенно если нет явных признаков травмы. Из этого туториала Вы узнаете, как создать свой собственный монитор силы удара!
Время чтения: ~ 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
Соберите свой Raspberry Pi Zero и периферийные устройства, чтобы настроить Pi безголовым!
- Подключите Pi к монитору и связанным периферийным устройствам (клавиатуре, мыши), подключите источник питания и войдите в систему.
-
Обновите программное обеспечение, чтобы ваш Pi оставался быстрым и безопасным. Откройте окно терминала и введите следующие команды:
Введите и введите:
sudo apt-get update
Введите и введите:
sudo apt-get upgrade
Сброс настроек:
sudo shutdown -r сейчас
Шаг 5. Включите 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 и войдите в систему удаленно
Теперь мы можем отказаться от HDMI и периферийных устройств, у-у-у!
-
Настройте подключение к удаленному рабочему столу.
- На ПК откройте «Подключение к удаленному рабочему столу» (или PuTTY, если вам это удобно).
- Для Mac / Linux вы можете установить эту программу или использовать программу VNC.
- Введите IP-адрес Pi и нажмите «Подключиться» (игнорировать предупреждения о неизвестном устройстве).
- Войдите в Pi, используя свои учетные данные, и вперед!
Шаг 7: Собери: Электроника
На двух фотографиях выше показана электрическая схема этого проекта и распиновка Pi Zero. Нам понадобится и то, и другое, чтобы разобраться с аппаратными соединениями.
Примечание: коммутационная плата LIS331 на схеме является более старой версией - используйте метки контактов для руководства.
Шаг 8: подключите акселерометр к 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
Рекомендуемые:
Измеритель силы света без программирования: 7 шагов (с изображениями)
Измеритель интенсивности света без программирования. В этом руководстве рассказывается о создании простого измерителя интенсивности света без использования Arduino или любого другого микроконтроллера или программирования. Измеритель интенсивности света отображает разные уровни интенсивности света с помощью светодиодов разного цвета. Красный светодиод
Измерение изменений силы созданной оптоволоконной сети при смещении под действием внешней силы: 8 шагов
Измерение изменений силы созданной оптоволоконной сети при смещении под действием внешней силы: клетки способны взаимодействовать с окружающей их внеклеточной матрицей (ЕСМ) и могут как действовать, так и реагировать на силы, оказываемые ЕСМ. Для нашего проекта мы моделируем взаимосвязанную сеть волокон, которые будут действовать как ECM, и посмотрим, как
Дешевые датчики удара для роботов Arduino: 4 шага (с изображениями)
Дешевые датчики ударов для роботов Arduino: нужны дешевые датчики ударов, которые легко получить, для захвата вашего робота - я имею в виду проект Arduino? Эти небольшие датчики просты в использовании, просты в изготовлении и удобны для кошелька (17 центов за штуку!), А также отлично работает для простого обнаружения препятствий на микроконтроллере-ба
Датчик удара с динамиком своими руками: 5 шагов (с изображениями)
Сделай сам датчик удара с динамиком: динамик работает, активируя электромагнит, который находится рядом с «обычным»; магнит. Это вызывает вибрацию, в результате чего возникает звук. Итак, если вместо того, чтобы подавать ток на динамик, мы можем производить ток (если он очень слабый), перемещая динамик
Тестер значения ускорения силы тяжести: 5 шагов (с изображениями)
Тестер значения ускорения силы тяжести: на основе кинематики в этом проекте измеряется значение константы ускорения свободного падения (‘ g ’) путем измерения данных о движении в свободном падении. По направляющим на ЖК-экране объект (например, деревянный шар) , стеклянный шар, стальной шар и т. д.) падают