Оглавление:
- Шаг 1. Базовое оборудование, которое нам необходимо
- Шаг 2: Подключение оборудования
- Шаг 3. Кодирование Python для Raspberry Pi
- Шаг 4: работоспособность кода
- Шаг 5. Приложения и функции
- Шаг 6: Заключение
Видео: Управление движением с Raspberry Pi и LIS3DHTR, 3-осевым акселерометром, с использованием Python: 6 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Красота окружает нас, но обычно нам нужно прогуляться по саду, чтобы познать это. - Руми
Как образованная группа, которой мы кажемся, мы вкладываем большую часть своей энергии в работу над компьютерами и мобильными телефонами. Поэтому мы часто позволяем нашему благополучию уступать место второстепенному отдыху, никогда по-настоящему не находя идеальной возможности пойти в тренажерный зал или на занятия фитнесом и, как правило, предпочитаем фаст-фуд гораздо более выгодным вариантам. Обнадеживающая новость заключается в том, что независимо от того, нужна ли вам помощь в ведении учета или для отслеживания своего продвижения, вы можете использовать сегодняшние инновации для производства какого-нибудь устройства, чтобы помочь себе.
Технологии быстро развиваются. Мы постоянно узнаем о новых инновациях, которые изменят мир и то, как мы учимся в нем. Когда вы увлекаетесь компьютерами, программированием и роботами или просто любите возиться, есть техническое благословение. Raspberry Pi, микроплатный одноплатный компьютер с Linux, призван улучшить способ обучения с помощью инновационных технологий, но также является ключом к повышению качества обучения во всем мире. Итак, каковы возможные результаты того, что мы можем сделать, если рядом будут Raspberry Pi и 3-осевой акселерометр? Как насчет того, чтобы найти это! В этой задаче мы проверим ускорение по 3 перпендикулярным осям, X, Y и Z, используя Raspberry Pi и LIS3DHTR, 3-осевой акселерометр. Итак, мы должны увидеть в этом путешествии, чтобы создать систему для проверки трехмерного ускорения вверх или G-Force.
Шаг 1. Базовое оборудование, которое нам необходимо
Для нас проблем было меньше, так как у нас есть огромное количество вещей, над которыми можно поработать. В любом случае, мы знаем, насколько проблематично для других собрать нужную часть в безупречное время из полезного места, и это защищается, не обращая внимания на каждую копейку. Так что мы поможем вам. Следуйте инструкциям, чтобы получить полный список деталей.
1. Raspberry Pi
Первым шагом было получение платы Raspberry Pi. Raspberry Pi - это одноплатный ПК на базе Linux. Этот маленький ПК обладает огромной вычислительной мощностью, используемой как часть работы с гаджетами, и простыми операциями, такими как электронные таблицы, подготовка текста, веб-сканирование и электронная почта, а также игры.
2. I2C Shield для Raspberry Pi
Основная проблема, которую действительно беспокоит Raspberry Pi, - это порт I²C. Таким образом, разъем TOUTPI2 I²C дает вам смысл использовать Rasp Pi с ЛЮБЫМ из устройств I²C. Он доступен в магазине DCUBE.
3. 3-осевой акселерометр, LIS3DHTR
LIS3DH - это сверхмаломощный высокопроизводительный трехосевой линейный акселерометр, принадлежащий к семейству «нано», со стандартным выходом цифрового последовательного интерфейса I2C / SPI. Мы приобрели этот датчик в магазине DCUBE.
4. Соединительный кабель
Мы приобрели соединительный кабель I2C в магазине DCUBE.
5. Кабель Micro USB
Самый маленький сбитый с толку, но самый строгий в плане мощности - это Raspberry Pi! Самый простой способ решить эту проблему - использовать кабель Micro USB.
6. Веб-доступ - это необходимость
ИНТЕРНЕТ дети НИКОГДА не спят
Подключите Raspberry Pi к кабелю Ethernet (LAN) и подключите его к сетевому маршрутизатору. По выбору, найдите разъем Wi-Fi и используйте один из портов USB для подключения к удаленной системе. Решение острое, простое, маленькое и низкопробное!
7. Кабель HDMI / удаленный доступ
Raspberry Pi имеет порт HDMI, который можно подключить к экрану или телевизору с помощью кабеля HDMI. По выбору вы можете использовать SSH для связи с Raspberry Pi с ПК с Linux или Macintosh с терминала. Точно так же PuTTY, бесплатный эмулятор терминала с открытым исходным кодом, звучит как достойная альтернатива.
Шаг 2: Подключение оборудования
Сделайте схему согласно появившейся схеме. Нарисуйте схему и внимательно следите за ней. Воображение важнее Знаний.
Подключение Raspberry Pi и I2C Shield
Прежде всего, возьмите Raspberry Pi и найдите на нем I2C Shield. Осторожно прижмите экран к контактам GPIO Pi, и мы закончили этот процесс так же просто, как круг (см. Оснастку).
Подключение сенсора и Raspberry Pi
Возьмите датчик и соедините с ним кабель I2C. Для правильной работы этого кабеля помните, что выход I2C ВСЕГДА связан с входом I2C. То же самое необходимо сделать для Raspberry Pi с экраном I2C, установленным над контактами GPIO.
Мы одобряем использование кабеля I2C, поскольку он исключает необходимость проверки распиновки, крепления и дискомфорта, вызванного даже малейшей ошибкой. С помощью этого основного кабеля для подключения и воспроизведения вы можете эффективно представлять, заменять гаджеты или добавлять новые устройства в приложение. Это значительно облегчает рабочий вес.
Примечание. Коричневый провод должен надежно соединяться с заземлением (GND) между выходом одного устройства и входом другого устройства
Интернет-сеть - ключ к успеху
Чтобы наши усилия увенчались успехом, нам требуется интернет-ассоциация для нашего Raspberry Pi. Для этого у вас есть выбор, например подключение кабеля Ethernet (LAN) к домашней сети. Кроме того, в качестве альтернативы, как бы то ни было, подходящим вариантом является использование USB-разъема WiFi. Как правило, для этого требуется драйвер. Так что склоняйтесь к тому, что в описании стоит Linux.
Источник питания
Подключите кабель Micro USB к разъему питания Raspberry Pi. Вставай, и мы готовы.
Подключение к экрану
Мы можем связать кабель HDMI с другим экраном. В некоторых случаях вам нужно добраться до Raspberry Pi, не подключая его к экрану, или вам может потребоваться просмотреть некоторые данные с него из другого места. Очевидно, существуют новаторские и финансово подкованные подходы к работе как таковой. Один из них использует -SSH (удаленный вход в командную строку). Вы также можете использовать для этого программное обеспечение PUTTY. Это для опытных пользователей. Так что подробности здесь не приводятся.
Шаг 3. Кодирование Python для Raspberry Pi
Код Python для датчика Raspberry Pi и LIS3DHTR доступен в нашем репозитории Github.
Прежде чем переходить к коду, убедитесь, что вы прочитали правила, приведенные в архиве Readme, и настройте Raspberry Pi в соответствии с ними. Это просто передышка на мгновение, чтобы сделать все обдуманное.
Акселерометр - это электромеханический прибор, который измеряет силы ускорения. Эти силы могут быть статическими, похожими на постоянную силу тяжести, тянущую к вашим ногам, или они могут быть изменены - вызваны перемещением или вибрацией акселерометра.
Сопровождение - это код Python, и вы можете клонировать и настраивать код любым способом, к которому вы склонны.
# Распространяется по свободной лицензии # Используйте его любым способом, коммерческим или бесплатным, при условии, что он соответствует лицензиям на связанные с ним работы. # LIS3DHTR # Этот код разработан для работы с мини-модулем LIS3DHTR_I2CS I2C, доступным на сайте dcubestore.com # https://dcubestore.com/product/lis3dhtr-3-axis-accelerometer-digital-output-motion-sensor-i%C2 % B2c-мини-модуль /
импортировать smbus
время импорта
# Получить шину I2C
автобус = smbus. SMBus (1)
# Адрес LIS3DHTR, 0x18 (24)
# Выбор регистра управления 1, 0x20 (32) # 0x27 (39) Режим включения питания, выбор скорости передачи данных = 10 Гц # X, Y, ось Z включена bus.write_byte_data (0x18, 0x20, 0x27) # Адрес LIS3DHTR, 0x18 (24) # Выберите регистр управления 4, 0x23 (35) # 0x00 (00) Непрерывное обновление, выбор полной шкалы = +/- 2G bus.write_byte_data (0x18, 0x23, 0x00)
time.sleep (0,5)
# Адрес LIS3DHTR, 0x18 (24)
# Считать данные обратно из 0x28 (40), 2 байта # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x18, 0x28) data1 = bus.read_byte_data (0x18, 0x29)
# Конвертируем данные
xAccl = data1 * 256 + data0, если xAccl> 32767: xAccl - = 65536
# Адрес LIS3DHTR, 0x18 (24)
# Считать данные обратно из 0x2A (42), 2 байта # LSB оси Y, MSB оси Y data0 = bus.read_byte_data (0x18, 0x2A) data1 = bus.read_byte_data (0x18, 0x2B)
# Конвертируем данные
yAccl = data1 * 256 + data0, если yAccl> 32767: yAccl - = 65536
# Адрес LIS3DHTR, 0x18 (24)
# Считать данные обратно из 0x2C (44), 2 байта # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x18, 0x2C) data1 = bus.read_byte_data (0x18, 0x2D)
# Конвертируем данные
zAccl = data1 * 256 + data0, если zAccl> 32767: zAccl - = 65536
# Выводить данные на экран
print "Ускорение по оси X:% d"% xAccl print "Ускорение по оси Y:% d"% yAccl print "Ускорение по оси Z:% d"% zAccl
Шаг 4: работоспособность кода
Загрузите (или выполните git pull) код с Github и откройте его в Raspberry Pi.
Выполните команды для компиляции и загрузки кода в терминал и посмотрите результат на экране. Через пару минут он продемонстрирует каждый из параметров. Гарантируя, что все работает без усилий, вы можете взять на себя смелость и предпринять более заметное мероприятие.
Шаг 5. Приложения и функции
LIS3DHTR, произведенный STMicroelectronics, имеет динамически выбираемые пользователем полные шкалы ± 2g / ± 4g / ± 8g / ± 16g и способен измерять ускорения с частотой выходных данных от 1 Гц до 5 кГц. LIS3DHTR подходит для функций активации движения и обнаружения свободного падения. Он количественно определяет статическое ускорение силы тяжести в приложениях для обнаружения наклона, а также динамическое ускорение, возникающее из-за движения или удара. Другие приложения включают в себя такие как распознавание щелчков / двойных щелчков, интеллектуальное энергосбережение для портативных устройств, шагомер, ориентацию дисплея, игровые устройства и устройства ввода виртуальной реальности, распознавание и регистрацию ударов, а также мониторинг и компенсацию вибрации.
Шаг 6: Заключение
Доверие к этому начинанию побуждает к дальнейшим экспериментам. Этот датчик I2C феноменально адаптируем, скромен и доступен. Поскольку это в значительной степени непостоянный фреймворк, есть интересные способы расширить это задание и даже улучшить его.
Например, вы можете начать с идеи шагомера, используя LIS3DHTR и Raspberry Pi. В приведенной выше задаче мы использовали фундаментальные вычисления. Ускорение может быть важным параметром для анализа правильности ходьбы. Вы можете проверить три компонента движения человека: вперед (крен, X), бок (тангаж, Y) и вертикаль (ось рыскания, Z). Записывается типичный образец для всех 3 осей. По крайней мере, одна ось будет иметь относительно большие значения периодического ускорения. Так что направление пика и алгоритм очень важны. Принимая во внимание параметры шагов (цифровой фильтр, обнаружение пиков, временное окно и т. Д.) Этого алгоритма, вы можете распознавать и подсчитывать шаги, а также измерять расстояние, скорость и, в определенной степени, сожженные калории. Таким образом, вы можете использовать этот датчик по-разному. Мы верим, что вам всем понравится! Мы постараемся сделать рабочий вариант этого шагомера раньше, чем позже, конфигурацию, код, часть, вычисляющую средства разделения ходьбы и бега и сожженных калорий.
Для вашего удобства у нас есть интригующее видео на YouTube, которое может помочь вам в обследовании. Доверие к этому предприятию побуждает к дальнейшим исследованиям. Продолжаю думать! Не забывайте следить за тем, что постоянно появляется.
Рекомендуемые:
Крылья для косплея, активируемые движением, с использованием Circuit Playground Express - Часть 1: 7 шагов (с изображениями)
Активированные движением крылья для косплея с использованием Circuit Playground Express - Часть 1: Это первая часть проекта, состоящего из двух частей, в котором я собираюсь показать вам свой процесс создания пары автоматизированных крыльев феи. механика крыльев, а вторая часть - сделать его носимым и добавить крылья
Micro: bit Управление роботом с акселерометром: 4 шага
Управление роботом Micro: bit с помощью акселерометра: в этой статье мы собираемся использовать комплект BitCar от TinkerGen для создания робота Micro: bit и управления им с помощью акселерометра на другой плате Micro: bit. BitCar - это основанная на micro: bit система do-it- Сам робот предназначен для обучения STEM. Легко собрать, е
Человеко-компьютерный интерфейс: функция захвата (сделана Киригами) движением запястья с использованием ЭМГ: 7 шагов
Человеко-компьютерный интерфейс: функция захвата (сделана Киригами) с помощью движения запястья с использованием ЭМГ: Итак, это была моя первая попытка взаимодействия человека с компьютером. Я уловил сигналы активации мышц моего запястья с помощью датчика ЭМГ, обработал их. через python и arduino и активировал захват на основе оригами
SMART MAKE HATC - Самодельное управление воздушным движением с 4x RTL-SDR (50 $): 7 шагов
SMART MAKE HATC - Самодельное управление воздушным движением с 4-кратным RTL-SDR (50 $): доказательство концепции низкой стоимости HATC - Самодельное управление воздушным движением Ниже приведен простой сбор информации о приеме воздушного движения, ссылка на некоторое программное обеспечение, которое будет использоваться и предложение по проверке концепции аппаратной системы
Камера с управлением движением с использованием MESH SDK: 6 шагов (с изображениями)
Камера с контролем движения с использованием MESH SDK: Хотите автоматизировать камеру, чтобы снимать лучшие моменты вашего питомца, пока вас нет дома? Датчик движения MESH делает возможным использование камер, поддерживающих SDK. Например, мы разместили датчик движения MESH рядом с кормом для кошек и игрушками для кошек, чтобы c