Перейти к содержимому






Фотография
- - - - -

Модуль GY - 521 Аксе - Гиро (ID:268)

Написано admin , 13 Май 2015 · 1 135 Просмотров

Модуль GY - 521 Аксе - Гиро (ID:268) Модуль GY - 521 имеет встроенный трехосный акселерометр и гироскоп.
Для работы с датчиком будем использовать четыре контакта из восьми имеющихся.
VCC - контакт для подключения напряжения питания от 3 до 5 Вольт.
GND - контакт для подключения общего провода.
SDA - контакт цифрового интерфейса I2C. Подключается к выводу А4 Arduino.
SCL - контакт цифрового интерфейса I2C. Подключается к выводу А5 Arduino.




Для начала необходимо скачать файл архива
MPU6050.zip, I2Cdev.zip. Поместите содержимое архива в папку libraries, которая находится в папке с программой Arduino.
Примерный скетч для работы с модулем выглядит так:

#include "I2Cdev.h"
#include "MPU6050.h"

#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE
#include "Wire.h"
#endif
MPU6050 accelgyro;

int16_t ax, ay, az;
int16_t gx, gy, gz;

#define OUTPUT_READABLE_ACCELGYRO

#define LED_PIN 13
bool blinkState = false;

void setup() {
  // join I2C bus (I2Cdev library doesn't do this automatically)
#if I2CDEV_IMPLEMENTATION == I2CDEV_ARDUINO_WIRE
  Wire.begin();
#elif I2CDEV_IMPLEMENTATION == I2CDEV_BUILTIN_FASTWIRE
  Fastwire::setup(400, true);
#endif

  Serial.begin(38400);

  Serial.println("Initializing I2C devices...");
  accelgyro.initialize();

  Serial.println("Testing device connections...");
  Serial.println(accelgyro.testConnection() ? "MPU6050 connection successful" : "MPU6050 connection failed");

  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  // read raw accel/gyro measurements from device
  accelgyro.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);


#ifdef OUTPUT_READABLE_ACCELGYRO
  // display tab-separated accel/gyro x/y/z values
  Serial.print("a/g:\t");
  Serial.print(ax); 
  Serial.print("\t");
  Serial.print(ay); 
  Serial.print("\t");
  Serial.print(az); 
  Serial.print("\t");
  Serial.print(gx); 
  Serial.print("\t");
  Serial.print(gy); 
  Serial.print("\t");
  Serial.println(gz);
#endif

#ifdef OUTPUT_BINARY_ACCELGYRO
  Serial.write((uint8_t)(ax >> 8)); 
  Serial.write((uint8_t)(ax & 0xFF));
  Serial.write((uint8_t)(ay >> 8)); 
  Serial.write((uint8_t)(ay & 0xFF));
  Serial.write((uint8_t)(az >> 8)); 
  Serial.write((uint8_t)(az & 0xFF));
  Serial.write((uint8_t)(gx >> 8)); 
  Serial.write((uint8_t)(gx & 0xFF));
  Serial.write((uint8_t)(gy >> 8)); 
  Serial.write((uint8_t)(gy & 0xFF));
  Serial.write((uint8_t)(gz >> 8)); 
  Serial.write((uint8_t)(gz & 0xFF));
#endif

  // blink LED to indicate activity
  blinkState = !blinkState;
  digitalWrite(LED_PIN, blinkState);
}
Запишите скетч в Arduino и включите монитор порта. Повращаете модуль в пространстве. Вы увидите, как модуль реагирует изменением последовательности цифр.
Ссылка на витрину магазина http://dvrobot.ru/238/420.html.

Прикрепленные изображения

  • Прикрепленное изображение: Снимок экрана от 2015-05-13 23:09:57.png






Trackbacks для записи [ Trackback URL ]

Для данной записи нет trackbacks.

Последние записи

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