]> Repositories - Adafruit_Blinka-hackapet.git/blob - examples/pi_busio_i2c.py
keep from chaining ValueErrors
[Adafruit_Blinka-hackapet.git] / examples / pi_busio_i2c.py
1 import time
2 import board
3 import busio
4
5 print("hello blinka!")
6
7 i2c = busio.I2C(board.SCL, board.SDA)
8
9 print("I2C devices found: ", [hex(i) for i in i2c.scan()])
10
11 if not 0x18 in i2c.scan():
12     print("Didn't find MCP9808")
13     exit()
14
15 def temp_c(data):
16     value = data[0] << 8 | data[1]
17     temp = (value & 0xFFF) / 16.0
18     if value & 0x1000:
19         temp -= 256.0
20     return temp
21
22 while True:
23     i2c.writeto(0x18, bytes([0x05]), stop=False)
24     result = bytearray(2)
25     i2c.readfrom_into(0x18, result)
26     print(temp_c(result))
27     time.sleep(0.5)