Подключение HMC5883L
- Войдите на сайт для отправки комментариев
Сб, 03/03/2018 - 19:58
Здравствуите пытаюсь подключить HMC5883L... в модуле GY-273 , в модуле MPU-9250 к ардуино уно.
по вот этому материалу
http://soltau.ru/index.php/arduino/item/453-kak-podklyuchit-tsifrovoj-kompas-hmc5883l-k-arduino
Узнал адреса при помощи этого кода,
#include <Wire.h> byte error, address; int nDevices; //Кол-во найденных устройств void setup() { Wire.begin(); Serial.begin(9600); Serial.println("\nI2C Scanner"); } void loop() { Serial.println("Scanning..."); nDevices = 0; for (address = 1; address < 127; address++ ) { Wire.beginTransmission(address); error = Wire.endTransmission(); 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); // Ждем 5 сек. до следующего сканирования }
GY-273
Scanning...
I2C device found at address 0x0D !
done
MPU-9250
Scanning...
I2C device found at address 0x68 !
done
В первом случае выдает GY-273
X=0
Y=0
Z=0
Во втором MPU-9250
X = -10840
Y = 25901
Z = 11274
Что делать дальше? Прошу помощи, кто настраивал данны компас...
В этом коде адреса менял, соответствующие... вот в этои строке #define addr 0x68 // I2C 7-битный адрес датчика HMC5883
Что делать дальше?
Вы забыли написать что Вы хотите сделать. А без этого как ответить "что делать"?
— Куда мне отсюда идти?
— А куда ты хочешь попасть?
— А мне все равно, только бы попасть куда-нибудь.
— Тогда все равно куда идти. Куда-нибудь ты обязательно попадешь.
Хочется увидеть значения потрем осям...
Говорят с регистрамия не правильно дружу... Не могу разобраться...
Смотрю в https://cdn-shop.adafruit.com/datasheets/HMC5883L_3-Axis_Digital_Compass_IC.pdf (страница 18) и вижу алгоритмическую нестыковку с вашим скретчем в области способа установки регистров, определяющих режим, а так же отсутствие ожидания окончания конверсии.
Вот код считывания с регитров (я так понимаю)
Какие адреса мне надо прописать? Подскажите пожалуста
Вы внимательно прочитали мой комментарий, в даташит посмотрели? Увидели, как там записываются кофигурационные байты?
А что такое конигурационные баиты?
Вы не обижайтесь, но с таким уровнем подготовки вам рано напрямую работать с чипом. Поищите соответствующие библиотеки.
Все верно какие там обиды. И критика в мо адрес совершенно оправдана, я сам понимаю, что не смыслю.. Вообще я смышленныи (но могу впитывать через практику больше, чем в теории (как говорится методом проб и ошибок).
Я и не претендовал на процесс прямого общения с чипом, просто кикие билиотеки не подключал, они не работают...НЕт измерении по осям. Тут подумал, может быть в библиотеках (соответственно примерах с ними) не правильно прописан адрес устроства, тут мне на аналогичном оруме дали код, которы определяет адрес, этот код определил адрес не тако как в даташите....
Подскажите, где взять работающую библиотеку под мо чип. Вторую ночь не сплю уже... Уже дело принципа, что б данны чип начал мерить..
Принцип работы и измерений
Пример с MPU6050
Надеюсь, поможет.
Вообще, на этом сайте толковые примеры.
А вот и нет ни чего там по HMC5883L, только калибровка , а как подключать и библиотеки нет...
Ну, значит, Вам не поможет. Я старался.
artclonic, а это, часом, не модуль, где помимо компаса присутствуют акселерометр и барометр?
В Китае была партия таких модулей с неисправным компасом.
Покупал у двух разных продавцов с интервалом несколько месяцев. Первый сразу не проверил, а когда дошли руки - оказалось, не работает. Заказал второй такой же (как говорил, у другого продавца) - результат аналогичный. Продавец вернул деньги (правда, предварительно потребовав в подтверждение видео). Но больше вопросов не задавал - вероятно, его испугал мой английский.
http://forum.arduino.cc/index.php?topic=523683.0
https://www.google.ru/search?q=hmc5883l+github
Здесь обсуждение: http://arduino.ru/forum/apparatnye-voprosy/gy-271-ne-mogu-zapustit