Приятные новости: По многочисленным просьбам, мы увеличили время работы до 20:00. ⚡Теперь самовывоз заказов можно осуществить ПН. - ПТ. 12:00-20:00
КОРЗИНА
0 ТОВАРА
8 (499) 500-14-56 | ПН. - ПТ. 12:00-20:00
ЛЕСНОРЯДСКИЙ ПЕРЕУЛОК, 18С2, БЦ "ДМ-ПРЕСС"
 3-осевой акселерометр GY-291 для Arduino ардуино
 3-осевой акселерометр GY-291 для Arduino ардуино

3-осевой акселерометр GY-291 для Arduino

Модификация
Артикул: # 255 Наличие: 46 шт.
Сообщить о поставке на e-mail:
{{ status }}
259 ₽
- +


Возможен безналичный расчёт для юридических лиц при оформлении заказа

С этим товаром берут

Общие сведения

3-осевой акселерометр ADXL345 — это миниатюрный, тонкий, мало потребляющий трех осевой акселерометр с высоким разрешением (13 бит) и диапазоном измерения до ±16 g. Цифровые результаты измерения представляются в виде 16-разрядных чисел в дополнительном коде и доступны через цифровые интерфейсы SPI или I2C.

Характеристики

  • Диапазон напряжения питания: 2 - 3,6В;
  • Низкое потребление тока: 23 мкА;
  • Интерфейсы: I2C / SPI (3- и 4-проводной);
  • Диапазон рабочих температур: от -40 ° C до + 85 °C;
  • Габариты: 20.8 мм × 16 мм × 1,6 мм;

Подключение

Выводы SDA и SCL модуля подключаются к аппаратной шине I2C Arduino. К этим выводам  необходимо подключить подтягивающие резисторы 4,7 кОм и запитать их питанием 3,3 В.

Выводы GND, VDD являются выводами питания (вывод VDD - питание модуля +3,3 В)

Выводы INT1...INT2 используются для внешнего прерывания.

Вывод SDO является выходом последовательных данных, на него подается уровень LOW, подключаем к выводу GND.

Вывод CS используется для выбора микросхемы. На него подается уровень HIGH, то есть питание модуля +3,3 В.

Питание

Напряжение питания модуля от 2,0 В до 3,6 В (по стандарту используется 3,3 В или 5 В для плат Arduino.) постоянного тока, подаётся на выводы «VDD» и «GND»  модуля. 

Подробнее о акселерометре

Датчик GY-291 разработан на основе чипа ADXL345. Ультранизкое энергопотребление: 23 мкА в режиме измерения и 0.1 мкА в режиме ожидания при напряжение 2.5 В.

Для работы с акселерометром рекомендуем вам воспользоваться библиотекой SparkFun_ADXL345.

Примеры

Считывание и вывод данных в монитор порта.

Для предварительной калибровки воспользуйтесь скетчем "SparkFun_ADXL345_Calibration".

Таблица подключения выводов датчика:

  • SDA - подключается к линии данных SDA шины I2C или к выводу A4 Arduino UNO.
  • SCL - подключается к линии тактирования SCL шины I2C или к выводу A5 Arduino UNO.
  • GND - подключается к выводу GND Arduino UNO.
  • VDD - подключается к выводу 3V3 Arduino UNO.
  • CS - подключается к выводу 3V3 Arduino UNO.
  • SDO - подключается к выводу GND Arduino UNO.
  • INT1...INT2 - не используются.
#include <sparkfun_adxl345.h>         // Библиотека SparkFun ADXL345
//ADXL345 adxl = ADXL345(10);           // ИСПОЛЬЗОВАНИЕ СВЯЗИ SPI, ADXL345 (CS_PIN);
ADXL345 adxl = ADXL345();             // ИСПОЛЬЗОВАНИЕ ДЛЯ I2C КОММУНИКАЦИИ
//int interruptPin = 2;                 // Установочный вывод 2 для вывода прерывания (для большинства плат Arduino)

void setup(){
  Serial.begin(9600);                 // Запустите последовательный терминал
  Serial.println("Пример подключения акселерометра SparkFun ADXL345");
  Serial.println();
  adxl.powerOn();                     // Включите ADXL345
  adxl.setRangeSetting(16);           // Дать настройки диапазона
                                      // Принятые значения: 2g, 4g, 8g или 16g
                                      // Более высокие значения = более широкий диапазон измерения
                                      // Нижние значения = Большая чувствительность
  adxl.setSpiBit(0);                  // Конфигурирование устройства в 4-проводном режиме SPI, когда установлено значение «0» или 3-проводное SPI-режим, если установлено значение 1
                                      // По умолчанию: установите значение 1
                                      // SPI связывается с ATMega328: 11, 12 и 13 как ссылка в библиотеке SPI 
  adxl.setActivityXYZ(1, 0, 0);       // Установить активировать обнаружение движения в осях «adxl.setActivityXYZ (X, Y, Z)»; (1 == ON, 0 == OFF)
  adxl.setActivityThreshold(75);      // 62.5mg за инкремент // Устанавливаем активность // Пороги неактивности (0-255)
  adxl.setInactivityXYZ(1, 0, 0);     // Установить для обнаружения бездействия во всех осях «adxl.setInactivityXYZ (X, Y, Z)»; (1 == ON, 0 == OFF)
  adxl.setInactivityThreshold(75);    // 62.5mg за инкремент // Установить бездействие // Пороги неактивности (0-255)
  adxl.setTimeInactivity(10);         // Сколько секунд никакой активности неактивно?
  adxl.setTapDetectionOnXYZ(0, 0, 1); // Обнаружение кранов в направлениях, включенных "adxl.setTapDetectionOnX (X, Y, Z);" (1 == ON, 0 == OFF)
   // Устанавливаем значения для того, что считается TAP и что такое DOUBLE TAP (0-255)
  adxl.setTapThreshold(50);           // 62,5 мг на приращение
  adxl.setTapDuration(15);            // 625 мкс за шаг
  adxl.setDoubleTapLatency(80);       // 1,25 мс за шаг
  adxl.setDoubleTapWindow(200);       // 1,25 мс за шаг
// Устанавливаем значения для считанного FREE FALL (0-255)
  adxl.setFreeFallThreshold(7);       // (5 - 9) рекомендуется - 62,5 мг на шаг
  adxl.setFreeFallDuration(30);       // (20 - 70) рекомендуется - 5 мс за шаг
// Установка всех прерываний на вывод INT1
  //adxl.setImportantInterruptMapping(1, 1, 1, 1, 1);     //Устанавливает «adxl.setEveryInterruptMapping (однократное нажатие, двойное нажатие, свободное падение, активность, бездействие);
                                                        // Принимает только 1 или 2 значения для контактов INT1 и INT2. Это выбирает вывод на ADXL345 для использования для прерываний.
                                                        // В этой библиотеке может возникнуть проблема с использованием вывода INT2. По умолчанию для вывода INT1.
  // Включить прерывания для каждого режима (1 == ON, 0 == OFF)
  adxl.InactivityINT(1);
  adxl.ActivityINT(1);
  adxl.FreeFallINT(1);
  adxl.doubleTapINT(1);
  adxl.singleTapINT(1);
//attachInterrupt(digitalPinToInterrupt(interruptPin), ADXL_ISR, RISING);   // Прикрепить прерывание
}


/****************** ГЛАВНЫЙ КОД ******************/
/*     Показания и прерывания акселерометра    */
void loop(){
  delay(50);
  // Чтения акселерометра
  int x,y,z;   
  adxl.readAccel(&x, &y, &z);         // Прочитайте значения акселерометра и сохраните их в переменных, объявленных выше x, y, z
  // Вывод результатов в последовательный
  /* НЕОБХОДИМО УКАЗАТЬ ЦЕННОСТИ АКСЕЛЕРОМЕТРОВ X Y Z */  
  Serial.print(x);
  Serial.print(", ");
  Serial.print(y);
  Serial.print(", ");
  Serial.println(z); 
  ADXL_ISR();
  // Вы также можете избежать использования прерываний и просто запустить функции в ADXL_ISR ();
  // и помещаем его в цикл.
  // Это может пригодиться, когда это не имеет значения, когда происходит действие.
}

/********************* ISR *********************/
/* Ищите прерывания и запущенные действия    */
void ADXL_ISR() {
  // getInterruptSource очищает все инициированные действия после возврата значения
  // Не вызывать снова, пока вам не нужно будет перепроверять вызванные действия
  байтовые прерывания = adxl.getInterruptSource ();
  // Освобождение падений
  if(adxl.triggered(interrupts, ADXL345_FREE_FALL)){
    Serial.println("*** FREE FALL ***");
    //добавьте код здесь, чтобы сделать, когда ощущается свободное падение
  } 
  //  Неактивность
  if(adxl.triggered(interrupts, ADXL345_INACTIVITY)){
    Serial.println("*** Неактивность***");
     //добавляем код здесь, чтобы делать, когда ощущается неактивность
  }
  // Активность
  if(adxl.triggered(interrupts, ADXL345_ACTIVITY)){
    Serial.println("*** Активность***"); 
     //добавляем код здесь, чтобы делать, когда активность ощущается
  }
  // Обнаружение двойного касания
  if(adxl.triggered(interrupts, ADXL345_DOUBLE_TAP)){
    Serial.println("*** Обнаружение двойного касания ***");
     //добавьте код здесь, чтобы сделать, когда обнаружен 2-кратный кран
  }
  // Нажмите «Обнаружение»
  if(adxl.triggered(interrupts, ADXL345_SINGLE_TAP)){
    Serial.println("*** Нажатие ***");
     //добавьте код здесь, чтобы сделать, когда кран ощущается
  } 
}</sparkfun_adxl345.h>

Комплектация

  • 1х 3-осевой акселерометр GY-291;
  • 1х Соединитель типа "ПАПА-ПАПА";

Ссылки

Похожие товары

Гарантии и возврат Используя сайт Вы соглашаетесь с условями