Add PCA9554 docs (#2532)
This commit is contained in:
parent
1c22376d7b
commit
f17fe13da6
|
@ -0,0 +1,83 @@
|
|||
PCA9554 I/O Expander
|
||||
====================
|
||||
|
||||
The PCA9554 component allows you to use PCA9554, PCA9554A or PCA9536 I/O expanders
|
||||
(`PCA9554 datasheet <https://www.ti.com/lit/ds/symlink/pca9554.pdf>`__,
|
||||
`PCA9554A datasheet <https://www.ti.com/lit/ds/symlink/pca9554a.pdf>`__,
|
||||
`PCA9536 datasheet <https://www.ti.com/lit/ds/symlink/pca9536.pdf>`__) in ESPHome.
|
||||
It uses :ref:`I²C Bus <i2c>` for communication.
|
||||
|
||||
Once configured, you can use any of the 8 pins (PCA9554, PCA9554A) or 4 pins (PCA9536) as
|
||||
pins for your projects. Within ESPHome they emulate a real internal GPIO pin
|
||||
and can therefore be used with many of ESPHome's components such as the GPIO
|
||||
binary sensor or GPIO switch.
|
||||
|
||||
The 7 bit I2C device address ranges are:
|
||||
|
||||
PCA9554 : 0x20 to 0x27
|
||||
|
||||
PCA9554A : 0x38 to 0x3F
|
||||
|
||||
PCA9536 : 0x41
|
||||
|
||||
For the PCA9554 and PCA9554A, the actual choice of the I2C device address depends on state of the 3 address pins.
|
||||
Please refer to the individual datasheets for further details.
|
||||
|
||||
Up to eight PCA9554 and an additional eight PCA9554A devices can reside on the same I2C bus.
|
||||
Please note that only one PCA9536 device is allowed per I2C bus due to its fixed address.
|
||||
|
||||
The PCA9554 and PCA9554A provide 8 bits of GPIO's (pin numbers 0-7)
|
||||
The PCA9536 provides 4 bits of GPIO's (pin numbers 0-3).
|
||||
|
||||
Any option accepting a :ref:`Pin Schema <config-pin_schema>` can theoretically be used, but some more
|
||||
complicated components that do communication through this I/O expander will
|
||||
not work.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
pca9554:
|
||||
- id: 'pca9554a_device'
|
||||
address: 0x38
|
||||
|
||||
|
||||
# Individual outputs
|
||||
switch:
|
||||
- platform: gpio
|
||||
name: "PCF9554A Pin #0"
|
||||
pin:
|
||||
pca9554: pcf9554a_device
|
||||
# Use pin number 0
|
||||
number: 0
|
||||
# One of INPUT or OUTPUT
|
||||
mode:
|
||||
output: true
|
||||
inverted: false
|
||||
|
||||
Configuration variables:
|
||||
************************
|
||||
|
||||
- **id** (**Required**, :ref:`config-id`): The id to use for this PCF9554 component.
|
||||
- **address** (*Optional*, int): The I²C address of the driver.
|
||||
Defaults to ``0x20``.
|
||||
|
||||
|
||||
|
||||
Pin configuration variables:
|
||||
****************************
|
||||
|
||||
- **pca9554** (**Required**, :ref:`config-id`): The id of the PCA9554 component of the pin.
|
||||
- **number** (**Required**, int): The pin number.
|
||||
- **inverted** (*Optional*, boolean): If all read and written values
|
||||
should be treated as inverted. Defaults to ``false``.
|
||||
- **mode** (*Optional*, string): A pin mode to set for the pin at. One of ``INPUT`` or ``OUTPUT``.
|
||||
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :ref:`i2c`
|
||||
- :doc:`switch/gpio`
|
||||
- :doc:`binary_sensor/gpio`
|
||||
- :apiref:`pca9554/pca9554.h`
|
||||
- :ghedit:`Edit`
|
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
|
@ -675,6 +675,7 @@ Misc Components
|
|||
Servo, components/servo, servo.svg
|
||||
Sprinkler, components/sprinkler, sprinkler-variant.svg
|
||||
|
||||
PCA9554 I/O Expander, components/pca9554, pca9554a.jpg
|
||||
PCF8574 I/O Expander, components/pcf8574, pcf8574.jpg
|
||||
MCP230XX I/O Expander - I²C Bus, components/mcp230xx, mcp230xx.svg
|
||||
TCA9548A I²C Multiplexer, components/tca9548a, tca9548a.jpg
|
||||
|
|
Loading…
Reference in New Issue