diff --git a/components/light/cwww.rst b/components/light/cwww.rst index 25e6d1da2..d0bfebc4b 100644 --- a/components/light/cwww.rst +++ b/components/light/cwww.rst @@ -45,5 +45,6 @@ See Also - :doc:`/components/output/ledc` - :doc:`/components/output/esp8266_pwm` - :doc:`/components/output/pca9685` +- :doc:`/components/output/tlc59208f` - :apiref:`cwww/cww_light_output.h` - :ghedit:`Edit` diff --git a/components/light/monochromatic.rst b/components/light/monochromatic.rst index d4c82ba43..65b850246 100644 --- a/components/light/monochromatic.rst +++ b/components/light/monochromatic.rst @@ -55,6 +55,7 @@ See Also - :doc:`/components/output/ledc` - :doc:`/components/output/esp8266_pwm` - :doc:`/components/output/pca9685` +- :doc:`/components/output/tlc59208f` - :doc:`/components/output/my9231` - :apiref:`monochromatic/monochromatic_light_output.h` - :ghedit:`Edit` diff --git a/components/light/rgb.rst b/components/light/rgb.rst index 070c90f2c..d1d8b9733 100644 --- a/components/light/rgb.rst +++ b/components/light/rgb.rst @@ -60,6 +60,7 @@ See Also - :doc:`/components/output/ledc` - :doc:`/components/output/esp8266_pwm` - :doc:`/components/output/pca9685` +- :doc:`/components/output/tlc59208f` - :doc:`/components/output/my9231` - :doc:`/components/output/sm16716` - :apiref:`rgb/rgb_light_output.h` diff --git a/components/light/rgbw.rst b/components/light/rgbw.rst index c7da26fa1..c37a835cd 100644 --- a/components/light/rgbw.rst +++ b/components/light/rgbw.rst @@ -40,6 +40,7 @@ See Also - :doc:`/components/output/ledc` - :doc:`/components/output/esp8266_pwm` - :doc:`/components/output/pca9685` +- :doc:`/components/output/tlc59208f` - :doc:`/components/output/my9231` - :doc:`/components/output/sm16716` - :apiref:`rgbw/rgb_light_output.h` diff --git a/components/light/rgbww.rst b/components/light/rgbww.rst index c75554992..a58e0eef7 100644 --- a/components/light/rgbww.rst +++ b/components/light/rgbww.rst @@ -51,6 +51,7 @@ See Also - :doc:`/components/output/ledc` - :doc:`/components/output/esp8266_pwm` - :doc:`/components/output/pca9685` +- :doc:`/components/output/tlc59208f` - :doc:`/components/output/my9231` - :doc:`/components/output/sm16716` - :apiref:`rgbww/rgbww_light_output.h` diff --git a/components/output/images/tlc59208f-full.jpg b/components/output/images/tlc59208f-full.jpg new file mode 100644 index 000000000..958aaaeb4 Binary files /dev/null and b/components/output/images/tlc59208f-full.jpg differ diff --git a/components/output/tlc59208f.rst b/components/output/tlc59208f.rst new file mode 100644 index 000000000..dfa28c77d --- /dev/null +++ b/components/output/tlc59208f.rst @@ -0,0 +1,120 @@ +TLC59208F +========= + +.. seo:: + :description: Instructions for setting up TLC59208F LED PWM drivers. + :image: tlc59208f.jpg + :keywords: TLC59208F + +.. _tlc59208f-component: + +Component +--------- + +The TLC59208F component represents a Texas Instruments TLC59208F 8-bit PWM driver +(`datasheet `__, +`hw example `__) in ESPHome. It +uses :ref:`I²C Bus ` for communication. + +To use the channels of this components, you first need to setup the +global ``tlc59208f`` chip and specify its address and id, and then define the +:ref:`individual output channels `. + +.. code-block:: yaml + + # Minimalistic configuration entry, single chip, single output + tlc59208f: + address: 0x10 + id: tlc59208f_1 + + # Individual outputs + output: + - platform: tlc59208f + tlc59208f_id: 'tlc59208f_1' + channel: 0 + +Configuration variables: +************************ + +- **address** (*Optional*, int): The I²C address of the driver. + Defaults to ``0x20``. +- **id** (*Optional*, :ref:`config-id`): The id to use for + this tlc59208f component. Use this if you have multiple TLC59208Fs connected at the same time + +.. _tlc59208f-output: + +PWM Output +---------- + +The TLC59208F output component exposes a TLC59208F PWM channel of a global +:ref:`TLC59208F chip ` as a float +output. + +.. figure:: images/tlc59208f-full.jpg + :align: center + :width: 75.0% + + Sample application of a TLC59208F 8-Channel PWM Driver. + +.. code-block:: yaml + + # Complete example configuration entry for 3 drivers and 4 outputs + # Maximum 64 drivers with 8 outputs each + tlc59208f: + - address: 0x20 + id: tlc59208f_1 + - address: 0x22 + id: tlc59208f_2 + - address: 0x24 + id: tlc59208f_3 + + # Individual outputs + output: + - platform: tlc59208f + id: 'tlc59208f_1_ch0' + channel: 0 + tlc59208f_id: 'tlc59208f_1' + - platform: tlc59208f + id: 'tlc59208f_1_ch4' + channel: 4 + tlc59208f_id: 'tlc59208f_1' + - platform: tlc59208f + id: 'tlc59208f_2_ch2' + channel: 2 + tlc59208f_id: 'tlc59208f_2' + - platform: tlc59208f + id: 'tlc59208f_3_ch7' + channel: 7 + tlc59208f_id: 'tlc59208f_3' + + # Sample use as a RGB light + light: + - platform: rgb + name: "Sample RGB light" + red: tlc59208f_1_ch0 + green: tlc59208f_1_ch4 + blue: tlc59208f_2_ch7 + +Configuration variables: +************************ + +- **id** (**Required**, :ref:`config-id`): The id to use for this output component. +- **channel** (**Required**, int): Choose the channel of the TLC59208F for + this output component. Must be in range from 0 to 7. +- **tlc59208f_id** (*Optional*, :ref:`config-id`): Manually specify the ID of the + :ref:`TLC59208F chip `. + Use this if you have multiple TLC59208Fs you want to use at the same time. +- All other options from :ref:`Output `. + +See Also +-------- + +- :doc:`/components/output/index` +- :doc:`/components/output/esp8266_pwm` +- :doc:`/components/output/ledc` +- :doc:`/components/light/monochromatic` +- :doc:`/components/light/rgb` +- :doc:`/components/fan/speed` +- :doc:`/components/power_supply` +- :apiref:`tlc59208f/tlc59208f_output.h` +- :ghedit:`Edit` diff --git a/images/tlc59208f.jpg b/images/tlc59208f.jpg new file mode 100644 index 000000000..4e74189cc Binary files /dev/null and b/images/tlc59208f.jpg differ diff --git a/index.rst b/index.rst index f334cc12f..9bfdbe201 100644 --- a/index.rst +++ b/index.rst @@ -180,6 +180,7 @@ Output Components GPIO Output, components/output/gpio, pin.svg ESP32 LEDC, components/output/ledc, pwm.png PCA9685, components/output/pca9685, pca9685.jpg + TLC59208F, components/output/tlc59208f, tlc59208f.jpg MY9231/MY9291, components/output/my9231, my9231.svg SM16716, components/output/sm16716, sm16716.svg Custom Output, components/output/custom, language-cpp.svg