Здравствуйте всем . Циркуляция у теплых полов без насоса неважная а с насосом начинает горячую воду в обратку сливать .
Есть два датчика температуры входная и выходная ( с полов ) температура должна различаться примерно с 3 до 6 градусов . Считываю и вывожу на дисплей без проблем . А вот включение насоса не пойму как сделать . библиотека 1820 выдает данные уже в цельсиях они дробные .
#include <LCD5110_Graph.h>
#include "microDS18B20.h"
MicroDS18B20 sensor1(12); // датчик на пине 2
MicroDS18B20 sensor2(11); // датчик на пине 3
LCD5110 lcd(3,4,5,6,7);
extern unsigned char MediumNumbers[];
extern uint8_t temperatureIcon[];
float tempC = 0;
float tempC2 = 0;
char temperatureF[6];
void setup() {
Serial.begin(9600);
lcd.InitLCD();
lcd.setFont(MediumNumbers);
pinMode(13, OUTPUT);
}
void loop() {
// Serial.print("t: ");
sensor1.requestTemp();
sensor2.requestTemp();
lcd.clrScr();
lcd.drawBitmap(0, 0, temperatureIcon, 84, 48);
delay(1000); // между request и get нужна секунда (асинхронный режим)
//Serial.print(sensor1.getTemp());
// Serial.print(" ");
//Serial.println(sensor2.getTemp());
tempC = sensor1.getTemp();
convertToString(tempC);
lcd.print(temperatureF,25,0);
lcd.update();
tempC = sensor2.getTemp();
convertToString(tempC2);
lcd.print(temperatureF,25,24);
lcd.update();
//if (tempC-tempC2)5;
//digitalWrite(13, HIGH); понимаю , что тут хрень полная ... но как ????
}
void convertToString(float number)
{
dtostrf(number, 4, 2, temperatureF);
Есть два датчика температуры входная и выходная ( с полов ) температура должна различаться примерно с 3 до 6 градусов . Считываю и вывожу на дисплей без проблем . А вот включение насоса не пойму как сделать . библиотека 1820 выдает данные уже в цельсиях они дробные .
#include <LCD5110_Graph.h>
#include "microDS18B20.h"
MicroDS18B20 sensor1(12); // датчик на пине 2
MicroDS18B20 sensor2(11); // датчик на пине 3
LCD5110 lcd(3,4,5,6,7);
extern unsigned char MediumNumbers[];
extern uint8_t temperatureIcon[];
float tempC = 0;
float tempC2 = 0;
char temperatureF[6];
void setup() {
Serial.begin(9600);
lcd.InitLCD();
lcd.setFont(MediumNumbers);
pinMode(13, OUTPUT);
}
void loop() {
// Serial.print("t: ");
sensor1.requestTemp();
sensor2.requestTemp();
lcd.clrScr();
lcd.drawBitmap(0, 0, temperatureIcon, 84, 48);
delay(1000); // между request и get нужна секунда (асинхронный режим)
//Serial.print(sensor1.getTemp());
// Serial.print(" ");
//Serial.println(sensor2.getTemp());
tempC = sensor1.getTemp();
convertToString(tempC);
lcd.print(temperatureF,25,0);
lcd.update();
tempC = sensor2.getTemp();
convertToString(tempC2);
lcd.print(temperatureF,25,24);
lcd.update();
//if (tempC-tempC2)5;
//digitalWrite(13, HIGH); понимаю , что тут хрень полная ... но как ????
}
void convertToString(float number)
{
dtostrf(number, 4, 2, temperatureF);