"BreweryArduino" контроллер для пивоварни

Тема в разделе "Глядите, что я сделал", создана пользователем fixedip, 10 янв 2017.

  1. IvanUA

    IvanUA Гуру

    А скейтч которым прошиваете и Даллас корректно работает?
     
  2. ua3rad

    ua3rad Нуб

    прокомпилирую и вышлю
     

    Вложения:

    • arduino.txt
      Размер файла:
      229,6 КБ
      Просмотров:
      915
  3. IvanUA

    IvanUA Гуру

    Первое что бросилось в глаза
    TempC = temperature + 0.51;
    причем что TempC - у вас задекларирована как int (целое число) а в нее вы пробуете поместить дробное число, да еще и к нему прибавить число меньше единицы....
     
  4. ua3rad

    ua3rad Нуб

    я ничего не писал, скачал с сайта. автор утверждает, что работает.
     
  5. DIYMan

    DIYMan Guest

    И шо? Промежуточные преобразования разве кто отменял? Компилятор, не будь он дурак, сперва сложит два слагаемых как тип float, а потом тупо скастит его к int, и всё. Приведённый кусок кода очень напоминает банальное округление вверх до ближайшего целого числа, никакого криминала там нет, имхо.
     
  6. IvanUA

    IvanUA Гуру

    Работает - это значит идеальное повторение проекта автора:
    - использование идентичного железа;
    - использование идентичной версии компилятора и библиотек;
    - использование идентичной схемы подключения.
    И еще дело случая, оборудование может быть со своими глюками, как у автора, так и у вас....
     
  7. IvanUA

    IvanUA Гуру

    Да особо ничё...
    Не зная мыслей автора на этот счет трудно вот так с ходу разобраться в много страничном коде...
     
  8. ua3rad

    ua3rad Нуб

    так все идентично.
     
  9. ua3rad

    ua3rad Нуб

    это точно.
     
  10. IvanUA

    IvanUA Гуру

    Идентично с чем, если кодом автора, то оно и так понятно, вы же его и загружали.
    Или процедура опроса датчика и получения значений температуры в обеих скейтчах идентична?
     
  11. ua3rad

    ua3rad Нуб

    скетч не трогал
     
  12. IvanUA

    IvanUA Гуру

    Ну а что с тем скейтчем на котором у вас работает датчик?
     
  13. IvanUA

    IvanUA Гуру

    Попробуйте заменить следующую строчку
    temperature = sensors.getTempCByIndex(0) + TermCk;
    на
    temperature = sensors.getTempCByIndex(0) + TermCk;
    Serial.println(temperature);
    temperature += TermCk;
    это вкладка функции
    И посмотрите какое число приходит в СОМ порт
     
  14. ua3rad

    ua3rad Нуб

    286.75
    286.63
    286.63
    287.00
    286.75
    286.75
    286.69
    287.00
    287.00
    286.88
    286.75
    287.00
    287.00
    286.88
    286.81
    287.00
    287.00
    287.00
    286.88
    287.00
    287.00
    287.00
    286.94
     
  15. ua3rad

    ua3rad Нуб

    там все работает. здесь красивее меню и есть разные настройки
     
  16. IvanUA

    IvanUA Гуру

    Почитал отзывы о методе добычи информации - sensors.getTempCByIndex(0) как то отзывы не очень, даже я бы сказал что у местных форумчан были проблемы.

    Хотите красивое меню и функции - переносите их в скейтч с работающим датчиком.
    Хотите починить этот скейтч, попробуйте переделать метод опроса датчика.

    Возьмите стандартный пример из даллас библиотеки и перенесите его себе в код...
     
  17. ua3rad

    ua3rad Нуб

    буду пробовать
     
  18. ua3rad

    ua3rad Нуб

    спасибо
     
  19. fixedip

    fixedip Гик

    По округлению и int - так-как в шрифт используемый в программе не имел точки (для отображения дробных) пришлось приводить к целочисленным значениям.
    Опрос датчика температуры взят из примеров библиотеки , в нем опрос происходит без 2 сек. задержки как вы должны понимать это критично для сенсорного управления.
    Вы про бывали прошить HEX файлом?
     
  20. fixedip

    fixedip Гик

    В каком именно проекте у Вас правильно работает датчик?