create new tag
view all tags

Analogue Signals

Up to now, we only treated digital signals in output mode (LED) and in input mode (pushbutton). Sensors often produce analogue signal levels, however. A thermistor, for example, returns a voltage level which corresponds to the temperature. How can we treat signals like these?

Our slider potentiometer produces a similar signal level, and we will connect it to an Analogue to Digital Converter (ADC). The ESP32 chip already supplies a 12 bit ADC. With 12 bits 4096 different numbers can be represented, and we therefore get a resolution of our measurement of 1/4096 which corresponds to ~0.025 %


The potentiometer has 3 pins: OTA (or OTB), VCC, GND which must be connected to the triple base as follows:

Potentiometer Triple Base
Use the male/female Dupont wires to make the connections.


You find a description of the MicroPython driver in the doc again. The ADC works for a range of 0..1V only while the potentiometer produces signal levels of 0..3.3V. A signal attenuator allows adapting the ranges. It must be set to ADC.ATTN_11DB for our 0..3.3V slider.

from machine import ADC,Pin
from time import sleep_ms

slider = ADC(Pin(36, atten=ADC.ATTN_11DB)  # use the ADC on GPIO 36 and set the attenuator to 11 dB
while True:
     print("Raw 12 bit value from slider: ",slider.read())

The only hardware still missing is the rgb LED chain

-- Uli Raich - 2022-10-16


Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng slider.png r3 r2 r1 manage 152.9 K 2022-10-24 - 10:58 UliRaich  
PNGpng slider_conn.png r1 manage 77.7 K 2022-10-24 - 10:59 UliRaich  
Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r3 - 2022-10-24 - UliRaich
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback