Аналоговый акселерометр GY-61 (ADXL335): подключение к Arduino

Трёхосевой модуль GY-61 выдаёт ускорение в виде напряжения на трёх выходах. Характеристики, схема включения и пример озвучки шагов.
Что измеряет модуль
GY-61 — аналоговый акселерометр на микросхеме ADXL335. Он определяет вектор ускорения по трём осям, а поскольку сила тяжести — тоже вектор, датчик способен показать и собственную ориентацию относительно центра Земли. Если резко тряхнуть модуль вдоль вертикальной оси Z, значение на выходе Zout превысит уровень, соответствующий 1 g.


| Микросхема | ADXL335 |
| Напряжение питания | 3–5 В |
| Потребляемый ток | 350 мкА |
| Диапазон измерений | от -3,6 до +3,6 g |
| Чувствительность | 300 мВ/g |
| Рабочая температура | -40…+85 °C |
| Размеры | 20,3 x 15,7 мм |
| Вес | 5 г |
Подключение и первые показания
На вывод VCC модуля подают +3,3 В, а выходы x, y и z соединяют с аналоговыми входами Arduino — в примере это A0, A1 и A2.

Проверочный скетч предельно прост: раз в три секунды он считывает три входа функцией analogRead и печатает значения через пробел в монитор порта. Поворачивая датчик так, чтобы каждая ось по очереди оказывалась под действием +1 g и -1 g, можно записать соответствующие показания АЦП, а резким торможением по оси Z — сымитировать шаг. Значения получаются приблизительными, поскольку плоскости выставляются на глаз.

Пример: звук шагов для костюма робота
Акселерометр удобно использовать как датчик шага. В проекте озвучки костюма робота при каждом шаге должен воспроизводиться «металлический» звук. Состав схемы:
- Arduino Nano;
- два модуля GY-61;
- плата DFPlayer mini;
- карта micro-SD;
- динамик;
- провода.
Программа постоянно читает ось Z двух датчиков, подключённых к входам A2 и A5. Плеер DFPlayer управляется через программный последовательный порт SoftwareSerial на выводах 9 (RX) и 10 (TX) со скоростью 9600; громкость при запуске устанавливается на 30. Когда показание любого из датчиков превышает 460, плееру отправляется команда воспроизвести трек 1 — файл 00001.mp3 на карте памяти. После срабатывания опрос датчиков блокируется на одну секунду, чтобы один шаг не запускал звук несколько раз.
Нет данных с датчика
Если показания не меняются или отсутствуют, проверяют правильность подключения модуля к плате Arduino.