mirror of
https://github.com/esphome/esphome-docs.git
synced 2024-11-18 11:15:36 +01:00
f765421aba
Mention that the component also supports the `P9813` LED driver.
69 lines
2.5 KiB
ReStructuredText
69 lines
2.5 KiB
ReStructuredText
SPI LED Strip Light
|
|
===================
|
|
|
|
.. seo::
|
|
:description: Instructions for setting up SPI LED RGB lights in ESPHome.
|
|
:image: ../components/light/images/apa102.jpg
|
|
|
|
The ``spi_led_strip`` light platform drives one or more SPI interfaced RGB LEDs. These LEDs are often used in strips, where
|
|
each LED is individually addressable. This component requires an SPI interface to be configured.
|
|
|
|
This component has been tested with APA102 LEDs and the P9813 LED driver. It should also work with HD107 and SK9822 type
|
|
LEDs, or any others with a similar interface - SPI, 8 bits per colour and BGR ordering.
|
|
|
|
.. figure:: images/apa102.jpg
|
|
:align: center
|
|
:width: 75.0%
|
|
|
|
.. code-block:: yaml
|
|
|
|
# Example configuration entry
|
|
spi:
|
|
mosi_pin: GPIO3
|
|
clk_pin: GPIO9
|
|
|
|
light:
|
|
- platform: spi_led_strip
|
|
num_leds: 30
|
|
color_correct: [80%, 60%, 100%]
|
|
id: rgb_led
|
|
name: "RGB LED Strip"
|
|
data_rate: 1MHz
|
|
|
|
Color Correction
|
|
----------------
|
|
|
|
It is often favourable to calibrate/correct the color produced by an LED strip light as the
|
|
perceived intensity of different colors will generally vary. This can be done by using
|
|
``color_correct`` to adjust the relative brightness of the RGB components.
|
|
|
|
Configuration variables:
|
|
------------------------
|
|
|
|
- **name** (**Required**, string): The name of the light.
|
|
- **num_leds** (*Optional*, int): The number of LEDs attached. The default is 1.
|
|
- **effects** (*Optional*, list): A list of :ref:`light effects <light-effects>` to use for this light.
|
|
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
|
- **data_rate** (*Optional*): Set the data rate of the SPI interface to the display. One of ``80MHz``, ``40MHz``, ``20MHz``, ``10MHz``, ``5MHz``, ``2MHz``, ``1MHz`` (default), ``200kHz``, ``75kHz`` or ``1kHz``.
|
|
- All other options from :ref:`Light <config-light>`.
|
|
|
|
You may also need to configure an ``output`` GPIO pin to control power to the LEDs, depending on your hardware. The
|
|
APA102 and friends do not have a ``CS`` input, and are write-only so the SPI ``miso`` pin should not be specified.
|
|
|
|
See Also
|
|
--------
|
|
|
|
.. figure:: images/rgb-detail.jpg
|
|
:align: center
|
|
:width: 75.0%
|
|
|
|
- :doc:`/components/light/index`
|
|
- :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`
|
|
- :ghedit:`Edit`
|