25 lines
605 B
Python
25 lines
605 B
Python
"""CircuitPython I2C Device Address Scan"""
|
|
import time
|
|
import board
|
|
|
|
# To use default I2C bus (most boards)
|
|
i2c = board.I2C()
|
|
|
|
# To create I2C bus on specific pins
|
|
# import busio
|
|
# i2c = busio.I2C(board.SCL1, board.SDA1) # QT Py RP2040 STEMMA connector
|
|
# i2c = busio.I2C(board.GP1, board.GP0) # Pi Pico RP2040
|
|
|
|
while not i2c.try_lock():
|
|
pass
|
|
|
|
try:
|
|
while True:
|
|
print(
|
|
"I2C addresses found:",
|
|
[hex(device_address) for device_address in i2c.scan()],
|
|
)
|
|
time.sleep(2)
|
|
|
|
finally: # unlock the i2c bus when ctrl-c'ing out of the loop
|
|
i2c.unlock()
|