from machine import Pin, I2C
import time
import mcp23017
SCL = 17
SDA = 16
# Registers voor de MCP23017
IODIRA = 0x00
IODIRB = 0x01
GPIOA = 0x12
GPIOB = 0x13
# I2C 設定
i2c = I2C(0, scl=Pin(SCL), sda=Pin(SDA), freq=400000)
# FORCEER een scan om te kijken of de bus leeft
print("Bus scan:", [hex(d) for d in i2c.scan()])
mcp = mcp23017.MCP23017(i2c, 0x21)
# property interface 8-bit
mcp.mode = 0x0000
while True:
# turn LED on
mcp.gpio = 0x0000
time.sleep_ms(500)
# turn LED off
mcp.gpio = 0xFFFF
time.sleep_ms(500)
leds = 1
for i in range(16):
# 將要控制的燈狀態寫入 PCF8575
mcp.gpio = 0x0000
time.sleep_ms(100)
mcp.gpio = leds
time.sleep_ms(100)
# 計算要打開的燈的位置
leds = leds << 1