diff --git a/components/output/mcp4725.rst b/components/output/mcp4725.rst new file mode 100644 index 000000000..bd316c84e --- /dev/null +++ b/components/output/mcp4725.rst @@ -0,0 +1,86 @@ +MCP4725 Output +============== + +.. seo:: + :description: Instructions for setting up MCP4725 outputs on the ESP. + :image: mcp4725.png + +The MCP4725 output component allows to use `12bit external DAC +`__ +in order to have analog output(s) on any board by using I2C. Devices default address is ``0x60`` +and configurable alternative is ``0x61``. + +Example Usage with defaults +*************************** + +.. code-block:: yaml + + # Set a global i2c connection + i2c: + sda: 21 + scl: 22 + scan: True + + # Set the output with default (address: 0x60 / global i2c) + output: + - platform: mcp4725 + id: dac_output + + on_...: + then: + - output.set_level: + id: dac_output + level: 100% + +Example Usage with a custom configuration +***************************************** + +.. code-block:: yaml + + # Set a custom i2c connection + i2c: + - id: bus_a + sda: 21 + scl: 22 + scan: True + - id: bus_b + sda: 23 + scl: 25 + scan: True + + # Set the output + output: + - platform: mcp4725 + id: dac_output + address: 0x61 + i2c_id: bus_b + + on_...: + then: + - output.set_level: + id: dac_output + level: 100% + +Configuration variables: +------------------------ + +- **id** (**Required**, :ref:`config-id`): The id to use for this output component. +- **address** (*Optional*, int): Manually specify the I2C address of + the DAC. Defaults to ``0x60``. +- All other options from :ref:`Output `. + +Usage with voltages higher than 3.3v +------------------------------------ + +In order to drive analog modules with voltages higher than 3.3v, use a `TTL bi-directionnal level +converter `__ + +Be careful about what converter you use, some of of them have channels labeled with `RX` and `TX`, +in this case only `TX` channels are bi-directional (so you must use 2 `TX` channels for I2C to work). + +See Also +-------- + +- :doc:`/components/output/esp32_dac` +- :doc:`/components/output/esp8266_pwm` +- :ghedit:`Edit` diff --git a/images/mcp4725.jpg b/images/mcp4725.jpg new file mode 100644 index 000000000..edcfb3654 Binary files /dev/null and b/images/mcp4725.jpg differ diff --git a/index.rst b/index.rst index 8a79031b8..68e6f7097 100644 --- a/index.rst +++ b/index.rst @@ -217,6 +217,7 @@ Output Components TLC59208F, components/output/tlc59208f, tlc59208f.jpg MY9231/MY9291, components/output/my9231, my9231.svg SM16716, components/output/sm16716, sm16716.svg + MCP4725, components/output/mcp4725, mcp4725.jpg Custom Output, components/output/custom, language-cpp.svg Template Output, components/output/template, description.svg