Skip to content

I²C Bus – Que es y cómo funciona

Este componente configura el bus I²C para su placa de desarrollo ESP32 o ESP8266. Para que estos componentes funcionen correctamente, debe definir el bus en su configuración. Tenga en cuenta que el ESP habilitará sus resistencias pull-up internas de 10 kΩ para estos pines, por lo que generalmente no necesita colocar los externos. Puede usar varios dispositivos en un bus I²C, ya que a cada dispositivo se le asigna una dirección única para comunicarse entre él y el ESP. Puede hacer esto saltando cables de las dos líneas (SDA y SCL) de cada placa de dispositivo a la siguiente placa de dispositivo o conectando los cables de cada dispositivo a los dos pines I²C en el ESP.

La configuración I²C será necesaria en sensores como el htu21d, el BMP280, el BME280 y el BME680

# Ejemplo de entrada de configuración para ESP32
i2c:
  sda: 21
  scl: 22
  scan: true
  id: bus_a
Índice de contenido

    Variables de configuración I²C Bus

    • sda (Opcional, Pin): El pin para la línea de datos del bus I²C. Los valores predeterminados son los predeterminados de su placa (generalmente son GPIO21 para ESP32 y GPIO4 para ESP8266).
    • scl (Opcional, Pin): El pin para la línea de reloj del bus I²C. Los valores predeterminados son los predeterminados de su placa (generalmente GPIO22 para ESP32 y GPIO5 para ESP8266).
    • escanear (opcional, booleano): si ESPHome debe realizar una búsqueda del espacio de direcciones I²C al inicio. El valor predeterminado es true.
    • frecuencia (opcional, flotante): Establezca la frecuencia en la que debe operar el bus. El valor predeterminado es 50kHz. Los valores son 10kHz, 50kHz, 100kHz, 200kHz, …800kHz
    • id (opcional, ID): especifique manualmente la ID para este bus I²C si necesita varios buses.

    Si el dispositivo puede admitir múltiples buses I²C (ESP32 tiene 2, ESP8266 no admite más de uno). Estos buses deben definirse como se indica a continuación y los sensores deben configurarse especificando el bus correcto:

    # Ejemplo de entrada de configuración
     i2c:
       - id: bus_a
         sda: 13
         scl: 16
         scan: true
       - id: bus_b
         sda: 14
         scl: 15
         scan: true
    # Los sensores deben especificarse de la siguiente manera
    - platform: bme680
      i2c_id: bus_b
      address: 0x76
      # ...
    
    # Si se utiliza un multiplexor I²C, todos los dispositivos I²C se pueden configurar adicionalmente como:
    - platform: bmp280
      multiplexer:
        id: multiplex0
        channel: 0
      # ...

    Sígueme a Youtube

    Sígueme en Youtube - I²C Bus
    Ajustes