🛠 Interroger un capteur I2C (BME280) sur le bus du 40 broches

Raspberry Pi Model B+ (2014) — Hoja de placa · intermediaire · Schéma : IMG-model-b-plus-intermediaire-2-modelbp-i2c-capteur.svg — capteur BME280 relié au bus I2C0 : SDA sur broche 3 (GPIO2), SCL sur broche 5 (GPIO3), VCC 3,3 V (broche 1) et GND (broche 6), avec les résistances de pull-up du module.

Objetivos

Activar el bus I2C del Model B+ (I2C0 está disponible de forma predeterminada en el conector de 40 pines), escanear el bus con i2cdetect y luego leer el número de identificación de un sensor BME280 en Python — la prueba de que la cadena hardware/software funciona antes de utilizar las mediciones.

Material

Código completo

# Activer I2C : raspi-config > Interfaces de connexion > I2C, ou :
echo "dtparam=i2c_arm=on" | sudo tee -a /boot/config.txt
sudo reboot
sudo apt install -y i2c-tools python3-smbus
i2cdetect -y 1        # le BME280 doit répondre à 0x76 (ou 0x77)
#!/usr/bin/env python3
"""Lecture de l'ID du BME280 sur i2c-1 — Model B+."""
import smbus

ADDR = 0x76                      # 0x77 si l'adresse SDO est montée
bus = smbus.SMBus(1)
chip_id = bus.read_byte_data(ADDR, 0xD0)
print(f"BME280 chip id: 0x{chip_id:02X}")   # attendu 0x60 (BMP280 : 0x58)

Verificación esperada

i2cdetect -y 1 muestra una cuadrícula donde la casilla 76 está marcada. El script de Python imprime « BME280 chip id: 0x60 ». Con un BMP280, 0x58 confirma un sensor similar; 0x55 o 0xFF indican un problema de alimentación.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales