jetson-i2c-temperature-sensor-8.ino
Consulta un dispositivo térmico a través del bus I2C expuesto en los conectores de la Xerxes Nano.
Utiliza la biblioteca 'smbus' para comunicarse con un sensor I2C. Asegúrate de haber habilitado I2C1 mediante 'sudo nvpmodel' o el menú de configuración de Jetson si es necesario. El esquema de la placa Xerxes expone las líneas SDA/SCL en los headers GPIO. Verifica la dirección con i2cdetect -y 1 antes de ejecutar.
jetson-i2c-temperature-sensor-8.ino
import smbus
import time
# Configuration I2C pour Jetson Orin Nano
# Bus I2C 1 est souvent par défaut sur les carrier boards standard
BUS_DEV = "/dev/i2c-1"
I2C_ADDR = 0x48 # Adresse typique LM75/DS1621
def read_temperature():
try:
bus = smbus.SMBus(1)
# LM75: Registre de température est 0x00
# Lecture 2 octets: MSB (signe/entier) et LSB (fraction)
data = bus.read_i2c_block_data(I2C_ADDR, 0x00, 2)
# Calcul de la température
# Le bit de signe est dans le MSB. Pour les valeurs simples >0:
temp = (data[0] << 5) + (data[1] >> 3)
temp = temp / 256.0 * 8 # Ajustement selon le datasheet spécifique
# Alternative simplifiée pour LM75 standard:
# temp = (data[0] << 5) + (data[1] >> 3)
# if data[0] & 0x80: temp -= 5120
# temp /= 160.0
return temp
except Exception as e:
print(f"Erreur lecture I2C: {e}")
return None
if __name__ == "__main__":
print("Lecture Capteur I2C sur Xerxes Nano...")
while True:
t = read_temperature()
if t is not None:
print(f"Température: {t:.2f} °C")
time.sleep(2)