lattepanda-sigma2-rp2350-micropython-i2c-8.ino

LattePanda Sigma 2: Servidor de placa única Intel Core Ultra X7 358H · Archivo : lattepanda-sigma2-rp2350-micropython-i2c-8.ino · Lenguaje : MicroPython · Uso : Lire un capteur de température I2C connecté aux GPIO gérés par le coprocesseur RP2350.

Configura el bus I2C del microcontrolador RP2350 para consultar un sensor ambiental externo.

Hardware: LattePanda Sigma 2 (coprocesador RP2350), sensor I2C (ej. BME280) conectado a los GPIO. Software: MicroPython flasheado en el RP2350. El script inicializa I2C0 en los pines SDA/SCL del header. Verifique las direcciones I2C de sus componentes. El código se ejecuta en el MCU, no en la CPU x86.

lattepanda-sigma2-rp2350-micropython-i2c-8.ino

from machine import Pin, I2C
import time

# Configuration I2C sur le RP2350 (GPIO dédiés sur l'en-tête 30+4)
# SDA = Pin 6, SCL = Pin 5 (Vérifier le schéma exact pour le header 30-pin)
i2c = I2C(0, scl=Pin(5), sda=Pin(6), freq=400000)

# Adresse I2C standard pour les capteurs TMP36/DS18B20 (I2C variant) ou BME280
SENSOR_ADDR = 0x76 # Exemple pour BME280

def read_temp():
    try:
        # Envoyer la commande de lecture brute
        # Note : Les registres dépendent du capteur spécifique (BME280 utilisé ici en exemple)
        raw_temp = i2c.read_mem(0xF8, SENSOR_ADDR, 0x07, 3) # Lecture 3 octets
        temp_raw = (raw_temp[0] << 12) | (raw_temp[1] << 4) | (raw_temp[2] >> 4)
        temp_c = temp_raw / 16.0
        return temp_c
    except Exception as e:
        return None

print("Initialisation du capteur I2C sur LattePanda Sigma 2...")

while True:
    temp = read_temp()
    if temp is not None:
        print(f"Température: {temp:.2f} C")
    else:
        print("Erreur de lecture capteur")
    time.sleep(1)

← Volver a la ficha