Let's read an analog signal!
For this, we'll use a small 10k trim pot to set up a voltage divider. Here's the wiring diagram:
And here's the code:
import time
import board
from analogio import AnalogIn
knob = AnalogIn(board.G1)
def get_voltage(raw):
return (raw * 3.3) / 65536
while True:
raw = knob.value
volts = get_voltage(raw)
print("raw = {:5d} volts = {:5.2f}".format(raw, volts))
time.sleep(0.5)
Save that as something like adc.py and then run it with:
python3 adc.py
Spin the knob and the values should change.
Note that even though the MCP2221's ADC is only 10 bits, the value is scaled to 16 bits to comply with the CircuitPython API.
Page last edited March 08, 2024
Text editor powered by tinymce.