51

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

После загрузки скетча подключите Bluetooth модуль HC-06 к плате Arduino, далее заходим в настройки смартфона в раздел Bluetooth:

Включаем Bluetooth на телефоне и ищем новые устройства
Находим в списке расстройств «HC-06″ и подключаемся к нему.
Телефон спросит пин-код. необходимо ввести «1234″ или «0000«
Эта процедура производится один раз, в дальнейшем подключение будет происходить автоматически.

52

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

мобильный не видит блютуз модуль

53

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

Вы на модуль подали 3,3 В?

54

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

подключился, завтра прицеплю 18в20, и выложу
http://forum.rcl-radio.ru/uploads/images/2020/06/5a20b91e0461d2dcea62918c5ae0c8ef.jpg

55 (2020-06-07 14:43:52 отредактировано sanj76a)

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

Все питание 5в, на все модули , НС- 3.6в--6в, DHT-11 Питание датчика: 3.5-5.5 В.
Так заявлено производителем.

56

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

http://forum.rcl-radio.ru/uploads/images/2020/06/0f1cda7adf90db1ed3898ffaec0bc9df.jpg
вот, все работает, буду цеплять реле для регулировки температур

57 (2020-06-18 17:49:15 отредактировано sanj76a)

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

Добрый день.

pinMode(13, OUTPUT); // выход реле

мне нужен 12

pinMode(12, OUTPUT); // выход реле, - если так переписать, то будет  OUTPUT 12 ?

58

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

Да, все верно, дополнительно измените номер выхода в этих строчках:

   if(reg >= k + gis){digitalWrite(13,HIGH);nakal=1;}
   if(reg <= k - gis){digitalWrite(13,LOW);nakal=0;}

59

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

возможно сделать еще один выход на реле для регулировки
влажности (включение-выключения увлажнителя),
ну это пока в перспективе.
Еще не заказывал модуль реле.

60

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

Да, можно, это не сложно.

61

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

Я подумал, зачем откладывать. Пожалуйста сделайте.

62

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

На выходных постараюсь сделать, нужны ограничения по влажности, от 0 до 100% или нет, например с 20 до 80?

63

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

Я думаю се девайс может держать микроклимат в любом  закрытом помещении.
Я сечас собираю в корпусе, соберу потом будет яснее, буду замерять. Показания будут от 0 до 100?
Я точно не знаю, нужно смотреть и замерять реально в разных условиях, для вешенок влажность в
пределах 80, ну для начала  50 - 100 (регулировка)

64

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

Приложение - Данный контент доступен только зарегистрированным пользователям.
Исходники (Android Studio) - Данный контент доступен только зарегистрированным пользователям.

http://forum.rcl-radio.ru/uploads/images/2020/06/a3fae9e1895fc45f95bf6e00b92c7d00.png

Выход управления регулировки температуры D12, выход управления регулировкой влажности D11
Вход DS18B20 А0, вход DHT11 D2


#include <OneWire.h>
#include <DallasTemperature.h>
#include <EEPROM.h>
#include <DHT.h> 
OneWire oneWire(A0);// вход датчика 18b20
DHT dht(2, DHT11); // выход DAT подключен к цыфровому входу 2
DallasTemperature temp(&oneWire);

int buff[2],i,dig,arr[2],w,w1,reg,nakal,h_reg,h_rele;
float k;
int gis=1; // гистерезис 1 градус
unsigned long times,temp_time;
 
void setup(){ Serial.begin(9600);Serial.setTimeout(50);
   temp.begin(); 
   temp.setResolution(11);//12 бит 
   dht.begin(); 
   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){  
   temp.requestTemperatures();
   k = temp.getTempCByIndex(0);
   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;} 
}

65

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

большое  спасибо!
Получу блок реле, продолжу!
Потом все подробно выложу!

66

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

http://forum.rcl-radio.ru/uploads/images/2020/07/f61816642a71760e4da179731eb07b02.jpg
http://forum.rcl-radio.ru/uploads/images/2020/07/dfb34e6ab0eeef63b599e856bc150fe1.jpg

67

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

Поздравляю! Вроде как все получилось!

68

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

Вот, все работает!

1. Но, как видно с фото, параметр задан на увеличение,
    команда ON, но реле не сработано (светодиод не светится),
    и на оборот, на другом фото видно.
    Нужно чтоб ON - реле сработало (светились св.диоды),
    OFF - реле отключено.

2. Чтоб ON - красным цветом,  OFF - так и осталось

3. Размер шрифта, показания влажности ( 38% ), были такие как показания температуры.

Ну и на этом все! Все работает!

69

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

1. Но, как видно с фото, параметр задан на увеличение,
    команда ON, но реле не сработано (светодиод не светится),
    и на оборот, на другом фото видно.
    Нужно чтоб ON - реле сработало (светились св.диоды),
    OFF - реле отключено.

На фото не видно надписи ON OFF, они верно показывают?

Размер шрифта, показания влажности ( 38% ), были такие как показания температуры.

это решаемо

Чтоб ON - красным цветом,  OFF - так и осталось

над этим надо подумать как это сделать

70

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

Обновите скетч, я инвертировал выходы управления реле. Проверьте работу реле.

71 (2020-07-02 22:29:06 отредактировано sanj76a)

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

....На фото не видно надписи ON OFF, они верно показывают?...
Я фото пробовал увеличить, получилось и все видно.

Все как я писал.
команда ON,  реле не сработано (светодиод не светится)
и на оборот.

обновить скетч.... перезалить тот тот что выше (последний) 2020-06-19 19:01:16?

Вас напрягает переключение цвета? Если геморой тогда не надо, на ваше усмотрение

72

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

Скетч

#include <OneWire.h>
#include <DallasTemperature.h>
#include <EEPROM.h>
#include <DHT.h> 
OneWire oneWire(A0);// вход датчика 18b20
DHT dht(2, DHT11); // выход DAT подключен к цыфровому входу 2
DallasTemperature temp(&oneWire);

int buff[2],i,dig,arr[2],w,w1,reg,nakal,h_reg,h_rele;
float k;
int gis=1; // гистерезис 1 градус
unsigned long times,temp_time;
 
void setup(){ Serial.begin(9600);Serial.setTimeout(50);
   temp.begin(); 
   temp.setResolution(11);//12 бит 
   dht.begin(); 
   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){  
   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;} 
}

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

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

http://forum.rcl-radio.ru/uploads/images/2020/07/90ae7b7bf263176af032d5ca52102687.png
http://forum.rcl-radio.ru/uploads/images/2020/07/e16f1d7062f6b20bfda2a48cabb5072b.png

73

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

Отлично!
Все работает! Протестировано!
Спасибо за работу!

74

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

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

75

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

На выходных постараюсь добавить экран 1602 и энкодер