0
КОРЗИНА
0 ТОВАРА
 3-осевой гироскоп + акселерометр GY-521 (MPU-6050) для Arduino ардуино
 3-осевой гироскоп + акселерометр GY-521 (MPU-6050) для Arduino ардуино
 3-осевой гироскоп + акселерометр GY-521 (MPU-6050) для Arduino ардуино
 3-осевой гироскоп + акселерометр GY-521 (MPU-6050) для Arduino ардуино
 3-осевой гироскоп + акселерометр GY-521 (MPU-6050) для Arduino ардуино
 3-осевой гироскоп + акселерометр GY-521 (MPU-6050) для Arduino ардуино

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

Подробнее...
Модификация
В наличии: 25 шт. Артикул: # 244
374 ₽
Возможен безналичный расчёт для юридических лиц при оформлении заказа
Сообщить о поставке на e-mail:
{{ status }}
  • В наличии и готов к отправке!
  • Доставка товаров по России, Белоруссии, Казахстану
  • Возможен безналичный расчёт для юридических лиц при оформлении заказа
Количество:
Перейти в корзину и оформить заказ.
Telegram
WhatsApp
Обсудить вопросы приобретения, не технические!
*Доступно общение только текстовыми сообщениями, звонки и аудио сообщения не обслуживаются
Онлайн

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

Описание товара
Подробное описание товара

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

Модуль 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х Соединитель типа "ПАПА-ПАПА" угловой;

Ссылки

Товары
Первой необходимости и другие вещи, которые могут пригодиться!
В наличии
I2C Переходник: Подробнее
25
В наличии
Инфракрасный датчик движения HC-SR501: Позволяет фиксировать движение тёплых объектов: людей и животных. Подробнее
160
В наличии
454
640
В наличии
340
В наличии осталось 4 шт.
3690
Скоро в продаже
517
В наличии
397
Скоро в продаже
860
Скоро в продаже
446
В наличии
296
Скоро в продаже
Цифровой термометр (Trema-модуль): Измеряет температуру окружающей среды. Подробнее
259
В наличии
BMI160 6DOF (гироскоп, акселерометр): 3-осевой Гироскоп и 3-осевой Акселерометр Подробнее
470
Скоро в продаже
146
Или перейти в корзину и оформить заказ.
Гарантии и возврат Используя сайт Вы соглашаетесь с условями
Есть вопрос?