mirror of
https://github.com/esphome/esphome-docs.git
synced 2024-11-07 09:43:08 +01:00
5bfeb3e7fc
* Add MCP4725 Doc * add alterative address info Co-authored-by: Guillermo Ruffino <glm.net@gmail.com>
87 lines
2.2 KiB
ReStructuredText
87 lines
2.2 KiB
ReStructuredText
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
|
|
<https://learn.sparkfun.com/tutorials/mcp4725-digital-to-analog-converter-hookup-guide/all>`__
|
|
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 <config-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 <https://learn.sparkfun.com/tutorials/bi-directional-logic-level-converter-hookup-guide/all>`__
|
|
|
|
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`
|