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)

Подробнее...
Модификация
В наличии: 15 шт. Артикул: # 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
Скоро в продаже
DHT11 цифровой датчик температуры и влажности: Сенсор DHT11 для измерения температуры и относительной влажности окружающего воздуха Подробнее
340
Скоро в продаже
296
Скоро в продаже
235
В наличии
Датчик касания Roborace: Сенсор для определения препятствия путём физического контакта машинки Roborace с преградой Подробнее
390
В наличии осталось 8 шт.
Датчик линии TCRT5000 / Аналоговый (Trema-модуль): Сенсор для определения цвета поверхности по шкале от чёрного до белого Подробнее
90
В наличии осталось 10 шт.
745
Скоро в продаже
860
В наличии
940
В наличии
312
Скоро в продаже
563
В наличии
1890
Скоро в продаже
Бесконтактный датчик уровня жидкости XKC-Y25-V (50 см): Сенсор для измерения уровня жидкости на расстоянии Подробнее
580
Скоро в продаже
165
Или перейти в корзину и оформить заказ.
Гарантии и возврат Используя сайт Вы соглашаетесь с условями
Есть вопрос?