Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Делюсь опытом ADS1115 - 4-портовый 16-битный АЦП

Тема в разделе "Железные вопросы по esp8266", создана пользователем ivy, 26 мар 2016.

Метки:
  1. ivy

    ivy Читатель

    Сообщения:
    24
    Симпатии:
    11
    Adafruit написали кое-какую заготовку под ADS1015. У заготовки ограниченные возможности - сам чип может делать очень классные штуки. Под NodeMCU / Lua не нашлось заготовок. Начал писать свою.

    Она уже рабочая. Хотел довести ее до состояния модуля, как с остальными заготовками.
    Неожиданно (хотя прогнозируемо) пришел к выводу, что мне не подходит NodeMCU как платформа для большого проекта. Переключился на ArduinoIDE.
    Несколько примеров использования АЦП ADS1015 в Lua:
    Код (Text):
    1. -- Examples:
    2. -- Read single value from separated port.
    3. init()
    4. config(,,GAIN_6V)
    5. set_mux(MUX_0G)
    6. print(read_value())
    7.  
    8.  
    9. -- Read continuosly from compared ports.
    10. init()
    11. config(MODE_CONT, DR_860SPS, GAIN_4V)
    12. set_mux(MUX_01)
    13. t = {}
    14. for i=1,100 do
    15.     t[i] = read_value()
    16.     tmr.delay(100)
    17. done
    18. print(table.concat(t, ','))
    19.  
    20.  
    21. -- Wait until interrupt is asserted by threshold.
    22. init()
    23. config(MODE_CONT, DR_8SPS, GAIN_2V)
    24. set_mux(MUX_01)
    25. set_comp(,,,CMP_FLT_2)
    26. set_thresholds(0x3fff, 0x07ff)
    27. gpio.mode(7, gpio.INT, gpio.PULLUP)  -- GPIO 13
    28. gpio.trig(7, 'both', function(level) print("Level:", level) end)
     
  2. fandy

    fandy Читатель

    Сообщения:
    64
    Симпатии:
    8
    Вроде он 12-битный?
     
  3. ivy

    ivy Читатель

    Сообщения:
    24
    Симпатии:
    11
    Точно. Поправил заголовок.
    ADS1015 - 12 бит.
    ADS1115 - 16 бит.

    Модуль писался в оригинале под ADS1115. С ADS1015 4 верхних бита всегда будут 0.
     
  4. Manol

    Manol Новичок

    Сообщения:
    1
    Симпатии:
    0
    А как считать значение с конкретной ноги?
     
  5. ivy

    ivy Читатель

    Сообщения:
    24
    Симпатии:
    11
    Самый первый пример:
    Код (Text):
    1. init()
    2. config(,,GAIN_6V)
    3. set_mux(MUX_0G)
    4. print(read_value())
     

Поделиться этой страницей