ADC V1.1 Unit
ADC V1.1 Unit 是一款 A/D 转换模块,采用 ADS1110 芯片,这是一款 16 位自校准模数转换器。该模块采用 I2C 接口设计,便于连接。模块提供 8、16、32 和 128 samples per second (SPS) 的转换速率,分别对应 16、15、14 和 12 位分辨率,可提供不同精度等级。
支持以下产品:
MicroPython 应用示例
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 ADCV11Unit 10 11 12title0 = None 13label1 = None 14label0 = None 15i2c0 = None 16adc_v11_0 = None 17 18 19def setup(): 20 global title0, label1, label0, i2c0, adc_v11_0 21 22 M5.begin() 23 Widgets.fillScreen(0x222222) 24 title0 = Widgets.Title( 25 "ADCV11Unit Core2 Example", 3, 0xFFFFFF, 0x0000FF, Widgets.FONTS.DejaVu18 26 ) 27 label1 = Widgets.Label( 28 "ADC 16Bit Value:", 1, 130, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18 29 ) 30 label0 = Widgets.Label("ADC Value:", 1, 91, 1.0, 0xFFFFFF, 0x222222, Widgets.FONTS.DejaVu18) 31 32 i2c0 = I2C(0, scl=Pin(33), sda=Pin(32), freq=100000) 33 adc_v11_0 = ADCV11Unit(i2c0) 34 adc_v11_0.set_sample_rate(0x00) 35 adc_v11_0.set_mode(0x00) 36 adc_v11_0.start_single_conversion() 37 adc_v11_0.set_gain(0x00) 38 39 40def loop(): 41 global title0, label1, label0, i2c0, adc_v11_0 42 M5.update() 43 label0.setText(str((str("ADC Value:") + str((adc_v11_0.get_voltage()))))) 44 label1.setText(str((str("ADC 16Bit Value:") + str((adc_v11_0.get_adc_raw_value()))))) 45 46 47if __name__ == "__main__": 48 try: 49 setup() 50 while True: 51 loop() 52 except (Exception, KeyboardInterrupt) as e: 53 try: 54 from utility import print_error_msg 55 56 print_error_msg(e) 57 except ImportError: 58 print("please update to latest firmware")
UiFlow2 应用示例:
class ADCV11Unit
Constructors
- class ADCV11Unit(i2c)
使用 I2C 或 PAHUBUnit 接口初始化 ADCV11Unit。
- 参数:
i2c – 用于通信的 I2C 或 PAHUBUnit 实例。
UIFLOW2:

Methods
- ADCV11Unit.get_voltage()
从 ADC V1.1 Unit 获取测量到的电压。
- 返回:
测得的电压值,四舍五入到小数点后两位。
UIFLOW2:

- ADCV11Unit.set_gain(gain)
设置 ADC 的增益配置。
- 参数:
gain – 用于配置的增益值。
UIFLOW2:

- ADCV11Unit.set_sample_rate(rate)
配置 ADC 的采样率。
- 参数:
rate – 要设置的采样率。
UIFLOW2:

- ADCV11Unit.set_mode(mode)
设置 ADC 的工作模式。
- 参数:
mode – 用于配置的模式,例如连续转换或单次转换。
UIFLOW2:

- ADCV11Unit.set_config()
使用当前设置更新 ADC 配置寄存器。
- ADCV11Unit.get_adc_raw_value()
读取原始 ADC 值。
UIFLOW2:


