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

    3-осевой гироскоп + акселерометр GY-521 (MPU-6050) для Arduino

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


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

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

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

    Модуль GY-521 на микросхеме MPU6050 — это 3-осевой гироскоп и акселерометр на три координаты. Его можно использовать для определения положения в пространстве.

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

    • Чип: MPU-6050
    • Питание: 3,5-6 Вольта
    • Режим связи: стандартный протокол IIC связи
    • Чип встроенный 16bit АЦП
    • Гироскопы в диапазоне 250 500 1000 2000 градусов / сек
    • Диапазон ускорение: 2g, 4g,8 г, 16g
    • Расстояние между контактный: 2,54
    • размеры: 2,0 см х 1,6 см х 0,3 см

    Подключение

    Для питания модуля необходимо использовать строго 3.3V!

    Gy-521 (mpu6050)Arduino (Uno)
    VCC3.3 V
    GNDGND
    SCLA5
    SDAA4

    Подробнее о модуле

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

    Примеры

    Вывод координат Х и У в монитор последовательного порта.

    #include <Wire.h>
    #include "Kalman.h"
    Kalman kalmanX;
    Kalman kalmanY;
    uint8_t IMUAddress = 0x68;
    /* IMU Data */
    int16_t accX;
    int16_t accY;
    int16_t accZ;
    int16_t tempRaw;
    int16_t gyroX;
    int16_t gyroY;
    int16_t gyroZ;
    <b>double</b> accXangle; // Angle calculate using the accelerometer
    <b>double</b> accYangle;
    <b>double</b> temp;
    <b>double</b> gyroXangle = 180; // Angle calculate using the gyro
    <b>double</b> gyroYangle = 180;
    <b>double</b> compAngleX = 180; // Calculate the angle using a Kalman filter
    <b>double</b> compAngleY = 180;
    <b>double</b> kalAngleX; // Calculate the angle using a Kalman filter
    <b>double</b> kalAngleY;
    uint32_t timer;
    <b>void</b> setup() {
      Wire.<b>begin</b>();
      Serial.<b>begin</b>(9600);
      i2cWrite(0x6B,0x00); // Disable sleep mode      
      kalmanX.setAngle(180); // Set starting angle
      kalmanY.setAngle(180);
      timer = micros();
    }
    <b>void</b> loop() {
      /* Update all the values */
      uint8_t* data = i2cRead(0x3B,14);
      accX = ((data[0] << 8) | data[1]);
      accY = ((data[2] << 8) | data[3]);
      accZ = ((data[4] << 8) | data[5]);
      tempRaw = ((data[6] << 8) | data[7]);
      gyroX = ((data[8] << 8) | data[9]);
      gyroY = ((data[10] << 8) | data[11]);
      gyroZ = ((data[12] << 8) | data[13]);
      /* Calculate the angls based on the different sensors and algorithm */
      accYangle = (atan2(accX,accZ)+PI)*RAD_TO_DEG;
      accXangle = (atan2(accY,accZ)+PI)*RAD_TO_DEG;  
      <b>double</b> gyroXrate = (<b>double</b>)gyroX/131.0;
      <b>double</b> gyroYrate = -((<b>double</b>)gyroY/131.0);
      gyroXangle += kalmanX.getRate()*((<b>double</b>)(micros()-timer)/1000000); // Calculate gyro angle using the unbiased rate
      gyroYangle += kalmanY.getRate()*((<b>double</b>)(micros()-timer)/1000000);
      kalAngleX = kalmanX.getAngle(accXangle, gyroXrate, (<b>double</b>)(micros()-timer)/1000000); // Calculate the angle using a Kalman filter
      kalAngleY = kalmanY.getAngle(accYangle, gyroYrate, (<b>double</b>)(micros()-timer)/1000000);
      timer = micros();
    Serial.println();
        Serial.<b>print</b>("X:");
        Serial.<b>print</b>(kalAngleX,0);
        Serial.<b>print</b>(" ");
        Serial.<b>print</b>("Y:");
        Serial.<b>print</b>(kalAngleY,0);
        Serial.println(" ");
      // The accelerometer's maximum samples rate is 1kHz
    }
    <b>void</b> i2cWrite(uint8_t registerAddress, uint8_t data){
      Wire.beginTransmission(IMUAddress);
      Wire.write(registerAddress);
      Wire.write(data);
      Wire.endTransmission(); // Send stop
    }
    uint8_t* i2cRead(uint8_t registerAddress, uint8_t nbytes) {
      uint8_t data[nbytes];
      Wire.beginTransmission(IMUAddress);
      Wire.write(registerAddress);
      Wire.endTransmission(<b>false</b>); // Don't release the bus
      Wire.requestFrom(IMUAddress, nbytes); // Send a repeated start and then release the bus after reading
      <b>for</b>(uint8_t i = 0; i < nbytes; i++)
        data [i]= Wire.read();
      <b>return</b> data;
    }

    Если X и У равны 180, значит гироскоп находится в горизонтальной плоскости.

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

    • 1х модуль GY-521;
    • 1х Соединитель типа "ПАПА-ПАПА" прямой;
    • 1х Соединитель типа "ПАПА-ПАПА" угловой;

    Ссылки

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

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