]> Repositories - Adafruit_Blinka-hackapet.git/blobdiff - examples/pi_i2c.py
completed busio i2c demo
[Adafruit_Blinka-hackapet.git] / examples / pi_i2c.py
index cdafa953e90f417064cb189f45fa39fcbc64fef2..6e8e0acf683aef0c535ccff03ea054f039930252 100644 (file)
@@ -2,6 +2,7 @@ import sys
 import time
 sys.path.append('/home/pi/Adafruit_Micropython_Blinka/src')
 sys.path.append('/home/pi/Adafruit_Python_GPIO')
 import time
 sys.path.append('/home/pi/Adafruit_Micropython_Blinka/src')
 sys.path.append('/home/pi/Adafruit_Python_GPIO')
+sys.path.append('/home/pi/Adafruit_Python_PureIO')
 
 import board
 import digitalio
 
 import board
 import digitalio
@@ -9,12 +10,24 @@ import busio
 
 print("hello blinka!")
 
 
 print("hello blinka!")
 
-
 i2c = busio.I2C(board.SCL, board.SDA)
 
 i2c = busio.I2C(board.SCL, board.SDA)
 
-print([hex(i) for i in i2c.scan()])
+print("I2C devices found: ", [hex(i) for i in i2c.scan()])
+
+if not 0x18 in i2c.scan():
+    print("Didn't find MCP9808")
+    exit()
 
 
-led = digitalio.DigitalInOut(board.D4)
-led.direction = digitalio.Direction.OUTPUT
-led.value = True
+def temp_c(data):
+    value = data[0] << 8 | data[1]
+    temp = (value & 0xFFF) / 16.0
+    if value & 0x1000:
+        temp -= 256.0
+    return temp
 
 
+while True:
+    i2c.writeto(0x18, bytes([0x05]), stop=False)
+    result = bytearray(2)
+    i2c.readfrom_into(0x18, result)
+    print(temp_c(result))
+    time.sleep(0.5)