Skip to content

Commit

Permalink
IOExpander: add I2C address change example
Browse files Browse the repository at this point in the history
  • Loading branch information
helgibbons committed Sep 21, 2023
1 parent 8eac60a commit 17363cb
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions micropython/examples/breakout_ioexpander/set_address.py
@@ -0,0 +1,30 @@
"""
This example shows you how to change the I2C address of an IO Expander breakout (or any of our other Nuvoton based breakouts).
"""

from breakout_ioexpander import BreakoutIOExpander
from pimoroni_i2c import PimoroniI2C
from pimoroni import BREAKOUT_GARDEN_I2C_PINS # or PICO_EXPLORER_I2C_PINS or HEADER_I2C_PINS

# enter the current and desired I2C addresses here
EXISTING_ADDRESS = 0x18
NEW_ADDRESS = 0x20

i2c = PimoroniI2C(**BREAKOUT_GARDEN_I2C_PINS)

# Uncomment these lines to change the address
# ioe = BreakoutIOExpander(i2c, address=EXISTING_ADDRESS)
# ioe.set_address(NEW_ADDRESS)

# List all the connected I2C devices so we can see the change
print('Scanning i2c bus')
devices = i2c.scan()

if len(devices) == 0:
print("No i2c device !")

else:
print('i2c devices found:',len(devices))

for device in devices:
print("Decimal address: ",device," | Hexa address: ",hex(device))

0 comments on commit 17363cb

Please sign in to comment.