Hi,
I’m writing a python script to communicate via i2c with the ph oem sensor from Atlas Scientific.
https://www.atlas-scientific.com/product_pages/oem/oem_ph.html
https://www.atlas-scientific.com/_files/_datasheets/_oem/pH_oem_datasheet.pdf
I already tried with the i2c module of mraa and smbus without luck.
Now I am trying to translate this arduino example from Atlas to python but I read garbage
Any suggestions?, attached the full example arduino code
Atlas arduino code
`
byte i2c_device_address=0x65;
byte starting_register=0x00
byte device_type;
byte version_number;
Wire.beginTransmission(i2c_device_address);
Wire.write(staring_register);
Wire.endTransmission();
Wire.requestFrom(i2c_device_address,(byte)2);
device_type = Wire.read();
version_number = Wire.read();
Wire.endTransmission();
`
My python script
`
import smbus
General i2c device class so that other devices can be added easily
class i2c_device:
def init(self, addr, port):
self.addr = addr
self.bus = smbus.SMBus(port)
def write(self, byte):
self.bus.write_byte(self.addr, byte)
def read(self):
return self.bus.read_byte(self.addr)
def read_nbytes_data(self, data, n): # For sequential reads > 1 byte
return self.bus.read_i2c_block_data(self.addr, data, n)
ph = i2c_device(0x65, 2)
ph.write(0x00)
device_type = ph.read()
version_number = ph.read()
print(device_type)
print(version_number)
`
OEM_pH_Sample_code.ino (33.6 KB)