""" MicroPython I2C scanner
    Retorna l'adreça (en decimal i hexa) de tots els dispositius connectats al bus i2c
    https://gist.github.com/projetsdiy/f4330be62589ab9b3da1a4eacc6b6b1c """

import machine
i2c = machine.I2C(0, scl=machine.Pin(22), sda=machine.Pin(21))  # pins I2C de l'ESP32

print ('Scan i2c bus...')
devices = i2c.scan()

if len(devices) == 0:    # lens() retorna el nombre d'elements d'un objecte
  print("No i2c device !")
else:
  print('i2c devices found:',len(devices))

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

print()
esp:VIN
esp:GND.2
esp:D13
esp:D12
esp:D14
esp:D27
esp:D26
esp:D25
esp:D33
esp:D32
esp:D35
esp:D34
esp:VN
esp:VP
esp:EN
esp:3V3
esp:GND.1
esp:D15
esp:D2
esp:D4
esp:RX2
esp:TX2
esp:D5
esp:D18
esp:D19
esp:D21
esp:RX0
esp:TX0
esp:D22
esp:D23
oled1:GND
oled1:VCC
oled1:SCL
oled1:SDA
GND5VSDASCLSQWRTCDS1307+
rtc1:GND
rtc1:5V
rtc1:SDA
rtc1:SCL
rtc1:SQW