For at kunne sænke spændingen til et niveau der kan aflæses på en mikrocontroller, benytter denne komponent sig af en spændingsdeler, dvs at på komponenten sidder der to mostande i serie hvor at den spænding der sendes til mikrocontrolleren via komponentens signal ben, er spændingen der ligger i mellem de to modstande.
På komponenten er størelses forholdet mellem de 2 modstande 1 til 5. Input voltage på komponenten bliver dermed 5 gange mindre. Dette gør at man med en ADC som kan aflæse op til 5V kan aflæse værdier der som på komponentens input max er 25V (da 5V * 5 = 25V).
ESP32 kan max aflæse 3.3V via sine ADC pins, dermed kan den aflæse værdier fra komponents input der max er 16.5V (da 3.3V * 5 = 16.5V)
Kodeeksempel
from machine import Pin, ADC
from time import sleepbat = ADC(Pin(36))
bat.atten(ADC.ATTN_11DB)
bat.width(ADC.WIDTH_12BIT)
while True:
bat_val = bat.read()
m_spaending = bat_val/4095*3.3
print("Analog maalt vaerdi: ", m_spaending)
spaending = m_spaending * 5
print("Input spaending: ", spaending)
sleep(1)