Re: HC-06 терморегулятор DS18B20
я имел в виду по беспроводной связи, с возможностью контроля и управления с
полноценного блока полностью дублирующего смартфон, но смарт не исключать.
Управление и контроль с одного или другого устройства.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
forum.rcl-radio.ru → Разное → HC-06 терморегулятор DS18B20
я имел в виду по беспроводной связи, с возможностью контроля и управления с
полноценного блока полностью дублирующего смартфон, но смарт не исключать.
Управление и контроль с одного или другого устройства.
Вывод показаний на LCD1602(I2C)(подключение http://forum.rcl-radio.ru/viewtopic.php?id=63), регулировка параметров энкодером (подключение 8, 9, 10 === CLK, DT, SW)
#include <Wire.h>
#include <Encoder.h> // http://rcl-radio.ru/wp-content/uploads/2019/05/Encoder.zip
#include <MsTimer2.h> // http://rcl-radio.ru/wp-content/uploads/2018/11/MsTimer2.zip
#include <OneWire.h>
#include <DallasTemperature.h>
#include <EEPROM.h>
#include <DHT.h>
#include <LiquidCrystal_I2C.h> //Библиотека - http://forum.rcl-radio.ru/misc.php?action=pan_download&item=45&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;}
как связь с базовым блоком? по кабелю?
я имел в виду по беспроводной связи, с возможностью контроля и управления с
полноценного блока полностью дублирующего смартфон, но смарт не исключать.
Управление и контроль с одного или другого устройства.
Ни как, энкодер и экран должны быть в базовом блоке
я имел в виду по беспроводной связи, с возможностью контроля и управления с
полноценного блока полностью дублирующего смартфон, но смарт не исключать.
Управление и контроль с одного или другого устройства.
блок находится в другом месте, (типа на стене висит, не далеко в удобном месте)
получаеца надо тянут кабель, если сложно, буду тянуть...
Понадобится вторая плата ардуино, передавать информацию можно через rs-485
http://rcl-radio.ru/?p=80037
Можно использовать ESP8266 и выводить управление на веб страницу.
Других вариантов я пока не вижу
пока сделаю так, протестирую, напишу, выложу все, потом остальное,
На + питания энкодеа, подать 5в?
как я понял LCD управляется по шине I2C? Но не понял из скетча куда подключаются SDA, SCL
посмотрел распиновку ардуино, SDA - A4. SCL -A5.
Так подключать управление по шине I2C?
Да, все верно.
энкодер отключен, а курсор на ЛСД бегае, то на Т, на Н
энкодер отключен, а курсор на ЛСД бегае, то на Т, на Н
Без энкодера нельзя включать, у него кнопка инверсная, если выход для кнопки не подключен, будет постоянно происходить переключение.
ничего не измениось,
энкодер HW-040
ничего не измениось,
энкодер HW-040
На выходе SW энкодера должно быть 5 В, а при нажатой кнопе 0 В.
на плате энкодера отсутствовало подтягивающее 10к на +5в на SW, ( так прислали), припоял.
Все работает отличчно!
Доброго времени суток! проблема с датчиком. При подключение не отображает температуру в телефоне. Подключил: жёлтый А, красный +5v, чёрный соответственyо в GND. Но всё равно температуру не показывает. В чём дело?
Резистор поставили 4,7 К между +5 В и выходом?
Поставил 5Ком работает. Спасибо!
Добрый день а есть ли возможность установит значение гистерезиса?
Значение гистерезиса указано в скетче:
int gis=1; // гистерезис 1 градус
Спасибо
Я не знаю может это тупой вопрос но если поставить не 4,7ком а допустим 4 то показания изменяются?
Нет, не изменятся.
Можно ли вносить поправки по температуре?
forum.rcl-radio.ru → Разное → HC-06 терморегулятор DS18B20
Форум работает на PunBB, при поддержке Informer Technologies, Inc
|