-
Notifications
You must be signed in to change notification settings - Fork 500
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #850 from pimoroni/helgibbons-patch-1
IOExpander: add I2C address change example
- Loading branch information
Showing
1 changed file
with
30 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 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 | ||
# from breakout_ioexpander import BreakoutIOExpander | ||
# 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)) |