ADC Unit
Support the following products:
Micropython Example:
1# SPDX-FileCopyrightText: 2024 M5Stack Technology CO LTD 2# 3# SPDX-License-Identifier: MIT 4 5import os, sys, io 6import M5 7from M5 import * 8from hardware import * 9from unit import ADCUnit 10 11 12label0 = None 13i2c0 = None 14adc_0 = None 15 16 17def setup(): 18 global label0, i2c0, adc_0 19 20 M5.begin() 21 Widgets.fillScreen(0x222222) 22 label0 = Widgets.Label("label0", 16, 16, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 23 24 i2c0 = I2C(0, scl=Pin(22), sda=Pin(21), freq=100000) 25 adc_0 = ADCUnit(i2c0) 26 27 28def loop(): 29 global label0, i2c0, adc_0 30 M5.update() 31 label0.setText(str(adc_0.get_voltage())) 32 33 34if __name__ == "__main__": 35 try: 36 setup() 37 while True: 38 loop() 39 except (Exception, KeyboardInterrupt) as e: 40 try: 41 from utility import print_error_msg 42 43 print_error_msg(e) 44 except ImportError: 45 print("please update to latest firmware")
UIFLOW2 Example:
class ADCUnit
Constructors
- class ADCUnit(i2c0)
Create an ADCUnit object.
- parameters is:
I2C0is I2C Port.
UIFLOW2:

Methods
- ADCUnit.get_value()
Gets the original value read by the adc(16 bit).
UIFLOW2:

- ADCUnit.get_voltage()
Get the voltage value.
UIFLOW2:

- ADCUnit.get_operating_mode()
Get working mode. (Single read or continuous read)
UIFLOW2:

- ADCUnit.get_data_rate()
Get the read rate of the data.
UIFLOW2:

- ADCUnit.get_gain()
Get the gain multiple of the data.
UIFLOW2:

- ADCUnit.operating_mode()
Set working mode (single read or continuous read)
UIFLOW2:

- ADCUnit.data_rate()
Set the data acquisition rate.
UIFLOW2:

- ADCUnit.gain()
Set the gain multiple for reading data.
UIFLOW2:


