qwiic_i2c_scanner-8.ino

Placa base Xerxes Pi 2026 para módulos Raspberry Pi CM4/CM5 · Archivo : qwiic_i2c_scanner-8.ino · Lenguaje : python · Uso : 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.

Habilite I2C mediante raspi-config o /boot/firmware/config.txt (dtparam=i2c_arm=on). Instale python3-smbus. Los conectores Qwiic usan cables JST-SH estándar. El script escanea el bus 1; verifique los esquemas si se usa otro bus para extensiones. Asegúrese de que los dispositivos estén alimentados.

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)

← Volver a la ficha