Добрый вечер!
Есть ли у кого-то опыт работы с датчиком HMC5883L ? Поискал по форуму и ничего не обнаружил на эту тему.
Для своих проектов я использую NODE MCU esp12e, загружаю код через Arduino IDE, для датчика HMC5883L использую библиотеку по ссылке http://www.meccanismocomplesso.org/wp-content/uploads/2014/12/HMC5883L.zip. Эта библиотека расчитана для работы датчика на платформе Arduino. На Arduino UNO тестировал, работает без каких либо видимых проблем, а вот на ESP код работает не совсем коректно:
1) На Arduino выход '235.00 | -129.32 | -321.54' а на ESP '25.00 | 65129.32 | 65321.54'.
Т.е. вместо минуса ESP показывает 65, ну а с первым значением какая-то проблема.
Код:
[HASHTAG]#include[/HASHTAG] <HMC5883L.h>
[HASHTAG]#include[/HASHTAG] <Wire.h>
HMC5883L magnetometer;
MagnetometerScaled scaledVals;
void setup() {
Serial.begin(115200);
delay(20);
Wire.begin(0, 2);
Wire.setClock(400000);
Serial.println("Initializing HMC5883L");
magnetometer = HMC5883L();
magnetometer.SetScale(1.3);
magnetometer.SetMeasurementMode(Measurement_Continuous);
}
void loop() {
scaledVals = magnetometer.ReadScaledAxis();
printScaled(scaledVals);
delay(200);
}
void printScaled(MagnetometerScaled scaled)
{
Serial.print(scaled.XAxis);
Serial.print(" | ");
Serial.print(scaled.YAxis);
Serial.print(" | ");
Serial.print(scaled.ZAxis);
Serial.print("\n");
Serial.flush();
}
Я новичек в этом всем деле, поэтому много чего не понимаю и не знаю, заранее прошу прощение, если что-то написал не коректно...
Есть ли у кого-то опыт работы с датчиком HMC5883L ? Поискал по форуму и ничего не обнаружил на эту тему.
Для своих проектов я использую NODE MCU esp12e, загружаю код через Arduino IDE, для датчика HMC5883L использую библиотеку по ссылке http://www.meccanismocomplesso.org/wp-content/uploads/2014/12/HMC5883L.zip. Эта библиотека расчитана для работы датчика на платформе Arduino. На Arduino UNO тестировал, работает без каких либо видимых проблем, а вот на ESP код работает не совсем коректно:
1) На Arduino выход '235.00 | -129.32 | -321.54' а на ESP '25.00 | 65129.32 | 65321.54'.
Т.е. вместо минуса ESP показывает 65, ну а с первым значением какая-то проблема.
Код:
[HASHTAG]#include[/HASHTAG] <HMC5883L.h>
[HASHTAG]#include[/HASHTAG] <Wire.h>
HMC5883L magnetometer;
MagnetometerScaled scaledVals;
void setup() {
Serial.begin(115200);
delay(20);
Wire.begin(0, 2);
Wire.setClock(400000);
Serial.println("Initializing HMC5883L");
magnetometer = HMC5883L();
magnetometer.SetScale(1.3);
magnetometer.SetMeasurementMode(Measurement_Continuous);
}
void loop() {
scaledVals = magnetometer.ReadScaledAxis();
printScaled(scaledVals);
delay(200);
}
void printScaled(MagnetometerScaled scaled)
{
Serial.print(scaled.XAxis);
Serial.print(" | ");
Serial.print(scaled.YAxis);
Serial.print(" | ");
Serial.print(scaled.ZAxis);
Serial.print("\n");
Serial.flush();
}
Я новичек в этом всем деле, поэтому много чего не понимаю и не знаю, заранее прошу прощение, если что-то написал не коректно...
Последнее редактирование: