🛠 Dominar E/S Avanzadas: GPIO, I2C y Pantallas en Xerxes Nano

Placa base Xerxes Nano para módulos Jetson Orin Nano Super y Turing RK1 · avance · Apprenez à configurer les interfaces SPI, I2C et GPIO sur la carte Xerxes Nano pour interagir avec des capteurs externes et des affichages.

Objectifs

Este tutorial tiene como objetivo configurar interfaces de bajo nivel (GPIO, I2C, SPI) en la placa portadora Xerxes Nano. Conectaremos un sensor de temperatura I2C y una pequeña pantalla OLED para validar la cadena de datos. Estas habilidades son esenciales para proyectos de IoT industrial o robótica embebida que utilizan módulos NVIDIA Jetson Orin Nano Super o Turing RK1.

Matériel nécessaire

Étapes

Conéctese a su placa mediante SSH. Actualice los paquetes del sistema para garantizar la compatibilidad de las bibliotecas. ``bash sudo apt update && sudo apt upgrade -y ``

  1. Acceso al sistema y preparación

La Xerxes Nano expone pines compatibles con Jetson. Use la herramienta de configuración NVIDIA para habilitar los buses. Tenga en cuenta que los pines específicos dependen del módulo (Orin vs RK1); consulte el esquema KiCad de código abierto para las correspondencias exactas. ``bash sudo /opt/nvidia/jetson-io/jetson-io.py `` Seleccione "Configure 40-pin expansion header" y habilite I2C2 y SPI1 si están disponibles en su configuración de hardware.

  1. Habilitación de interfaces I2C y SPI

Instale las bibliotecas necesarias para la interacción GPIO e I2C mediante pip. ``bash sudo apt install python3-pip python3-dev pip3 install smbus2 adafruit-circuitpython-ssd1306 adafruit-circuitpython-bme680 ``

  1. Instalación de bibliotecas Python

Verifique que el sensor y la pantalla sean reconocidos en el bus I2C. Las direcciones comunes son 0x3C para OLED y 0x77 para BME680. ``bash sudo i2cdetect -y -r 1 `` Debería ver las direcciones hexadecimales correspondientes mostradas en la cuadrícula.

  1. Detección de dispositivos I2C

Cree un script Python sensor_display.py para leer la temperatura y mostrarla. ```python import board import busio import adafruit_ssd1306 import adafruit_bme680 import time

  1. Script de lectura y visualización

# Inicialización I2C (bus 1 por defecto en Jetson) i2c = busio.I2C(board.SCL, board.SDA)

# Inicialización de Pantalla display = adafruit_ssd1306.SSD1306_I2C(128, 64, i2c) display.fill(0) display.text('Xerxes Nano', 0, 0, 1) display.show()

# Inicialización del Sensor bme = adafruit_bme680.Adafruit_BME680_I2C(i2c)

while True: temp = bme.temperature display.fill(0) display.text(f'Temp: {temp:.2f} C', 0, 0, 1) display.show() time.sleep(2) ```

Inicie el script con los permisos necesarios para acceder a los dispositivos. ``bash sudo python3 sensor_display.py ``

  1. Ejecución del script

Vérification

La pantalla OLED debe mostrar la temperatura ambiente actualizada cada 2 segundos. Si no se muestra nada, verifique las conexiones físicas (SCL/SDA) y los permisos de acceso a los archivos /dev/i2c-1. Use dmesg | tail para verificar errores del kernel.

Pour aller plus loin

Explore el uso del conector OCuLink para descargar el cálculo de IA a una GPU externa, o configure el enfriamiento activo mediante el conector PWM basado en la carga térmica detectada por el sensor.

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales