diff --git a/components/mcp3008.rst b/components/mcp3008.rst new file mode 100644 index 000000000..33929be67 --- /dev/null +++ b/components/mcp3008.rst @@ -0,0 +1,74 @@ +MCP3008 I/O Expander +==================== + +.. seo:: + :description: Instructions for setting up MCP3008 10 Bit Analog to Digital Converter in ESPHome. + :image: mcp3008.png + +.. note:: + + This page is incomplete and could some work. If you want to contribute, please read the + :doc:`contributing guide `. This page is missing: + + - An image for the front page. + - Formal documentation of the mcp3008 sensor entry (parent, update_interval, number, etc.) + - See Dallas sensor for reference model + +The Microchip Technology Inc. MCP3008 +devices are successive approximation 10-bit Analogto-Digital (A/D) converters with on-board sample and +hold circuitry. Each pin will respond with a 0-1023 result depending on the voltage it is reading + +MCP3008 +------- + +The MCP3008 component allows you to use MCP3008 8-Channel 10-Bit A/D Converter +(`datasheet `__, +`Adafruit `__) in ESPHome. +It uses the :ref:`SPI Bus ` for communication. + +Once configured, you can use any of the 8 pins as +sensors for your projects. + +.. code-block:: yaml + + # Example configuration entry + mcp3008: + cs_pin: D8 + + # Example config of sensors. + # This is a NTCB3950 10K thermocoupler attached to pin 0 + # of the MCP3008 with a 10K resistor as a voltage divider. + # See `resistance` and `ntc` platorms for other options + sensor: + - platform: mcp3008 # Attached to pin 0 of the MCP3008. + # The result will be a reading from 0-1023 + update_interval: 1s + id: freezer_temp_source + number: 0 # pin number + - platform: resistance + id: freezer_resistance_sensor + sensor: freezer_temp_source + configuration: DOWNSTREAM + resistor: 10kOhm + - platform: ntc + id: freezer_temp + sensor: freezer_resistance_sensor + calibration: + b_constant: 3950 + reference_temperature: 25°C + reference_resistance: 10kOhm + name: Freezer Temperature + +Configuration variables: +~~~~~~~~~~~~~~~~~~~~~~~~ + +- **id** (**Required**, :ref:`config-id`): The id to use for this MCP3008 component. +- **cs_pin** (**Required**, int): The SPI cable select pin to use + +See Also +-------- + +- :ref:`spi` +- :apiref:`mcp3008/mcp3008.h` +- :ghedit:`Edit` + diff --git a/images/mcp3008.png b/images/mcp3008.png new file mode 100755 index 000000000..6df3254f2 Binary files /dev/null and b/images/mcp3008.png differ diff --git a/index.rst b/index.rst index b7936b417..7588a75ba 100644 --- a/index.rst +++ b/index.rst @@ -330,6 +330,7 @@ Misc Components PCF8574 I/O Expander, components/pcf8574, pcf8574.jpg MCP230XX I/O Expander, components/mcp230xx, mcp230xx.svg + MCP3008 8-Channel 10-Bit A/D Converter, components/mcp3008, mcp3008.png SX1509 I/O Expander, components/sx1509, sx1509.jpg SIM800L, components/sim800l, sim800l.jpg DFPlayer, components/dfplayer, dfplayer.svg