Корзина

Товар/услуга Стоимость (Руб.) Количество (Штук) Сумма(Руб.)
Оформить заказ
Закрыть корзину

8 (499) 500-14-56 | ПН. - ПТ. 12:00-18:00
ЛЕСНОРЯДСКИЙ ПЕРЕУЛОК, 18С2, БЦ "ДМ-ПРЕСС"
Магазин
Личный кабинет
Ресурсы
Указывайте в ваших постах тэг #iarduino
Видео уроки

Вверх

Купить 3-осевой акселерометр GY-291 для Arduino

3-осевой акселерометр GY-291  для Arduino
 3-осевой акселерометр GY-291 для Arduino ардуино 3-осевой акселерометр GY-291 для Arduino ардуино
ID товара: 255
Наличие: Скоро в продаже
Сообщить о поставке на e-mail:
Сообщить
Возможен безналичный расчёт для юридических лиц при оформлении заказа

Доставка

По Москве
  • -Самовывоз
  • -Курьерская доставка
  • -Пункты выдачи Boxberry
По России
  • -Почта России 1 классом
  • -Пункты выдачи Boxberry
  • -EMS
  • -СДЭК

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

Датчик тока 5А (Trema-модуль v2.0) для ардуиныЦифровой датчик температуры и влажности высокой точности (Trema-модуль) для ардуиныMPU-9250  9DOF (гироскоп, акселерометр, компас) для ардуиныИнфракрасный дальномер (10-80см)  GP2Y0A21YK0F (Датчик расстояния) для ардуиныТермопара К-типа + Нормализатор сигнала (max6675) для ардуиныДатчик газа MQ5 для обнаружения сжиженного, природного и угольного газа  для ардуиныДатчик звука (Trema-модуль v2.0) для ардуиныИК-приёмник (Trema-модуль) для ардуиныДатчик освещённости (Trema-модуль) для ардуиныДатчик температуры DS18B20+ для ардуиныЭластичная клавиатура 4 x4 кнопки для ардуиныДатчик тока 20А. для ардуины

Теги

Описание
Файлы и библиотеки (0)
Уроки (0)

Описание: 3-осевой акселерометр GY-291

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

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

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

Подключение:

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

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

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

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

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

Библиотека:

Библиотеку для датчика можно скачать, перейдя по ссылке: https://learn.sparkfun.com/tutorials/adxl345-hooku..., в разделе "SparkFun ADXL345 Library"

Пример использования датчика:

Для примера возьмем скетч из стандартной библиотеке. Для калибровки датчика воспользуйтесь скетчем "SparkFun_ADXL345_Calibration". Инструкция по калибровке приведена на сайте: https://learn.sparkfun.com/tutorials/adxl345-hooku..., в разделе "Calibration". Для работы с самим датчиком воспользуемся скетчем "SparkFun_ADXL345_Example" из библиотеке или скопируйте скетч ниже. В нем происходит считывание данных по I2C и вывод в монитор порта.

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

  • 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 - не используются.

Загрузим скетч указанный ниже. Смотрим в мониторе порта полученные результаты.

/*  ********************************************* 
 *  SparkFun_ADXL345_Example
 *  Triple Axis Accelerometer Breakout - ADXL345 
 *  Hook Up Guide Example 
 *  
 *  Utilizing Sparkfun's ADXL345 Library
 *  Bildr ADXL345 source file modified to support 
 *  both I2C and SPI Communication
 *  
 *  E.Robert @ SparkFun Electronics
 *  Created: Jul 13, 2016
 *  Updated: Sep 06, 2016
 *  
 *  Development Environment Specifics:
 *  Arduino 1.6.11
 *  
 *  Hardware Specifications:
 *  SparkFun ADXL345
 *  Arduino Uno
 *  *********************************************/
