🛠 Premier capteur sur le bus I2C

Raspberry Pi 4 Model B (2019) — Fiche carte · intermediaire · Schéma : IMG-model-4b-intermediaire-2-model4b-i2c-capteur.svg — Bus I2C du Pi 4B : SDA (broche 3), SCL (broche 5), 3.3 V et GND vers un capteur BME680, résistances de pull-up

Objectifs

Activer le bus I2C, scanner le bus avec i2cdetect, puis lire un capteur d'environnement depuis Python avec smbus2. Le BCM2711 expose jusqu'à 6 contrôleurs I2C ; i2c-1 (broches 3 et 5) est le bus utilisateur standard.

Materiel

Code complet

# Activer I2C : sudo raspi-config -> Interface Options -> I2C (ou dtoverlay=i2c-rtc en plus)
sudo i2cdetect -y 1        # balayage du bus i2c-1
#!/usr/bin/env python3
# lecture_i2c.py - lire l'identifiant de puce du BME680
import smbus2

ADDR = 0x76               # 0x76 ou 0x77 selon la broche SDO du module
# 
bus = smbus2.SMBus(1)
chip_id = bus.read_byte_data(ADDR, 0xD0)
print(f"Chip ID 0x{chip_id:02X} (BME680 attendu : 0x61)")

Verification attendue

i2cdetect -y 1 affiche une table ; une case (souvent 76 ou 77) apparait : c'est le capteur. Le script affiche Chip ID 0x61 pour un BME680 authentique. Aucune case : bus inactive, cablage SDA/SCL inverse ou module non alimente.

Erreurs frequentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels