mirror of
https://github.com/esphome/esphome-docs.git
synced 2024-08-31 00:19:54 +02:00
40 lines
1.4 KiB
ReStructuredText
40 lines
1.4 KiB
ReStructuredText
.. _i2c:
|
|
|
|
I²C Bus
|
|
=======
|
|
|
|
This component sets up the i²c bus for your ESP32 or ESP8266. In order for those components
|
|
to work correctly, you need to define the i²c bus in your configuration.
|
|
|
|
.. code:: yaml
|
|
|
|
# Example configuration entry
|
|
i2c:
|
|
sda: 21
|
|
scl: 22
|
|
scan: False
|
|
|
|
Configuration variables:
|
|
------------------------
|
|
|
|
- **sda** (*Optional*, :ref:`config-pin`): The pin for the data line of the i²c bus.
|
|
Defaults to the default of your board (usually GPIO21 for ESP32 and GPIO4 for ESP8266).
|
|
- **scl** (*Optional*, :ref:`config-pin`): The pin for the clock line of the i²c bus.
|
|
Defaults to the default of your board (usually GPIO22 for ESP32 and
|
|
GPIO5 for ESP8266).
|
|
- **scan** (*Optional*, boolean): If esphomelib should do a search of the i2c address space on startup.
|
|
Note that this can slow down startup and is only recommended for when setting up new sensors. Defaults to
|
|
``False``.
|
|
- **frequency** (*Optional*, float): Set the frequency the i²c bus should operate on. Defaults to “100kHz”.
|
|
|
|
.. note::
|
|
|
|
If you're using the ESP32 and i2c frequently is showing errors in the logs, try with the latest
|
|
version of the Arduino framework. See :ref:`esphomeyaml-arduino_version` for information on how to do this.
|
|
|
|
See Also
|
|
--------
|
|
|
|
- :doc:`API Reference </api/core/i2c>`
|
|
- `Edit this page on GitHub <https://github.com/OttoWinter/esphomedocs/blob/current/esphomeyaml/components/i2c.rst>`__
|