Оглавление:
Видео: Arduino Nano - MMA8452Q 3-Axis 12-bit / 8-bit Digital Accelerometer Tutorial: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
MMA8452Q - это умный, маломощный, трехосевой, емкостной, микромашинный акселерометр с разрешением 12 бит. Гибкие возможности программирования пользователем предоставляются с помощью встроенных функций в акселерометр, конфигурируемых на два контакта прерывания. Он имеет выбираемую пользователем полную шкалу ± 2 г / ± 4 г / ± 8 г с данными, отфильтрованными фильтром высоких частот, а также нефильтрованными данными, доступными в реальном времени. Вот его демонстрация с Arduino nano.
Шаг 1: Что вам нужно..
1. Arduino Nano
2. MMA8452Q
3. Кабель I²C
4. I²C Shield для Arduino Nano.
Шаг 2: Подключение:
Возьмите щит I2C для Arduino Nano и аккуратно наденьте его на контакты Nano.
Затем подключите один конец кабеля I2C к датчику MMA8452Q, а другой конец - к экрану I2C.
Подключения показаны на картинке выше.
Шаг 3: Код:
Код arduino для MMMA8452Q можно загрузить из нашего репозитория github - DCUBE Store.
Вот ссылка.
Мы включаем библиотеку Wire.h для облегчения связи датчика I2c с платой Arduino.
Вы также можете скопировать код отсюда, он выглядит следующим образом:
// Распространяется по свободной лицензии.
// Используйте его как хотите, для получения прибыли или бесплатно, при условии, что он соответствует лицензиям на связанные с ним работы.
// MMA8452Q
// Этот код предназначен для работы с мини-модулем MMA8452Q_I2CS I2C.
#включают
// Адрес I2C MMA8452Q - 0x1C (28)
#define Addr 0x1C
установка void ()
{
// Инициализируем связь I2C как МАСТЕР
Wire.begin ();
// Инициализируем последовательную связь, устанавливаем скорость передачи = 9600
Serial.begin (9600);
// Запуск передачи I2C
Wire.beginTransmission (адрес);
// Выбираем контрольный регистр
Wire.write (0x2A);
// Режим ожидания
Wire.write (0x00);
// Остановка передачи I2C
Wire.endTransmission ();
// Запуск передачи I2C
Wire.beginTransmission (адрес);
// Выбираем контрольный регистр
Wire.write (0x2A);
// Активный режим
Wire.write (0x01);
// Остановка передачи I2C
Wire.endTransmission ();
// Запуск передачи I2C
Wire.beginTransmission (адрес);
// Выбираем контрольный регистр
Wire.write (0x0E);
// Устанавливаем диапазон +/- 2g
Wire.write (0x00);
// Остановка передачи I2C
Wire.endTransmission ();
задержка (300);
}
пустой цикл ()
{
данные типа int без знака [7];
// Запрос 7 байтов данных
Wire.requestFrom (Адрес, 7);
// Читаем 7 байтов данных
// staus, xAccl lsb, xAccl msb, yAccl lsb, yAccl msb, zAccl lsb, zAccl msb
если (Wire.available () == 7)
{
данные [0] = Wire.read ();
данные [1] = Wire.read ();
данные [2] = Wire.read ();
данные [3] = Wire.read ();
данные [4] = Wire.read ();
данные [5] = Wire.read ();
данные [6] = Wire.read ();
}
// Преобразуем данные в 12-битные
int xAccl = ((данные [1] * 256) + данные [2]) / 16;
если (xAccl> 2047)
{
xAccl - = 4096;
}
int yAccl = ((данные [3] * 256) + данные [4]) / 16;
если (yAccl> 2047)
{
yAccl - = 4096;
}
int zAccl = ((данные [5] * 256) + данные [6]) / 16;
если (zAccl> 2047)
{
zAccl - = 4096;
}
// Выводим данные на последовательный монитор
Serial.print («Ускорение по оси X:»);
Serial.println (xAccl);
Serial.print («Ускорение по оси Y:»);
Serial.println (yAccl);
Serial.print («Ускорение по оси Z:»);
Serial.println (zAccl);
задержка (500);
}
Шаг 4: Приложения:
MMA8452Q имеет различные приложения, в том числе приложения E-Compass, обнаружение статической ориентации, которое включает в себя портрет / пейзаж, вверх / вниз, влево / вправо, определение положения сзади / спереди, ноутбук, электронную книгу и обнаружение падения и падения ноутбука в режиме реального времени. определение ориентации, включая виртуальную реальность и игровую трехмерную обратную связь о положении пользователя, анализ активности в реальном времени, такой как подсчет шагов шагомером, обнаружение свободного падения для жесткого диска, резервное копирование по GPS и многое другое.
Рекомендуемые:
Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Java Tutorial: 4 шага
Raspberry Pi - TMD26721 Инфракрасный цифровой датчик приближения Учебное пособие по Java: TMD26721 - это инфракрасный цифровой датчик приближения, который обеспечивает полную систему обнаружения приближения и логику цифрового интерфейса в одном 8-контактном модуле для поверхностного монтажа. Обнаружение приближения включает улучшенное соотношение сигнал / шум и точность. Профи
Как управлять серводвигателем Arduino Tutorial: 4 шага
Как управлять сервомотором Arduino Учебное пособие: Привет, ребята! добро пожаловать в мой новый учебник. Надеюсь, вам уже понравился мой предыдущий инструктивный материал «Управление большим шаговым двигателем». Сегодня я публикую это информативное руководство, чтобы научить вас основам управления любым серводвигателем, я уже опубликовал видео
Arduino Uno Tutorial # 1 - Базовая программа мигания: 4 шага
Arduino Uno Tutorial # 1 - Basic Blink Program: Всем привет! Я рад опубликовать свое первое руководство! Эта идея пришла мне в голову, когда мне было трудно заставить работать свою Arduino Uno, поэтому, поскольку у меня были некоторые трудности, я сделаю некоторые объяснения всем новичкам здесь, что такие, как я, не знают многого
Arduino Uno Tutorial # 2 - Песня с зуммером: 4 шага (с изображениями)
Arduino Uno Tutorial # 2 - Песня с зуммером: Привет всем, когда я увидел, что мой первый урок был хорошей авантюрой, я решил, что сделаю для вас серию руководств по Arduino Uno
Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Python Tutorial: 4 шага
Raspberry Pi - TMD26721 Инфракрасный цифровой датчик приближения Python Учебное пособие: TMD26721 - это инфракрасный цифровой датчик приближения, который обеспечивает полную систему обнаружения приближения и логику цифрового интерфейса в одном 8-контактном модуле для поверхностного монтажа. Обнаружение приближения включает улучшенное соотношение сигнал / шум и точность. Прокс