In acest articol vom vedea cum se poate detecta adresa unei magistrale I2C cu ajutorul lui Raspberry Pi Pico.
Conexiunile se fac in felul urmator:
pinul SCL va fi conectat la pinul GPIO 5 (terminalul 7)
pinul SDA va fi conectat la pinul GPIO 4 (terminalul6).
Codul folosit pentru a detecta dispozitivele conectate pe magistrala I2C este cel de mai jos:
from machine import Pin, SoftI2C
i2c = SoftI2C(scl=Pin(5), sda=Pin(4))
print("Scaner magistrala I2C")
devices = i2c.scan()
if len(devices) == 0:
print("Nu sunt dispozitive i2c atasate.")
else:
print(len(devices), "dispozitive i2c detectate.")
for device in devices:
print("Adresa dispozitivului i2c:", hex(device))
La rularea programului daca nu sunt dispozitive I2C conectate vom primi urmatorul mesaj:

Daca vom atasa un dispozitiv i2c vom primi urmatorul rezultat:

Daca avem atasate 2 sau mai multe dispozitive atunci rezultatul va fi cel de mai jos:
