Спасибо. Действительно, что то затупил с примерами и сделал постоянное обновление экрана. Сейчас все заработало как надо.
рассчитан ли Герметичный датчик температуры DS18B20 на длительное время работы в кипящей воде? написано, что может до +125 измерять, а про время работы в таких условиях ничего не нашел. мне просто необходимо получать температуры жидкостей и пара в самогонном аппарате.
вкус не поплохеет, сэм будет в колбе, которая будет в кастрюле. датчик тоже будет в кастрюле. про термоусадку отпишусь позже =)
Мы тут краштест датчика провели намедни. Хочется отметить он себя хорошо показал. Несколько минут в кипящей воде провел без каких либо деформаций или заметных изменений; работал исправно. Запаха никакого не было, термоусадка выглядела точно так же как и до погружения.
датчик частично находился в паропроводе и кусочек термоусадки посветлел, но работает нормально. погрешность показаний 1 градус примерно. волновался только насчет попадания жидкости или пара под термоусадку, она не совсем плотно к проводу прилягает
Начну с далека, имеется дом, 5 комнат, в каждой комнате стоит ds18b20, вывод температуры на дисплей android планшета. Все работает нормально, но дело в том что дом деревянный и хотелось бы на этих сенсорах сделать противопожарку..... смысл в том чтобы условие выполнялось при резком скачке температуры, например на 2 градуса за 5 секунд, в нормальных условиях температура так не прыгает Помогите со скетчем (arduino), что то сам не допру. хотя бы примерный алгоритм. Спасибо!
Если рассматривать самый простой вариант то можно сделать так. Допустим вы опрашиваете датчик температуры каждые 5 секунд, сохраняете значение температуры и если при следующем опросе температура превысит температуру последнего опроса больше чем на 2 градуса, решайте что делать дальше Импровизированный код может выглядеть так: Код (Text): const double TEMP_JUMP = 2.0; double lastTemp = 0; double currentTemp = 0; currentTemp = readTemp(); if ((currentTemp + TEMP_JUMP) >= lastTemp) { alarm(); } lastTemp = currentTemp; delay(5000); Но у этой простой схемы есть свои недостатки, а что если температура подымется не на 2+ градуса а только на 1.99, и будет каждые 5 сек подыматься на 1.99, тревога просто не сработает, тогда нужен будет чуть более сложный алгоритм с интервалами Да и от работы с плавающей точкой стоит отойти а то они имеют свои недостатки, это я уже так написал для простоты примера
Почему нельзя просто порог срабатывания установить? А то зальете датчик кипятком и он закричит "пожар!". Резкий скачок температуры может быть много чем вызван.
Подозреваю, что когда два градуса за пять секунд, то уже поздно. А при локальном возгорании на удаленный датчик воздействие будет совсем небольшим (можно проэкспериментировать с газовой плитой - по виду классическое возгорание на ранней стадии, горение с высокой температурой, но слабо сказывающееся на общей температуре в помещении). Тут, действительно, датчик задымления будет более эффективным, не зря пожарная сигнализация именно на этом принципе работает.
нашел очень интересную статейку с видеообзором http://arrduinolab.blogspot.ru/2014/10/5-ds18b20.html для нескольких параллельно подключенных датчиков температуры с возможностью регулирования температуры кнопками с шилда. все хорошо, но как регулировать температуру не целыми градусами, а десятками, не пойму. вот вроде эти строчки отвечает за изменение градусов Код (Text): if (KEY == 2) { // если нажата кнопка tempOUTon[pos]--; // изменяем значение if (tempOUTon[pos] > 125) tempOUTon[pos] = 0; EEPROM.write(pos, tempOUTon[pos]); // сохраняем в еепром } else if (KEY == 5){ tempOUTon[pos]++; if (tempOUTon[pos] > 125) tempOUTon[pos] = 0; EEPROM.write(pos, tempOUTon[pos]); }
нет. десятками градусов не надо. но за комент спасибо. да именно десятками градуса. а что именно править надо???
а ведь ответ так был прост.... неужели никто не знал как поправить код, или вам жалко??? ответил автор этого видео. надо было байт поменять на флоат, а дальше по аналогии с предложением от vvr: tempOUTon[pos] = tempOUTon[pos] + 0.1; я так и не увидел, где там много править код надо было....?
ну так одно дело калибровку сделать, в коде а другое это в интерфейс эту одну десятую вводить, о чем и думалось.
честно говоря, не совсем вас понял... правда теперь новая бяка вылезла: после установки температуры, при повторном нажатии кнопки селект (вход в меню) обнуляются последние показания настроек. как с этим бороться????