101

Re: HC-06 терморегулятор DS18B20

k = temp.getTempCByIndex(0);
это строка отвечает за снятие показаний температуры, Вы можете использовать коэффициент, например:
k = temp.getTempCByIndex(0)*0.93;

102

Re: HC-06 терморегулятор DS18B20

То есть если мне надо вести поправку в 2 градуса мне надо поставить коэффициент 2?

103

Re: HC-06 терморегулятор DS18B20

k = temp.getTempCByIndex(0)-2.00;

Re: HC-06 терморегулятор DS18B20

почему вылетает прога с телефона постояно

105

Re: HC-06 терморегулятор DS18B20

Подключение к блютуз модулю происходит нормально, данные с датчиков приходят на смартфон?

Re: HC-06 терморегулятор DS18B20

да подключается все выводится и время от времени отваливается( вторая программа от вас боромерт  не отваливается  и не тормозит ) и ещо как поставить гистерезис 0.5 градуса  ставил где  написано 0.5  получается 0.1 градус поставил строку либс 05 получилось но тормазит  программа телефон

107

Re: HC-06 терморегулятор DS18B20

Укажите адрес (номер сообщения форума) исходника программы и скетча, я поправлю программу.

Re: HC-06 терморегулятор DS18B20

2020-08-01 14:21:58 И СКРЕТЧЬ ОТ ТУДА

Re: HC-06 терморегулятор DS18B20

#include <Wire.h>
#include <Encoder.h>  // http://rcl-radio.ru/wp-content/uploads/ … ncoder.zip
#include <MsTimer2.h> // http://rcl-radio.ru/wp-content/uploads/ … Timer2.zip
#include <OneWire.h>
#include <DallasTemperature.h>
#include <EEPROM.h>
#include <DHT.h>
#include <LiquidCrystal_I2C.h> //Библиотека -  http://forum.rcl-radio.ru/misc.php?acti … download=1
  OneWire oneWire(A0);// вход датчика 18b20
  DHT dht(2, DHT11); // выход DAT подключен к цыфровому входу 2
  DallasTemperature temp(&oneWire);
  LiquidCrystal_I2C lcd(0x27,16,2);  // Устанавливаем дисплей
  Encoder myEnc(8, 9);//CLK, DT

int buff[2],i,dig,arr[2],w,w1,reg,nakal,h_reg,h_rele,menu;
float k;
int gis=1; // гистерезис 1 градус
unsigned long times,temp_time,oldPosition  = -999,newPosition;

void setup(){ Serial.begin(9600);Serial.setTimeout(50);
   temp.begin();
   temp.setResolution(11);//12 бит
   dht.begin();
   pinMode(10,INPUT);// МЕНЮ КНОПКА SW энкодера
   Wire.begin();lcd.init();lcd.backlight();
   MsTimer2::set(3, to_Timer);MsTimer2::start();
   reg = EEPROM.read(0);h_reg = EEPROM.read(1);
   pinMode(12, OUTPUT); // выход реле рег. темп.
   pinMode(11, OUTPUT); // выход реле рег. влаж.
}

void loop() {
  ///// DHT
  byte h = dht.readHumidity();// влажность
  //h = 45;
  /////// ПРИЕМ ДАННЫХ С SERIAL PORT /////////////////////////
  while (Serial.available()>0){
   for (i=0;i<1;i++) {
     buff[0] = Serial.parseInt();
     buff[1] = Serial.parseInt();}   
     w=1;w1=1;times=millis();}

///////////// обработка команд ///////////////////
if(buff[0]>10&&w==1){ w=0; temp_time=millis();
     if(buff[0]==102){reg++;if(reg>125){reg=125;}}
     if(buff[0]==101){reg--;if(reg<0){reg=0;}}
     if(buff[0]==104){h_reg++;if(h_reg>100){h_reg=100;}}
     if(buff[0]==103){h_reg--;if(h_reg<20){h_reg=20;}}}
    /// EEPROM   
if(w1==1&&millis()-times>10000){w1=0;EEPROM.update(0,reg);EEPROM.update(1,h_reg);}
   /// измирение температуры
if(millis()-temp_time>1000&&menu==0){ 
   temp.requestTemperatures();
   k = temp.getTempCByIndex(0);
  // k=25;
   temp_time=millis();}
   /// отправка днный в android
   Serial.print(k,1);
   Serial.print(":");
   Serial.print(reg);
   Serial.print(":");
   Serial.print(nakal);
   Serial.print(":");
   Serial.print(h);
   Serial.print(":");
   Serial.print(h_reg);
   Serial.print(":");
   Serial.println(h_rele);

   if(reg >= k + gis){digitalWrite(12,LOW);nakal=1;}
   if(reg <= k - gis){digitalWrite(12,HIGH);nakal=0;}
   
   if(h_reg >= h + gis){digitalWrite(11,LOW);h_rele=1;}
   if(h_reg <= h - gis){digitalWrite(11,HIGH);h_rele=0;}
///////////////////////////////////////////////////////////////
   if(digitalRead(10)==LOW){menu++;if(menu>2){menu=0;}delay(200);}
   
   if (newPosition != oldPosition&&menu==2){oldPosition = newPosition;
     h_reg=h_reg+newPosition;myEnc.write(0);newPosition=0;if(h_reg>100){h_reg=100;}if(h_reg<20){h_reg=20;}}
   if (newPosition != oldPosition&&menu==1){oldPosition = newPosition;
     reg=reg+newPosition;myEnc.write(0);newPosition=0;if(reg>125){reg=125;}if(reg<0){reg=0;}}   
     
   lcd.setCursor(0,0);
   if(menu!=1){lcd.print(" T ");}
   if(menu==1){lcd.print(">T ");}
   lcd.print(k,1);
   lcd.setCursor(9,0);lcd.print("T_r ");lcd.print(reg);
   
   lcd.setCursor(0,1);
   if(menu!=2){lcd.print(" H ");}
   if(menu==2){lcd.print(">H ");}
   lcd.print(h);lcd.print(" %");
   lcd.setCursor(9,1);lcd.print("H_r ");lcd.print(h_reg);

}

void to_Timer(){newPosition = myEnc.read()/4;}

110

Re: HC-06 терморегулятор DS18B20

Укажите ссылку на исходник

Re: HC-06 терморегулятор DS18B20

исходник чего

112

Re: HC-06 терморегулятор DS18B20

Андроид приложения

Re: HC-06 терморегулятор DS18B20

Данный контент доступен только зарегистрированным пользователям.
этот

114

Re: HC-06 терморегулятор DS18B20

нет, это приложение, нужны исходники

Re: HC-06 терморегулятор DS18B20

Данный контент доступен только зарегистрированным пользователям.

116

Re: HC-06 терморегулятор DS18B20

Укажите ссылку (номер сообщения форума) на скетч

117

Re: HC-06 терморегулятор DS18B20

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

118

Re: HC-06 терморегулятор DS18B20

Добрый день. При перезагрузки термостата температура сбрасывается. Должно быть так. Если да то где изменить стартовую температуру?

119

Re: HC-06 терморегулятор DS18B20

Не совсем понял вопрос. Температура регулирования сбрасывается?
После изменения температуры регулирования, температура регулирования заносится в память через 10 после регулировки. При включении она должна быть запрошена из памяти и выводится на экран.
Укажите скетч, что бы я посмотрел.

120 (2020-11-09 17:15:52 отредактировано 101pogo)

Re: HC-06 терморегулятор DS18B20

Здравствуйте!
Собираю термостат и решил приспособить для его управления вашу программу, пока не разберусь, как писать самому.
Мне подошла версия из 34 поста 2020-06-04 19:48:33.
Единственное, если не затруднит, можно доработать, чтобы дополнительно на экран выводилась строка "основной" или "резервный" датчик. Данные из программы будут идти следом за влажностью.
Спасибо!

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

121

Re: HC-06 терморегулятор DS18B20

Здравствуйте! Как Вы определите что датчик неисправен?

122

Re: HC-06 терморегулятор DS18B20

Варианты разные. Например DHT если отвалится, показывает температуру и влажность по нулям. А в обычной жизни нулевая влажность маловероятна.
Ну а вообще, в моем случае, основной датчик у меня будет работать по радиоканалу 433 МГц и там есть тайм-аут ожидания показаний. Если не придет сигнал в течение минуты, переключится на проводной датчик
С программой в ардуинке проблем нет, я не умею для андроид приложения делать пока

123

Re: HC-06 терморегулятор DS18B20

Вам нужно дописать скетч под Ваши датчики и опубликовать его на форуме. Автоматизировать переключение с основного  датчика на резервный (например при отключении основного датчика). Создайте новую переменную (bool) которая показывает какой датчик активен (лог. 0 или 1). Как будет все готово я поправлю приложение.

124 (2020-12-29 20:49:03 отредактировано TyM)

Re: HC-06 терморегулятор DS18B20

Привет, всех с праздником.

Спасибо liman324 за то, что поделились.
В феврале, сообщение №9, вы перевели приложение для моего телефона на испанский язык.
Сейчас мы переехали в новый дом и мне нужно расширить этот термостат, я скажу, что мне нужно.
- Установите температуру 0,1 ºC.
- Используйте DHT22 для измерения температуры и влажности.
- Влажность, мне просто нужно ее измерить.
- Измените в приложении для телефона, отрегулируйте влажность: включение / выключение бойлера и включение / выключение отопления.
- Нажатием кнопки энкодера: долгое нажатие = включение / выключение котла, короткое нажатие = включение / выключение нагрева.
- Передача включения / выключения радио, бойлера, отопления и термостата.
Я изменил фотографию приложения для телефона, чтобы вы могли ее видеть.
Я изменил фото ЖК-дисплея, чтобы вы его увидели.
Я составил схему схемы того, что хотел бы сделать.

Я очень ценю вашу помощь, спасибо.

P.S. Переведено с помощью гугла считаю перевод очень плохим, поэтому прилагаю оригинал на испанском языке.
Скажите, могу ли я публиковать сообщения на форуме только на испанском языке.
---------
Hola, Felices fiestas para todos.

Gracias liman324 por compartir.
En Febrero, mensaje #9, tu tradujiste para mi al Español la App para teléfono.
Ahora nos hemos cambiado a una casa nueva y necesito ampliar este termostato, te cuento lo que necesito.
- Ajustar temperatura en 0.1 ºC.
- Usar DHT22 para medir la temperatura y humedad.
- La humedad,  solo necesito medirla.
- Cambiar en la App del teléfono, ajuste humedad por : caldera on/off y calefacción on/off.
- Al pulsar el pulsador del encoder : pulsación largo = caldera on/off y pulsación corta = calefacción on/off.
- Transmitir por radio ON/OFF, de caldera, calefaccion y termostato.
He modificado la foto de la App del teléfono para que la veas.
He modificado la foto de el LCD para que la veas.
He hecho un esquema del circuito, de lo que me gustaría hacer.

Te agradezco mucho tu ayuda, gracias.

P.D. Traducido con google, creo que la traducción es muy mala, por esto, adjunto el original en Español.
Dime si puedo postear en el foro, solo en Español.
-------

http://forum.rcl-radio.ru/uploads/images/2020/12/cb004d9bbce04059bf9ca0da4f096585.jpg

http://forum.rcl-radio.ru/uploads/images/2020/12/afd38634e0721ee06a53f55316d9d8ce.jpg

http://forum.rcl-radio.ru/uploads/images/2020/12/66a657001393a9936d55bd24f5547d9a.jpg

http://forum.rcl-radio.ru/uploads/images/2020/12/f27b2ae0e2fb2a2f8e6061b1488046de.jpg

125

Re: HC-06 терморегулятор DS18B20

К сожалению я не знаком с модулем RX433MHz, а так же у меня нет датчика DHT-22 что-бы собрать и протестировать схему. В таком варианте с применением модуля RX433MHz и двух плат Arduino я не смогу Вам помочь.