diff --git a/components/sensor/adc128s102.rst b/components/sensor/adc128s102.rst new file mode 100644 index 000000000..779997910 --- /dev/null +++ b/components/sensor/adc128s102.rst @@ -0,0 +1,66 @@ +ADC128S102 8-Channel 12-Bit A/D Converter +========================================== + +.. seo:: + :description: Instructions for setting up ADC128S102 12 Bit Analog to Digital Converter in ESPHome. + :keywords: ADC128S102 + :image: adc128s102.png + +The ADC128S102 is a low-power, eight-channel CMOS 12-bit analog-to-digital converter specified for conversion +throughput rates of 500 ksps to 1 MSPS. The converter is based on a successive-approximation register architecture +with an internal track-and-hold circuit. + +.. figure:: images/adc128s102.png + :align: center + :width: 50.0% + +.. _adc128s102-component: + +Component/Hub +------------- + +The ADC128S102 component allows you to use ADC128S102 8-Channel 12-Bit A/D Converter +(`datasheet `__, +`Texas Instruments `__) 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 + adc128s102: + cs_pin: GPIO15 + id: my_adc + + sensor: + - platform: adc128s102 # Attached to pin 0 of the ADC128S102. + update_interval: 1s + adc128s102_id: my_adc + id: freezer_temp_source + channel: 0 # ADC128S102 channel + +Configuration variables: +- **id** (**Required**, :ref:`config-id`): The id to use for this ADC128S102 component. +- **cs_pin** (**Required**, int): The SPI cable select pin to use + +Sensor +------ + +The ``adc128s102`` sensor allows you to use your ADC128S102 12-Bit A/D Converter sensors with ESPHome. +First, setup a :ref:`ADC128S102 Hub ` for your ADC128S102 sensor and then use this +sensor platform to create individual sensors that will report the voltage to Home Assistant. + +Configuration variables: + +- **adc128s102_id** (**Required**, :ref:`config-id`): The id of the parent ADC128S102 component. +- **channel** (**Required**, int): The channel of the ADC128S102 to use. +- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``60s``. + +See Also +-------- + +- :ref:`spi` +- :apiref:`adc128s102/adc128s102.h` +- :ghedit:`Edit` diff --git a/components/sensor/images/adc128s102.png b/components/sensor/images/adc128s102.png new file mode 100644 index 000000000..0bd81d055 Binary files /dev/null and b/components/sensor/images/adc128s102.png differ diff --git a/images/adc128s102.png b/images/adc128s102.png new file mode 100644 index 000000000..7e5764892 Binary files /dev/null and b/images/adc128s102.png differ diff --git a/index.rst b/index.rst index 955839905..f156cdd36 100644 --- a/index.rst +++ b/index.rst @@ -207,6 +207,7 @@ Analogue .. imgtable:: ADC, components/sensor/adc, flash.svg, ESP internal + ADC128S102, components/sensor/adc128s102, adc128s102.png , 8-channel ADC ADS1115, components/sensor/ads1115, ads1115.jpg, 4-channel ADC CD74HC4067, components/sensor/cd74hc4067, cd74hc4067.jpg, 16-channel analog multiplexer MCP3008, components/sensor/mcp3008, mcp3008.jpg, 8-channel ADC