Подключение акселерометра ADXL335 к Raspberry Pi Pico


В этой статье мы свяжем 3-осевой акселерометр ADXL335 с платой Raspberry Pi Pico с помощью кода на MicroPython. Raspberry Pi Pico — это доступный, универсальный и мощный микроконтроллер, а ADXL335 — это компактный и маломощный акселерометр. В сочетании эти два компонента могут использоваться для создания самых разных захватывающих проектов, таких как системы управления жестами, датчики наклона или даже простые игровые контроллеры.

Подключение акселерометра ADXL335 к Raspberry Pi Pico

В этом руководстве мы предоставим вам пошаговые инструкции по подключению к Raspberry Pi Pico акселерометра ADXL335. Мы также проведем вас через написание необходимого кода для чтения и интерпретации данных акселерометра. К концу этого руководства вы будете иметь четкое представление о Raspberry Pi Pico и акселерометре ADXL335, а также знания, необходимые для создания собственных проектов с использованием этих компонентов.

Ранее акселерометр ADXL335 мы использовали в следующих проектах на нашем сайте:

Необходимые компоненты

  1. Плата Raspberry Pi Pico (купить на AliExpress).
  2. Акселерометр ADXL335 (купить на AliExpress).
  3. Макетная плата.
  4. Соединительные провода.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

3-осевой акселерометр ADXL335

ADXL335 — это небольшой, тонкий, маломощный трехосевой акселерометр производства компании Analog Devices. Он предназначен для измерения ускорения с полным диапазоном ±3 g, где g — ускорение силы тяжести (приблизительно 9,81 м/с²). ADXL335 измеряет ускорение по трем ортогональным осям: X, Y и Z, что позволяет ему определять движение и ориентацию в трехмерном пространстве.

3-осевой акселерометр ADXL335

ADXL335 выводит аналоговые сигналы напряжения, пропорциональные ускорению, испытываемому датчиком. Эти аналоговые сигналы могут быть считаны микроконтроллером или другим устройством с аналого-цифровым преобразователем (АЦП), таким как Arduino или Raspberry Pi Pico, для обработки и интерпретации данных.

Технические характеристики ADXL335

ADXL335 — это трехосевой акселерометр со следующими основными характеристиками:

  • Диапазон измерения: ±3 g (где g — ускорение свободного падения, приблизительно 9,81 м/с²).
  • Чувствительность: Обычно около 300 мВ/г (милливольт на г) при комнатной температуре, с небольшими колебаниями в зависимости от оси.
  • Выход: аналоговое напряжение, пропорциональное ускорению, один выход для каждой оси (X, Y и Z).
  • Напряжение питания: от 1,8 В до 3,6 В, типичное рабочее напряжение 3,3 В.
  • Потребляемая мощность: низкая, обычно около 350 мкА в режиме измерения.
  • Полоса пропускания: выбирается пользователем, до 1,6 кГц для осей X и Y и до 550 Гц для оси Z.
  • Плотность шума: приблизительно 350 мкг/√Гц (микро-g на квадратный корень герц).
  • Смещение при нулевой гравитации: 1,5 В (типичное) на выходе при отсутствии ускорения.
  • Дрейф смещения в условиях невесомости: до 25 мкВ/°C (микровольт на градус Цельсия) в диапазоне рабочих температур.
  • Диапазон рабочих температур: от -40°C до +85°C (от -40°F до +185°F).

Распиновка ADXL335

3-осевой акселерометр ADXL335 имеет 5 контактов.

Распиновка ADXL335

  1. VCC:  контакт питания (от 2,8 В до 3,6 В).
  2. X_OUT:  аналоговый выход оси X.
  3. Y_OUT:  Аналоговый выход оси Y.
  4. Z_OUT:  Аналоговый выход оси Z.
  5. GND:  Заземляющий контакт.

Взаимодействие акселерометра ADXL335 с Raspberry Pi Pico

Для сопряжения акселерометра ADXL335 с платой Raspberry Pi Pico с помощью MicroPython вам необходимо подключить ADXL335 к аналоговым контактам Pico и считать значения ускорения с датчика. Схема подключения акселерометра ADXL335 к плате Raspberry Pi Pico представлена на следующем рисунке.

Схема подключения акселерометра ADXL335 к плате Raspberry Pi Pico

Сделайте следующие соединения:

  • Подключите контакт VCC ADXL335 к контакту 3,3 В Pico.
  • Подключите контакт GND ADXL335 к контакту GND Pico.
  • Подключите ADXL335 X-OUT к контакту GP26 Pico (ADC0).
  • Подключите контакт Y-OUT ADXL335 к контакту GP27 Pico (ADC1).
  • Подключите Z-OUT ADXL335 к контакту GP28 Pico (ADC2).

Для подключения можно использовать макетную плату и соединительные провода.

Собранная на макетной плате конструкция проекта

Код MicroPython для считывания значений ускорения

Ниже приведен пример кода MicroPython для считывания значений ускорения по осям x, y и z с помощью интерфейса ADXL335 и Raspberry by Pico.

Загрузите этот код на свой Raspberry Pi Pico и значения ускорения будут выведены на экран.

Измеренные значения ускорения на экране компьютера

Обратите внимание, что фактическая чувствительность ADXL335 может отличаться от теоретического значения, используемого в коде (0,330 В/г), поэтому для получения точных результатов может потребоваться калибровка датчика.

Код MicroPython для считывания значений угла поворота

Для расчета углов наклона (тангажа и крена) по значениям ускорения можно использовать следующие уравнения:

  • pitch (тангаж) = atan(y / sqrt(x^2 + z^2))
  • roll (крен) = atan(x / sqrt(y^2 + z^2))

Ниже представлен обновленный код MicroPython для ADXL335 и Raspberry Pi Pico для считывания значений ускорения X, Y, Z и расчета углов тангажа и крена.

Загрузите этот код на свой Raspberry Pi Pico и значения ускорения, а также углы тангажа и крена будут выведены на экран.

Вывод измеренных значений ускорения, углов тангажа и крена на экран

Обратите внимание, что ADXL335 — это 3-осевой акселерометр, что означает, что он может измерять ускорение по осям X, Y и Z. Хотя он может предоставлять ценные данные для многих приложений, он не предназначен для непосредственного измерения значений рыскания.

Рыскание — это вращательное движение вокруг оси Z, которое обычно связано с изменениями направления или ориентации. Для измерения значений рыскания обычно используется гироскоп или комбинация датчиков, известная как инерциальный измерительный блок (Inertial Measurement Unit, IMU).

(Проголосуй первым!)
Загрузка...
25 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *