mcp3421

Форк
0
/
main.py 
54 строки · 2.1 Кб
1
import sys
2
from machine import I2C, Pin
3
from sensor_pack_2.bus_service import I2cAdapter
4
import mcp3421mod
5
import time
6

7

8
if __name__ == '__main__':
9
    i2c = I2C(id=1, scl=Pin(7), sda=Pin(6), freq=400_000)  # on Raspberry Pi Pico
10
    adapter = I2cAdapter(i2c)
11

12
    adc = mcp3421mod.Mcp342X(adapter)
13

14
    print("---Одиночный режим измерения---")
15
    my_gain = 0
16
    my_data_rate = 2
17
    adc.start_measurement(single_shot=True, data_rate_raw=my_data_rate, gain_raw=my_gain,
18
                          channel=0, differential_channel=True)
19
    print("---Основные 'сырые' настройки датчика---")
20
    gp = adc.get_general_raw_props()
21
    print(gp)
22
    print(16 * "--")
23
    td = adc.get_conversion_cycle_time()
24
    print(f"Время преобразования [мкс]: {td}")
25
    print(f"Бит в отсчете: {adc.current_resolution}")
26
    print(f"PGA: {adc.gain}")
27
    print(16 * "--")
28
    for _ in range(33):
29
        time.sleep_us(td)
30
        # print(f"value: {adc.value}; raw: {adc.get_value(raw=True)}")
31
        val = adc.get_value(raw=False)
32
        # lsb = adc.get_lsb()
33
        # print(f"value: {val};\tLSB [Вольт]: {lsb}")
34
        # val = adc.get_raw_value_ex()
35
        print(f"Напряжение: {val} Вольт")
36
        adc.start_measurement(single_shot=True, data_rate_raw=my_data_rate, gain_raw=my_gain,
37
                              channel=0, differential_channel=True)
38

39
    print(16 * "--")
40
    print("Автоматический режим измерений АЦП")
41
    print(16 * "--")
42
    adc.start_measurement(single_shot=False, data_rate_raw=my_data_rate, gain_raw=my_gain,
43
                          channel=0, differential_channel=True)
44
    td = adc.get_conversion_cycle_time()
45
    time.sleep_us(td)
46
    print(f"Время преобразования [мкс]: {td}")
47
    print(f"Бит в отсчете: {adc.current_resolution}")
48
    _cnt, _max = 0, 333333
49
    for voltage in adc:
50
        print(f"Напряжение: {voltage} Вольт")
51
        if _cnt > _max:
52
            sys.exit(0)
53
        time.sleep_us(td)
54
        _cnt += 1
55

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.