Arduino IDE не видит библиотеку I2Cdevlib

DrZ91
Offline
Зарегистрирован: 10.10.2014
Скачал библиотеку i2cdevlib. Папки MPU6050 и I2Cdev скопировал в C:\Users\Admin(RCMS)\Documents\Arduino\libraries
Папка со скетчами расположена по адресу C:\Users\Admin(RCMS)\Documents\Arduino
Использую Arduino IDE 1.0.3 for windows. Arduino IDE находится в папке C:\ArduPilot-Arduino-1.0.3-windows

Пробовал скомпилировать пример MPU6050_DMP6, получил кучу ошибок:

Building for ArduPilot Mega 2.x
Excluding arduino core from include paths
In file included from MPU6050_DMP6.ino:46:
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\I2Cdev/I2Cdev.h:77:29: error: Arduino.h: No such file or directory
In file included from C:\Users\Admin(RCMS)\Documents\Arduino\libraries\I2Cdev/I2Cdev.h:80,
                 from MPU6050_DMP6.ino:46:
C:\ArduPilot-Arduino-1.0.3-windows\libraries\Wire/Wire.h:26:20: error: Stream.h: No such file or directory
In file included from C:\Users\Admin(RCMS)\Documents\Arduino\libraries\I2Cdev/I2Cdev.h:80,
                 from MPU6050_DMP6.ino:46:
C:\ArduPilot-Arduino-1.0.3-windows\libraries\Wire/Wire.h:31: error: expected class-name before '{' token
C:\ArduPilot-Arduino-1.0.3-windows\libraries\Wire/Wire.h:60: error: 'size_t' does not name a type
C:\ArduPilot-Arduino-1.0.3-windows\libraries\Wire/Wire.h:61: error: 'size_t' does not name a type
C:\ArduPilot-Arduino-1.0.3-windows\libraries\Wire/Wire.h:69: error: 'size_t' does not name a type
C:\ArduPilot-Arduino-1.0.3-windows\libraries\Wire/Wire.h:70: error: 'size_t' does not name a type
C:\ArduPilot-Arduino-1.0.3-windows\libraries\Wire/Wire.h:71: error: 'size_t' does not name a type
C:\ArduPilot-Arduino-1.0.3-windows\libraries\Wire/Wire.h:72: error: 'size_t' does not name a type
C:\ArduPilot-Arduino-1.0.3-windows\libraries\Wire/Wire.h:73: error: 'Print' has not been declared
In file included from C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:37,
                 from MPU6050_DMP6.ino:48:
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/helper_3dmath.h: In member function 'float Quaternion::getMagnitude()':
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/helper_3dmath.h:74: error: 'sqrt' was not declared in this scope
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/helper_3dmath.h: In member function 'float VectorInt16::getMagnitude()':
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/helper_3dmath.h:111: error: 'sqrt' was not declared in this scope
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/helper_3dmath.h: In member function 'float VectorFloat::getMagnitude()':
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/helper_3dmath.h:178: error: 'sqrt' was not declared in this scope
In file included from C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:42,
                 from MPU6050_DMP6.ino:48:
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/MPU6050.h: At global scope:
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/MPU6050.h:876: error: 'NULL' was not declared in this scope
In file included from MPU6050_DMP6.ino:48:
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h: In member function 'uint8_t MPU6050::dmpInitialize()':
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:329: error: 'delay' was not declared in this scope
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h: In member function 'uint8_t MPU6050::dmpGetLinearAccelInWorld(VectorInt16*, VectorInt16*, Quaternion*)':
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:663: error: 'memcpy' was not declared in this scope
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h: In member function 'uint8_t MPU6050::dmpGetEuler(float*, Quaternion*)':
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:684: error: 'atan2' was not declared in this scope
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:685: error: 'asin' was not declared in this scope
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h: In member function 'uint8_t MPU6050::dmpGetYawPitchRoll(float*, Quaternion*, VectorFloat*)':
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:691: error: 'atan2' was not declared in this scope
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:693: error: 'sqrt' was not declared in this scope
C:\Users\Admin(RCMS)\Documents\Arduino\libraries\MPU6050/MPU6050_6Axis_MotionApps20.h:693: error: 'atan' was not declared in this scope
MPU6050_DMP6.ino: In function 'void setup()':
MPU6050_DMP6:173: error: 'Serial' was not declared in this scope
MPU6050_DMP6:183: error: 'F' was not declared in this scope
MPU6050_DMP6:214: error: 'RISING' was not declared in this scope
MPU6050_DMP6:214: error: 'attachInterrupt' was not declared in this scope
MPU6050_DMP6:234: error: 'OUTPUT' was not declared in this scope
MPU6050_DMP6:234: error: 'pinMode' was not declared in this scope
MPU6050_DMP6.ino: In function 'void loop()':
MPU6050_DMP6:272: error: 'Serial' was not declared in this scope
MPU6050_DMP6:272: error: 'F' was not declared in this scope
MPU6050_DMP6:316: error: 'Serial' was not declared in this scope
MPU6050_DMP6:317: error: 'M_PI' was not declared in this scope
MPU6050_DMP6:370: error: 'digitalWrite' was not declared in this scope
Подскажите, что я неправильно делаю?
Спасибо.
NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Используйте более новую версию среды Arduino -  у меня не возникало подобных проблем с этой библиотекой на версии 1.0.5

У вас там компилятор не смог найти нужные функции и указанные файлы, это значит что неправильно выбраноокружение Arduino(набор подпрограмм) или оно устарело для этой версии библиотеки. Также есть записи о синтаксических ошибках в скетче, что также возможно из-за старой среды.

DrZ91
Offline
Зарегистрирован: 10.10.2014

Спасибо за ответ. Я и сам уже разобрался. Скачал с офф. сайта Arduino IDE 1.5.8 и после некоторых танцев с бубном всё скомпилировалось(правда на другом компе). Тему можно закрывать.