python:micropython:comserie

Ceci est une ancienne révision du document !


Sommaire MicroPython, CircuitPython

[Mise à jour le : 4/6/2023] En cours de rédaction

2.1 Bus I2C

Outils

Scanner I2C

scan.py
# --------------------------------------------------------------------------------
# Titre : Scanner I2C
# Source : adafruit
# Langage : CircuitPython
# Circuit : Raspberry Pi Pico
#
# Remarques
# Si le bus I2C semble bloqué, utiliser le code si dessous dans la console
#  >>> import busio
#  >>> busio.I2C().unlock()
# --------------------------------------------------------------------------------
import time
import board
import busio
 
i2c_0 = busio.I2C(board.GP9, board.GP8)   # Accès I2C0 sur le Grove Shield Pi Pico
i2c_1 = busio.I2C(board.GP7, board.GP6)   # Accès I2C1 
 
while not i2c_0.try_lock():
    pass
 
while not i2c_1.try_lock():
    pass
 
try:
    while True:
        print(
            "Adresses:",
            [hex(device_address_0) for device_address_0 in i2c_0.scan()]," sur I2C0",
            [hex(device_address_1) for device_address_1 in i2c_1.scan()]," sur I2C1",
        )
        time.sleep(2)
 
finally:  # unlock the i2c bus when ctrl-c'ing out of the loop
    i2c_0.unlock()
    i2c_1.unlock()
  • python/micropython/comserie.1685886853.txt.gz
  • Dernière modification : 2023/06/04 15:54
  • de phil