qwiic_i2c_scanner-8.ino

Carte porteuse Xerxes Pi 2026 pour modules Raspberry Pi CM4/CM5 · Fichier : qwiic_i2c_scanner-8.ino · Langage : python · Usage : Détection des périphériques I2C connectés aux connecteurs Qwiic SH-series

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)

← Retour à la fiche