Оглавление:
- Шаг 1. Базовое оборудование, которое нам необходимо
- Шаг 2: Подключение оборудования
- Шаг 3. Кодирование Python для Raspberry Pi
- Шаг 4: Практичность Кодекса
- Шаг 5. Приложения и функции
- Шаг 6: Заключение
Видео: 3-осевой акселерометр, ADXL345 с Raspberry Pi с использованием Python: 6 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:51
Подумайте о гаджете, который может проверить точку, в которой ваш внедорожник наклонен, чтобы задержаться. Разве это не было бы приятно, если кто-то настроится, когда есть вероятность опрокидывания? Очевидно да. Он будет по-настоящему полезен тем, кто любит походы в горы и командировки.
Без сомнения, настал поистине блестящий период продвинутой расчетной оценки IoT. Как любители гаджетов и программирования, мы полагаем, что Raspberry Pi, ПК с микролинуксией, обработал творческие способности людей в целом, неся с собой взрыв инновационных методологий. Итак, каковы возможные результаты того, что мы можем сделать, если рядом будут Raspberry Pi и 3-осевой акселерометр? Мы должны открыть! В этой задаче мы будем определять ускорение по 3 осям, X, Y и Z, используя Raspberry Pi и ADXL345, 3-осевой акселерометр. Итак, в этой экскурсии мы должны понаблюдать, чтобы создать основу для измерения трехмерного ускорения вверх или G-Force.
Шаг 1. Базовое оборудование, которое нам необходимо
Для нас проблем было меньше, так как у нас есть масса вещей, над которыми можно поработать. Тем не менее, мы знаем, насколько сложно для других собрать нужную деталь в идеальное время из подходящего места, и это оправдано независимо от каждой копейки. Так что мы поможем вам во всех регионах. Прочтите следующее, чтобы получить полный список деталей.
1. Raspberry Pi
Первым шагом было приобретение платы Raspberry Pi. Этот крошечный компьютер с низким энергопотреблением обеспечивает дешевую и, как правило, простую основу для предприятий электроники, Интернета вещей (IoT), умных городов и школьного образования.
2. I2C Shield для Raspberry Pi
Главное, чего действительно не хватает Raspberry Pi, - это порт I²C. Таким образом, разъем TOUTPI2 I²C дает вам смысл использовать Rasp Pi с НЕСКОЛЬКИМИ устройствами I²C. Он доступен в магазине DCUBE.
3. 3-осевой акселерометр, ADXL345
ADXL345, производимый компанией Analog Devices, представляет собой маломощный 3-осевой акселерометр с 13-битным измерением высокого разрешения при давлении до ± 16g. Мы приобрели этот датчик в магазине DCUBE.
4. Соединительный кабель
У нас был соединительный кабель I2C, доступный в магазине DCUBE.
5. Кабель Micro USB
Самым незначительным, но самым строгим с точки зрения энергопотребления является Raspberry Pi! Самый простой способ включить Raspberry Pi - использовать кабель Micro USB.
6. Веб-доступ - это необходимость
Доступ в Интернет можно обеспечить через кабель Ethernet (LAN), связанный с локальной сетью и Интернетом. С другой стороны, вы можете подключиться к беспроводной сети с помощью беспроводного USB-ключа, который потребует настройки.
7. Кабель HDMI / удаленный доступ
Имея встроенный кабель HDMI, вы можете подключить его к цифровому телевизору или монитору. Нужно сэкономить деньги! Raspberry Pi можно удаленно подключить к использованию различных стратегий, таких как SSH и доступ через Интернет. Вы можете использовать исходное программное обеспечение PuTTYopen.
Шаг 2: Подключение оборудования
Сделайте схему согласно появившейся схеме. Нарисуйте план и сознательно следуйте конфигурации.
Подключение Raspberry Pi и I2C Shield
Прежде всего, возьмите Raspberry Pi и найдите на нем I2C Shield. Осторожно прижмите экран к контактам GPIO Pi, и мы закончили с этой прогрессией, такой простой, как круговая (см. Оснастку).
Подключение сенсора и Raspberry Pi
Возьмите датчик и соедините с ним кабель I2C. Для правильной работы этого кабеля помните, что выход I2C ВСЕГДА связан с входом I2C. То же самое необходимо сделать для Raspberry Pi с экраном I2C, установленным над контактами GPIO.
Мы рекомендуем использовать кабель I2C, так как он опровергает требование внимательно изучать распиновку, пайку и недомогание, вызванное даже малейшей ошибкой. С помощью этого стандартного кабеля Plug and Play вы можете легко вводить, заменять устройства или добавлять другие устройства в приложение. Это делает вещи несложными.
Примечание. Коричневый провод должен надежно соединяться с заземлением (GND) между выходом одного устройства и входом другого устройства
Интернет-сеть - ключ к успеху
Чтобы наше предприятие было успешным, нам требуется подключение к Интернету для Raspberry Pi. Для этого у вас есть альтернативы, такие как подключение кабеля Ethernet (LAN) к домашней системе. Кроме того, как вариант, полезный способ - использовать разъем Wi-Fi. Иногда для этого вам понадобится драйвер, чтобы заставить его работать. Так что склоняйтесь к тому, что изображено на Linux.
Источник питания
Подключите кабель Micro USB к разъему питания Raspberry Pi. Зажги его, и мы готовы идти.
Подключение к экрану
Мы можем связать кабель HDMI с другим экраном. В некоторых случаях вам нужно добраться до Raspberry Pi, не подключая его к экрану, или вам может потребоваться просмотреть некоторые данные с него из другого места. Очевидно, существуют новаторские и финансово подкованные подходы к работе как таковой. Один из них - SSH (удаленный вход в командную строку). Вы также можете использовать для этого программное обеспечение PuTTY.
Шаг 3. Кодирование Python для Raspberry Pi
Код Python для датчика Raspberry Pi и ADXL345 доступен в нашем репозитории Github.
Прежде чем переходить к коду, убедитесь, что вы прочитали рекомендации, приведенные в документе Readme, и настройте Raspberry Pi в соответствии с ним. Он просто остановится на минуту, чтобы сделать это как таковое.
Акселерометр - это устройство, которое измеряет правильное ускорение; собственное ускорение - это не то же самое, что координатное ускорение (скорость изменения скорости). Одно- и многоосные модели акселерометра доступны для определения величины и направления надлежащего ускорения в виде векторной величины и могут использоваться для определения ориентации, координат ускорения, вибрации, ударов и падения в резистивной среде.
Код прост перед вами, он имеет самую простую структуру, которую вы можете себе представить, и у вас не должно быть никаких проблем.
# Распространяется по свободной лицензии # Используйте его любым способом, коммерческим или бесплатным, при условии, что он соответствует лицензиям на связанные с ним работы. # ADXL345 # Этот код разработан для работы с мини-модулем ADXL345_I2CS I2C, доступным на сайте dcubestore.com # https://dcubestore.com/product/adxl345-3-axis-accelerometer-13-bit-i%C2%B2c-mini -модуль /
импортировать smbus
время импорта
# Получить шину I2C
автобус = smbus. SMBus (1)
# ADXL345 адрес, 0x53 (83)
# Выберите регистр скорости полосы пропускания, 0x2C (44) # 0x0A (10) Нормальный режим, выходная скорость данных = 100 Гц bus.write_byte_data (0x53, 0x2C, 0x0A) # ADXL345 адрес, 0x53 (83) # Выберите регистр управления мощностью, 0x2D (45) # 0x08 (08) Отключение автоматического спящего режима bus.write_byte_data (0x53, 0x2D, 0x08) # Адрес ADXL345, 0x53 (83) # Выбор регистра формата данных, 0x31 (49) # 0x08 (08) Самотестирование отключено, 4-проводное соединение interface # Полное разрешение, диапазон = +/- 2g bus.write_byte_data (0x53, 0x31, 0x08)
time.sleep (0,5)
# ADXL345 адрес, 0x53 (83)
# Считать данные обратно из 0x32 (50), 2 байта # X-Axis LSB, X-Axis MSB data0 = bus.read_byte_data (0x53, 0x32) data1 = bus.read_byte_data (0x53, 0x33)
# Преобразовать данные в 10-битные
xAccl = ((data1 & 0x03) * 256) + data0, если xAccl> 511: xAccl - = 1024
# ADXL345 адрес, 0x53 (83)
# Считать данные обратно из 0x34 (52), 2 байта # Младший бит по оси Y, MSB по оси Y data0 = bus.read_byte_data (0x53, 0x34) data1 = bus.read_byte_data (0x53, 0x35)
# Преобразовать данные в 10-битные
yAccl = ((data1 & 0x03) * 256) + data0, если yAccl> 511: yAccl - = 1024
# ADXL345 адрес, 0x53 (83)
# Считать данные обратно из 0x36 (54), 2 байта # Z-Axis LSB, Z-Axis MSB data0 = bus.read_byte_data (0x53, 0x36) data1 = bus.read_byte_data (0x53, 0x37)
# Преобразовать данные в 10-битные
zAccl = ((data1 & 0x03) * 256) + data0, если zAccl> 511: zAccl - = 1024
# Выводить данные на экран
print "Ускорение по оси X:% d"% xAccl print "Ускорение по оси Y:% d"% yAccl print "Ускорение по оси Z:% d"% zAccl
Шаг 4: Практичность Кодекса
Загрузите (или выполните git pull) код с Github и откройте его в Raspberry Pi.
Выполните команды для компиляции и загрузки кода в терминал и просмотрите результат на мониторе. Через несколько секунд он покажет все параметры. Убедившись, что все работает легко, вы можете взять на себя более серьезную задачу.
Шаг 5. Приложения и функции
ADXL345 - это небольшой, тонкий, сверхмалопотребляющий 3-осевой акселерометр с высоким разрешением (13 бит) и измерением до ± 16 г. ADXL345 подходит для приложений сотового телефона. Он количественно определяет статическое ускорение силы тяжести в приложениях для обнаружения наклона и, кроме того, динамическое ускорение, возникающее из-за движения или удара. Другие приложения включают в себя такие, как мобильные телефоны, медицинские приборы, игровые и указывающие устройства, промышленные приборы, персональные навигационные устройства и защиту жесткого диска (HDD).
Шаг 6: Заключение
Надеюсь, эта задача побудит к дальнейшим экспериментам. Этот датчик I2C необычайно гибкий, дешевый и доступный. Поскольку это в значительной степени непостоянная система, есть интересные способы расширить эту задачу и даже улучшить ее.
Например, вы можете начать с идеи инклинометра, используя ADXL345 и Raspberry Pi. В приведенном выше проекте мы использовали базовые расчеты. Вы можете импровизировать код для значений G, углов наклона (или наклона), высоты или понижения объекта относительно силы тяжести. Затем вы можете проверить дополнительные параметры, такие как углы поворота для крена (ось спереди назад, X), тангажа (ось из стороны в сторону, Y) и рыскания (вертикальная ось, Z). Этот акселерометр отображает 3-D G-Force. Таким образом, вы можете использовать этот датчик по-разному.
Для вашего удобства на YouTube есть увлекательные видео-инструкции, которые могут помочь в вашем расследовании. Доверие к этому предприятию побуждает к дальнейшим исследованиям. Продолжайте созерцать! Не забывайте искать, так как постоянно появляется все больше.
Рекомендуемые:
Мониторинг ускорения с использованием Raspberry Pi и AIS328DQTR с использованием Python: 6 шагов
Мониторинг ускорения с помощью Raspberry Pi и AIS328DQTR с использованием Python: Ускорение конечно, я думаю, в соответствии с некоторыми законами физики. - Терри Райли Гепард использует удивительное ускорение и быстрое изменение скорости при преследовании. Самое быстрое существо, выброшенное на берег, время от времени использует свой максимальный темп, чтобы поймать добычу
Neopixel Ws2812 Радужный светодиодный светильник с ручкой M5stick-C - Запуск Rainbow на Neopixel Ws2812 с использованием M5stack M5stick C с использованием Arduino IDE: 5 шагов
Neopixel Ws2812 Радужный светодиодный светильник с ручкой M5stick-C | Запуск Rainbow на Neopixel Ws2812 с использованием M5stack M5stick C с использованием Arduino IDE: Привет, ребята, в этой инструкции мы узнаем, как использовать светодиоды neopixel ws2812 или светодиодную ленту, светодиодную матрицу или светодиодное кольцо с платой разработки m5stack m5stick-C с Arduino IDE, и мы сделаем радуга с этим
RF 433MHZ Радиоуправление с использованием HT12D HT12E - Создание радиочастотного пульта дистанционного управления с использованием HT12E и HT12D с частотой 433 МГц: 5 шагов
RF 433MHZ Радиоуправление с использованием HT12D HT12E | Создание радиочастотного пульта дистанционного управления с использованием HT12E и HT12D с частотой 433 МГц: в этой инструкции я покажу вам, как сделать радиоуправляемый пульт дистанционного управления с использованием модуля приемника передатчика 433 МГц с кодированием HT12E & ИС декодера HT12D. В этом руководстве вы можете отправлять и получать данные, используя очень-очень дешевые КОМПОНЕНТЫ, КАК: HT
Беспроводной пульт дистанционного управления с использованием модуля 2,4 ГГц NRF24L01 с Arduino - Nrf24l01 4-канальный / 6-канальный передатчик-приемник для квадрокоптера - Радиоуправляемый вертолет - Самолет на радиоуправлении с использованием Arduino: 5 шагов (с изображениями)
Беспроводной пульт дистанционного управления с использованием модуля 2,4 ГГц NRF24L01 с Arduino | Nrf24l01 4-канальный / 6-канальный передатчик-приемник для квадрокоптера | Радиоуправляемый вертолет | Самолет на радиоуправлении с использованием Arduino: для управления автомобилем на радиоуправлении | Квадрокоптер | Дрон | Самолет RC | Лодка с дистанционным управлением, нам всегда нужны приемник и передатчик, предположим, для RC QUADCOPTER нам нужен 6-канальный передатчик и приемник, а такие типы TX и RX слишком дороги, поэтому мы сделаем один на нашем
ADXL345 с использованием Arduino Uno R3: 5 шагов
ADXL345 Использование Arduino Uno R3: в этом уроке мы узнаем, как использовать датчик ускорения ADXL345