qwiic_i2c_scanner-8.ino
Script Python utilisant la bibliothèque smbus pour scanner le bus I2C et lister les adresses des périphériques connectés via les connecteurs Qwiic.
Activez I2C via raspi-config ou /boot/firmware/config.txt (dtparam=i2c_arm=on). Installez python3-smbus. Les connecteurs Qwiic utilisent des câbles standard JST-SH. Le script scanne le bus 1, vérifiez les schémas si un autre bus est utilisé pour les extensions. Assurez-vous que les périphériques sont alimentés.
qwiic_i2c_scanner-8.ino
import smbus
import time
def scan_i2c_bus(bus_number=1):
"""Scanne le bus I2C specified pour trouver des périphériques actifs"""
try:
bus = smbus.SMBus(bus_number)
print(f"Scanning I2C bus {bus_number}...")
found_devices = []
for addr in range(1, 127):
try:
# Tentative de lecture d'un byte pour détecter la présence
bus.read_byte(addr)
found_devices.append(addr)
print(f"Device found at address 0x{addr:02X}")
except OSError:
pass
if not found_devices:
print("No I2C devices found.")
return found_devices
except Exception as e:
print(f"Error accessing I2C bus {bus_number}: {e}")
return []
if __name__ == "__main__":
# Le connecteur Qwiic est généralement sur I2C1 (Bus 1) sur les modèles CM4/CM5
scan_i2c_bus(1)