Перейти к публикации
iT4iT.CLUB

evgenyD

Пользователи
  • Публикации

    6
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    1

Сообщения, опубликованные пользователем evgenyD


  1. 14.03.2019 в 18:09, evgenyD сказал:

    Добрый день! 

    тензодатчик для весов пока не приехал, жду. возник другой вопросик, не получается отправлять корректно по MQTT в одном сообщении данные по 

     температуре, влажности и давлению. подставляется содержимое mqtt_path дважды

    Добрый день! помогите пожалуйста !!!!

    подключил два BME280 и тензодатчик, с помощью отдельного скетча нашел калибровочный коэффициент и tareoffset и  забил их в скрипте постоянно. т.к. улей на весах должен стоять все время, то тарирование отключил tareoffset (для этого в библиотеке HX711_ADC выставил параметр doTare = 0) и все вроде как замечательно, но так как может понадобиться откалибровать весы заново и выполнить тарирование, сохранить эти параметры для дальнейшего измерения веса и отключить тарирование,  добавил в меню Калибровка весов (правда в остальных меню во многих ячейках пропало отображение значений ), а дальше как говориться завис, я только знакомлюсь с программированием :(

    ESP8266_scale.zip


  2. 20.02.2019 в 09:48, Kitsum сказал:

    Доброе время суток.

    Электронных компонентов для проверки у меня нет, но я постараюсь помочь, опираясь на код библиотеки. Все фактические проверки Вам придется произвести самостоятельно. Я буду использовать эту библиотеку https://github.com/bogde/HX711, Вы можете использовать любую другую, просто действуйте по аналогии.

    В первую очередь необходимо определиться с используемыми портами микроконтроллера. Предлагаю задействовать 12 и 13 порты, но т.к они уже были использованы ранее, то в основном файле проекта необходимо закомментировать вызов функции gpio_12_13(). Я выбрал эти порты для примера, возможно Вы задействуете какие ни-ть другие.

    
    /* Инициализация GPIO для управления внешней нагрузкой */
    //gpio_12_13(); // Простое превышение температуры или влажности (выставляется в WEB интерфейсе)

    Теперь мы уверенны, что порты не заняты и можем переходить к реализации весов.

    Я предположу, что для описания сенсоров Вы используете один из пользовательских файлов имена которых начинаются с users_.

    В начале файла подключаем выбранную библиотеку.

    
    #include "HX711.h"

    Объявляем объект с помощью которого будем работать с весами. При объявлении мы передаем в качестве параметров номера задействованных портов.

    
    HX711 scale(12, 13);

    Создадим описание для системы визуализации (плагин Knob).

    
    knob_t *W = new knob_t(-100, 10000, "1", "Вес", "Гр");

    Мне не известно какой датчик Вы будите использовать, поэтому значения я выбрал на свое усмотрение. Минимальный вес равен -100 грамм, максимальный 10000 грамм, шаг шкалы 1, описание сенсора "Вес", ну и "Гр" в качестве единиц измерения. Минимальный вес в -100 грамм взят не случайно, так Вам будет проще найти калибровочный коэффициент.

    Теперь модифицируем функцию sensors_config() и объявим новый сенсор.

    
    /* Добавление датчиков в систему */
    void sensors_config() {
      /* Тут описан код других датчиков */
      
      scale.set_scale(3); // калибровочный коэффициент
      scale.tare(); // тарирование
    
      sensors.add(W, device::in, "in_weight", [&](){
        return scale.get_units() * 0.035274; // перевод в граммы
      });
    }

    В теории, этого должно быть достаточно.

    Обратите внимание на калибровочный коэффициент, я указал значение 3, у Вас это будет свое значение уникальное для Вашего датчика.

    
    scale.set_scale(3);

    Также обратите внимание, что при запуске микроконтроллера происходит тарирование весов.

    
    scale.tare();

    Отпишитесь о результатах.

    Добрый день! 

    тензодатчик для весов пока не приехал, жду. возник другой вопросик, не получается отправлять корректно по MQTT в одном сообщении данные по 

     температуре, влажности и давлению. подставляется содержимое mqtt_path дважды


  3. Добрый день! вопрос к автору: пожалуйста, посоветуйте как лучше реализовать подключение к данному проекту HX711 c тензодатчиками , из указанных здесь сенсоров хочу использовать только BME280.  заранее огромное спасибо.

×
×
  • Создать...