прочитать шину smbus

gudvin
Offline
Зарегистрирован: 14.08.2015

Добрый день форумчане, нашел на ютубе ролик, как подключить к arduino датчик температуры LM75A протокол I2C (https://www.youtube.com/watch?v=GJX0BRUagCg&list=PLA567CE235D39FA84&index=7), подключил, все работает выводит данные в терминал, теперь хочу подключить arduino к ноутбучному аккумулятору и выводить данные температуры с него , но там протокол smbus, вроде тоже , но не совсем, подскажите как это сделать живого примера с работой протокола smbus не нашел.

скетч по выводу температуры с LM75A по I2C выглядит так:

//Program by Jeremy Blum
//www.jeremyblum.com
//Reads Temp in Celcius and Shows it on Computer

//Include Wire I2C Library
#include  <Wire.h>
int temp_address = 72;

void setup()
{
  //Create Serial Object (9600 Baud)
  Serial.begin(9600);
 
  //Create a Wire Object
  Wire.begin();
}

void loop()
{
  //Send Request
  Wire.beginTransmission(temp_address); //Start talking
  Wire.write(0); //Ask for Register zero
  Wire.endTransmission(); //Complete Transmission
  Wire.requestFrom(temp_address, 3); //Request 1 Byte
  while(Wire.available() == 0); //wait for response
  int c = Wire.read(); // Get the temp
 
  //do some math...
  int f = round(c*9.0/5.0 +32.0);
 
  Serial.print(c);
  Serial.print("C,");
  Serial.print(f);
  Serial.println("F.");
 
  delay(500);
 
 
}

Согласно описания ноутбучного микроконтроллера bq2084, чтобы считать температуру на него нужно подать в формате smbus команду 0x08, толкните в нужном направлении как это сделать.

gudvin
Offline
Зарегистрирован: 14.08.2015

Спасибо всем, кто не ответил, это дало возможность пошевелить мозгами и разобраться самому.

baton-99
Offline
Зарегистрирован: 28.09.2016

Тоже думаю на тему ардуино и smbus. Если не сложно подтолкните.

baton-99
Offline
Зарегистрирован: 28.09.2016

Подключился напрямую к i2c между микрухами. 29312 отзывается. 2084 нет.