Подключение акселерометра 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).

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

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

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