Но в этом случае результата нет. На мониторе стабильно -272 К. В даташите есть информация, что он не поддерживает некоторых способов доступа по шине. Подозреваю, что это как раз тот случай. В интернете рекомендуется библиотека Adafruit для ратоты с этим датчиком. При ее использовании, что то вроде снимается, но она несколько урезана. Нужен второй датчик на шине, адрес которого надо изменить, чего Adafruit явно не предусматривает. Как правильно нужно прочесть регистры этого датчика?#include <Wire.h>
float Tem;
void setup() {
Serial.begin(9600);
Wire.begin(); // Инициализировать ардуино как мастер
}
void loop() {
Wire.beginTransmission(0x5A); // Начать связь с MLX
Wire.write(00000111); // ставим в очередь 007 регистр (T0)
Wire.endTransmission(); //закончить передачу
Wire.requestFrom(0x5A, 2);//запрашиваем Т0 так как этот регистр MLX поставлен в очередь на передачу
Tem=(Wire.read()<< 8 | Wire.read());//получаем значение в переменную
Tem=(Tem/50)-272;//и вычисляем ее значение в градусах цельсия
delay(300);
Serial.println(Tem);
}
Датчик в версии GY-906