#include <SparkFun_ADXL345.h>         // SparkFun ADXL345 Library
/*********** COMMUNICATION SELECTION ***********/
/*    Comment Out The One You Are Not Using    */
//ADXL345 adxl = ADXL345(10);           // USE FOR SPI COMMUNICATION, ADXL345(CS_PIN);
ADXL345 adxl = ADXL345();             // USE FOR I2C COMMUNICATION
/****************** INTERRUPT ******************/
/*      Uncomment If Attaching Interrupt       */
//int interruptPin = 2;                 // Setup pin 2 to be the interrupt pin (for most Arduino Boards)
/******************** SETUP ********************/
/*          Configure ADXL345 Settings         */
void setup(){
  Serial.begin(9600);                 // Start the serial terminal
  Serial.println("SparkFun ADXL345 Accelerometer Hook Up Guide Example");
  Serial.println();
  adxl.powerOn();                     // Power on the ADXL345
  adxl.setRangeSetting(16);           // Give the range settings
                                      // Accepted values are 2g, 4g, 8g or 16g
                                      // Higher Values = Wider Measurement Range
                                      // Lower Values = Greater Sensitivity
  adxl.setSpiBit(0);                  // Configure the device to be in 4 wire SPI mode when set to '0' or 3 wire SPI mode when set to 1
                                      // Default: Set to 1
                                      // SPI pins on the ATMega328: 11, 12 and 13 as reference in SPI Library 
  adxl.setActivityXYZ(1, 0, 0);       // Set to activate movement detection in the axes "adxl.setActivityXYZ(X, Y, Z);" (1 == ON, 0 == OFF)
  adxl.setActivityThreshold(75);      // 62.5mg per increment   // Set activity   // Inactivity thresholds (0-255)
  adxl.setInactivityXYZ(1, 0, 0);     // Set to detect inactivity in all the axes "adxl.setInactivityXYZ(X, Y, Z);" (1 == ON, 0 == OFF)
  adxl.setInactivityThreshold(75);    // 62.5mg per increment   // Set inactivity // Inactivity thresholds (0-255)
  adxl.setTimeInactivity(10);         // How many seconds of no activity is inactive?
  adxl.setTapDetectionOnXYZ(0, 0, 1); // Detect taps in the directions turned ON "adxl.setTapDetectionOnX(X, Y, Z);" (1 == ON, 0 == OFF)
  // Set values for what is considered a TAP and what is a DOUBLE TAP (0-255)
  adxl.setTapThreshold(50);           // 62.5 mg per increment
  adxl.setTapDuration(15);            // 625 μs per increment
  adxl.setDoubleTapLatency(80);       // 1.25 ms per increment
  adxl.setDoubleTapWindow(200);       // 1.25 ms per increment
  // Set values for what is considered FREE FALL (0-255)
  adxl.setFreeFallThreshold(7);       // (5 - 9) recommended - 62.5mg per increment
  adxl.setFreeFallDuration(30);       // (20 - 70) recommended - 5ms per increment
  // Setting all interupts to take place on INT1 pin
  //adxl.setImportantInterruptMapping(1, 1, 1, 1, 1);     // Sets "adxl.setEveryInterruptMapping(single tap, double tap, free fall, activity, inactivity);" 
                                                        // Accepts only 1 or 2 values for pins INT1 and INT2. This chooses the pin on the ADXL345 to use for Interrupts.
                                                        // This library may have a problem using INT2 pin. Default to INT1 pin.
  // Turn on Interrupts for each mode (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);   // Attach Interrupt
}
/****************** MAIN CODE ******************/
/*     Accelerometer Readings and Interrupt    */
void loop(){
  delay(50);
  // Accelerometer Readings
  int x,y,z;   
  adxl.readAccel(&x, &y, &z);         // Read the accelerometer values and store them in variables declared above x,y,z
  // Output Results to Serial
  /* UNCOMMENT TO VIEW X Y Z ACCELEROMETER VALUES */  
  Serial.print(x);
  Serial.print(", ");
  Serial.print(y);
  Serial.print(", ");
  Serial.println(z); 
  ADXL_ISR();
  // You may also choose to avoid using interrupts and simply run the functions within ADXL_ISR(); 
  //  and place it within the loop instead.  
  // This may come in handy when it doesn't matter when the action occurs. 
}
/********************* ISR *********************/
/* Look for Interrupts and Triggered Action    */
void ADXL_ISR() {
  // getInterruptSource clears all triggered actions after returning value
  // Do not call again until you need to recheck for triggered actions
  byte interrupts = adxl.getInterruptSource();
  // Free Fall Detection
  if(adxl.triggered(interrupts, ADXL345_FREE_FALL)){
    Serial.println("*** FREE FALL ***");
    //add code here to do when free fall is sensed
  } 
  // Inactivity
  if(adxl.triggered(interrupts, ADXL345_INACTIVITY)){
    Serial.println("*** INACTIVITY ***");
     //add code here to do when inactivity is sensed
  }
  // Activity
  if(adxl.triggered(interrupts, ADXL345_ACTIVITY)){
    Serial.println("*** ACTIVITY ***"); 
     //add code here to do when activity is sensed
  }
  // Double Tap Detection
  if(adxl.triggered(interrupts, ADXL345_DOUBLE_TAP)){
    Serial.println("*** DOUBLE TAP ***");
     //add code here to do when a 2X tap is sensed
  }
  // Tap Detection
  if(adxl.triggered(interrupts, ADXL345_SINGLE_TAP)){
    Serial.println("*** TAP ***");
     //add code here to do when a tap is sensed
  } 
}

Питание:

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

Спецификация:

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

Файлы и Библиотеки для 3-осевой акселерометр GY-291

Уроки с товаром: 3-осевой акселерометр GY-291


Гарантии и возврат
Яндекс.Метрика