Arduino ADXL345
тел. +7(499)347-04-82
Описание Arduino ADXL345
Вот подробное описание, технические характеристики, парт-номера (артикулы) и совместимые модели для акселерометра Arduino ADXL345 (часто продающегося как модуль GY-291).
1. Описание
ADXL345 — это цифровой 3-осевой акселерометр с малым энергопотреблением, производимый компанией Analog Devices. Это один из самых популярных MEMS-датчиков для плат Arduino благодаря своей точности, возможности измерения статического ускорения (силы тяжести) и динамического ускорения (движение, вибрация, удар).
Ключевые особенности:
- Цифровой интерфейс (I²C и SPI) — не требует подключения к аналоговым пинам Arduino.
- Измерение по трем осям: X, Y, Z.
- Диапазоны:
- ±2g (самый чувствительный, подходит для наклона)
- ±4g, ±8g, ±16g (для ударов и быстрых движений).
- Детекция событий: Обнаружение свободного падения, двойного/одинарного "стряхивания", удара, наклона.
- Разрешение: 13 бит (до 4 мг/LSB).
- Низкое энергопотребление — идеален для проектов на батарейках (режим сна).
Где используется:
- Определение ориентации в пространстве (шаг, крен).
- Проекты «Пианино по наклону» (Theramin-like проекты).
- Датчик падения (дрон, спасательный жилет, HDD).
- Анализ активности (шагомер, фитнес-браслет).
- Робототехника (балансирующие роботы).
2. Полные технические характеристики (Datasheet-based)
| Параметр | Значение | | :--- | :--- | | Модель чипа | ADXL345BCCZ | | Напряжение питания (VCC) | 2.0 – 3.6 В (логический уровень: 1.7 – 3.6 В) | | Интерфейсы | I²C (до 400 кГц), SPI (3- или 4-проводной, до 5 МГц) | | Диапазоны измерения (Полная шкала) | ±2g, ±4g, ±8g, ±16g (программируемые) | | Разрешение | 13 бит (в ±16g режиме — 10 бит, по умолчанию — 10 бит без фильтра) | | Чувствительность | 256 LSB/g (на ±2g режиме) | | Уровень шума | 0.03 м/с² (RMS) для режима MAX+ (25 Гц BW) | | Частота обновления (ODR) | От 0.1 Гц до 3200 Гц (программируемая) | | Ток потребления | < 145 мкА (активный), 0.1 мкА (Standby) | | Диапазон рабочих температур | -40..+85°C | | Габариты модуля (GY-291) | 15×15×1.5 мм |
3. Парт-номера (Артикулы) (Часто встречаются на площадках)
Ниже приведены наиболее распространённые варианты, которые вы найдёте в продаже:
| Тип устройства/Модуля | Парт-номер / Маркировка | Описание/Совместимость | | :--- | :--- | :--- | | Чип (оригинальный MikroBus/Sparkfun) | ADXL345BCCZ-RL7 | RP2040/STM32/Arduino. Производство Analog Devices. | | Модуль для экспериментов | GY-291 | Самый популярный модуль в Китае (синий текст на чёрном поле). Распиновка: Впаивается напрямую в Breadboard (?)| | Модуль производственного стандарта | PCB: QSD-ADXL345 или LM68M | Вариант с другим расположением отверстий (для QSD-сервоконтроллеров).| | Модуль SparkFun (красный сердечник) | SEN-09683 | Сертифицированная версия (дорожки референсные) — I2C и SPI коннекторы| | Модуль Adafruit (фоторезистор/стакан) | 1231 | Adafruit Industries (2-й пиновый хедер с I2C на лицевой стороне)|
4. Совместимые модели (Arduino, ESP, STM, Teensy)
ADXL345 полностью совместим с большинством микроконтроллеров через библиотеки:
✅ Прямая совместимость (I²C и SPI):
- Arduino — все линейки:
Uno R3,Mega 2560, Due, Nano, Micro, Leonardo. - ESP –
ESP8266(NodeMCU, Wemos D1),ESP32,ESP32-S2/S3/C3(часто работает как I2C или SPI). - STM32 (Blue Pill, Black Pill, STM32 Nucleo LCD, Maple Mini) — работает с библиотеками
Wire.hиSPI.h. - LPU & STC – в продуктах чете.
❌ Ограничения:
- Несовместим напрямую с 5V логикой Arduino Uno через analog-in.
- Решение: используйте интерфейсы I²C (SDA/SCL) с подтягиванием к 3.3V + логический конвертер 5V<>3.3V, или последовательный интерфейс SPI (снижение напряжения Master до 3.3V можно).
- Платы с 1.8V I/O (Giga, некоторые Bare Conductors) — требуется дополнительный хаб.
✅ Без проблем в смешанных проектах:
- Teensy 3.x / Teensy 4.x (3.3V логика, регистр и таймер).
Важное замечание: Не забудьте, что модуль питается 3.3V не +5V. Не вставляйте его в 5V-колодку ЕVBoards (классическое убийство).
5. Типичная схема подключения (Arduino + GY-291)
Arduino Uno | ADXL345 (GY-291)
--------------------|------------
5V / VCC | ---------> VCC (можно подать 5V на модуль, если на борту
| есть линейный стабилизатор до 3.3V; надёжнее через 3.3V)
3.3V | ---------> [Для наноплаты лучше подключить к 3.3V пину Ардуины]
GND | ---------> GND
A4 (SDA) | ---------> SDA
A5 (SCL) | ---------> SCL
Код (проверка в Serial Monitor):
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_ADXL345_U.h>
Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345);
void setup() {
Serial.begin(9600);
if(!accel.begin()) {
Serial.println("ADXL345 не найден!");
while(1);
}
accel.setRange(ADXL345_RANGE_16_G); // Устанавливаем диапазон ±16G
Serial.println("ADXL345 Initialized!");
}
void loop() {
sensors_event_t event;
accel.getEvent(&event);
Serial.print("X: "); Serial.print(event.acceleration.x);
Serial.print(" Y: "); Serial.print(event.acceleration.y);
Serial.print(" Z: "); Serial.print(event.acceleration.z);
Serial.println(" m/s^2");
delay(300);
}
Дополнительно: По умолчанию модуль использует I²C адрес 0x53. Если это сбить (вывод SDO/VOD GND/IO), то адрес — 0x1D (альтернативная микросхема до старого даст Iії інше на Sparkfun).
6. Полезные советы (из опыта):
- Не вешайте питание на 5V "горохом"! Хотя микросхема имеет жемчужный частотный стабилизатор вовнут / между чипом (при превышении JNP частоты блока стабилизируется) — подавайте 3.3V (красный провод) на балку GY-291 до земли +100мА. Если ничего не светится синим (ЛЕД не чувствуется) — возьмите кондукторный модуль Bread.
- Пятна пайки: Линия осей X помечена на вашем устройстве стрелками +/-X (на официальной картине). Обратитесь к эргономике: ось Z обычно к "тому" направлена (микруха врезается сама в себя над волоком тракта).
- Библиотеки: Выбор за вами:
Adafruit_ADXL345,SparkFun ADXL345_Arduino(легче поход),BitcoinArduino core библиотек. - Для самодельных дронов: Возьмите ADXL345 (со склада) — файрволит корректней напряжения + каботаж SPI да горить лучшую серию.
Удачи перенестись на ось Z— в прямой концепт! Заказывайте лабораторный девайс GY-291 Bread no cap.