MPU-9150 + Arduino Leonardo
- Войдите на сайт для отправки комментариев
Ср, 28/08/2013 - 18:07
Всем привет!
Имеется arduino leonardo и MPU-9150 (https://www.sparkfun.com/products/11486). В интернете находил различные способы подключения датчика к ардуино:
1. http://www.egr.msu.edu/classes/ece480/capstone/spring13/group08/documents/nori.pdf
а также различные скетчи для взаимодействия с датчиком:
1. http://playground.arduino.cc/Main/MPU-9150
2. http://playground.arduino.cc/Main/I2cScanner
Ни один вариант подключения и кода не заработал, в последнем варианте кода выдал MPU6050 connection failed. Может, кто-нибудь имеет опыт работы с данным сенсором или аналогичными?
Идем в Контроллеры Arduino -> Leonardo и внимательно читаем, читаем..., читаем..., и..., опа на:
Дальше обьяснять надо?
Да, я пробовал разные схемы соединения, приведенные в моем сообщении. К сожалению, ни один вариант не заработал. То, что SDA и SCL используется через Wire - это понятно.
То, что SDA и SCL используется через Wire - это понятно.
А то что SDA и SCL на леонардо находятся на 2 и 3 цифровых выводах это вам понятно?
У меня сейчас подключение такое:
IMU 9150 - Leonardo
GND <-> GND
VCC <-> 3.3V
SDA <-> 2 (digital)
SCL <-> 3 (digital)
код пробовал в частности этот:
#include <Wire.h> void setup() { Wire.begin(); Serial.begin(9600); while (!Serial){ } Serial.println("\nI2C Scanner"); } void loop() { byte error, address; int nDevices; Serial.println("Scanning..."); nDevices = 0; for(address = 1; address < 127; address++ ) { // The i2c_scanner uses the return value of // the Write.endTransmisstion to see if // a device did acknowledge to the address. Wire.beginTransmission(address); Serial.println("Scanning 1"); error = Wire.endTransmission(); Serial.println("Scanning 2"); if (error == 0) { Serial.print("I2C device found at address 0x"); if (address<16) Serial.print("0"); Serial.print(address,HEX); Serial.println(" !"); nDevices++; } else if (error==4) { Serial.print("Unknow error at address 0x"); if (address<16) Serial.print("0"); Serial.println(address,HEX); } } if (nDevices == 0) Serial.println("No I2C devices found\n"); else Serial.println("done\n"); delay(5000); // wait 5 seconds for next scan }У меня доходит до Serial.println("Scanning 1"), а дальше зависает при выполнении error = Wire.endTransmission()