Advertisement
Guest User

Untitled

a guest
Sep 21st, 2019
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 19.32 KB | None | 0 0
  1. // Til brug for web modul
  2.  
  3. #include <SPI.h>
  4. #include <Ethernet.h>
  5.  
  6. byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
  7.  
  8.  
  9. IPAddress ip(10, 0, 32, 178);
  10. EthernetServer server(80);
  11.  
  12.  
  13. // Initialisere analogværdier
  14.  
  15. int UdetemperaturPin = A1;
  16. int V1;
  17. int FremlobTilHusPin = A2;
  18. int V2;
  19. int ReturlobFraHusPin = A3;
  20. int V3;
  21. int TemperaturEfterVekslerPin = A4;
  22. int V4;
  23. int SoltankBundPin = A5;
  24. int V5;
  25. int SoltanMidtPin = A6;
  26. int V6;
  27. int SoltankTopPin = A7;
  28. int V7;
  29. int FyrFremlobPin = A8;
  30. int V8;
  31. int GulvvarmeFremPin = A9;
  32. int V9;
  33. int VVBTopPin = A10;
  34. int V10;
  35. int VVBBundPin = A11;
  36. int V11;
  37. int SolfangerManifolPin = A12;
  38. int V12;
  39. int SolfangerFremPin = A13;
  40. int V13;
  41. int SolfangerReturPin = A14;
  42. int V14;
  43.  
  44.  
  45.  
  46.  
  47. // Inilialisere indgange og variabler for flow måling
  48.  
  49.  
  50. const int inputCf = 5; // Puls indgang centralvarme flowmåler
  51. int pulseCf = 0; // Variable for saving pulses count.
  52. int varCf = 0; // Variabel for flowmåling centralvarme
  53. int qCt = 0; // Variabel for flowmåling centralvarme liter i timen
  54. float tidCf = 0; // Tid for flowmåling centralvarme
  55. float qC = 0; // Flowmængde centralvarme
  56. float JouleC = 0; // Joule centralvare
  57. float Heffekt = 0 ;
  58.  
  59.  
  60.  
  61.  
  62. // Initialisere udgange for pumper og ventiler
  63.  
  64. int Cpumpe = 20; // Udgang for cirkulationspumpe til stuehus
  65. int CpumpeS = 0; // Definere status på relæ for centralvarme pumpe
  66. int Ventil1 = 21; // Udgang for 3vejs ventil, soltank on/baypass
  67. int Ventil1S = 0; // Definere status på relæ for 3vejsventil til bypass/soltank
  68. int Ventil2 = 22; // Udgang for 3vejs ventil, fyr on/baypass
  69. int Ventil2S = 0; // Definere status på relæ for 3vejsventil til bypass/fyr
  70. int Spumpe = 23; // Udgang for cirkulationspumpe solvarme
  71. int SpumpeS = 0; // Definere status på relæ for solvarme pumpe
  72. int VVBVentil = 24; // Udgang for telestat på VVB
  73. int VVBVentilS = 0; // Indikerer statur på relæ for telestat for VVB on/off
  74. int KVVentil = 25; // Udgang for telestat på koldtvandstank
  75. int KVVentils = 0; // Indikerer status på relæ for telestat på koldtvands tank on/off
  76. int FyrDrift = 30; // Udgang for drift af fyr,
  77. int FyrDriftS = 0; // Indikere fyr i drift eller stoppet
  78.  
  79. int ElVandVVB = 40; // Udgang for elvarme patron i VVB
  80. int ElVandVVBs = 0; // Definerer status for elpatron i VVB on/off
  81.  
  82. // Definere variabler for temperatur kalkulation
  83.  
  84. float R100 = 10000;
  85. float logR1, logR2, logR3, logR4, logR5, logR6, logR7, logR8, logR9, logR10, logR11, logR12, logR13, logR14, logR15, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, R11, R12, R13, R14, R15, T1, t1, T2, t2, T3, t3, T4, t4, T5, t5, T6, t6, T7, t7, T8, t8, T9, t9, T10, t10, T11, t11, T12, t12, T13, t13, T14, t14, T15, t15, T16, t16, T20, T22, T23;
  86. float c1 = 1.009249522e-03, c2 = 2.378405444e-04, c3 = 2.019202697e-07;
  87.  
  88. // Inilitasiere variabler
  89.  
  90. int forsinkelse = 0;
  91. int forsinkelse2 = 0;
  92. // Initiliasere temperature for drift af cirkulationspumpe for stuehus.
  93.  
  94. int T40 = 65; // Ideelt fremløbstemperatur
  95. int T41 = 40; // Start temperatur cirkulationspuumpe for stuehus
  96. int T42 = 30; // Stop temperatur cirkulationspumpe stuehus
  97.  
  98. int T45 = 3; //Acceptabel afvigelse fra ideelt freløb.
  99.  
  100. // Differancetemperature for drift af 3 vejs ventiler
  101.  
  102. int T60 = 8; // Differance for indkobling af soltank
  103. int T61 = 3; // Differance for udkobling af soltank
  104. int T65 = 8; // Differance for fyr fremløb større end fremløb solvarme
  105. int T66 = 3; // Differance for udkobling af fyr, ved varm solvarme
  106.  
  107. // Temperature for varmtvandsbeholdere
  108.  
  109. int T70 ; //Ønsket VVBtemperatur, defineres af driftform
  110. int T71 = 3; //Acceptabel afvigelse VVBtemperatur
  111. int T72 = 0; //Disponibel
  112. int T74 = 45; //Ønsket VVBtemperatur eldrift
  113.  
  114. void setup() {
  115.  
  116. // Nødvendigt for webmodul, fatter ikke hvorfor og havd der sker
  117.  
  118.  
  119. Serial.begin(9600);
  120. while (!Serial) {
  121. ; // wait for serial port to connect. Needed for native USB port only
  122. }
  123. Serial.println("Ethernet WebServer Example");
  124.  
  125. // start the Ethernet connection and the server:
  126. Ethernet.begin(mac, ip);
  127.  
  128. // Check for Ethernet hardware present
  129. if (Ethernet.hardwareStatus() == EthernetNoHardware) {
  130. Serial.println("Ethernet shield was not found. Sorry, can't run without hardware. :(");
  131. while (true) {
  132. delay(1); // do nothing, no point running without Ethernet hardware
  133. }
  134. }
  135. if (Ethernet.linkStatus() == LinkOFF) {
  136. Serial.println("Ethernet cable is not connected.");
  137. }
  138.  
  139. // start the server
  140. server.begin();
  141. Serial.print("server is at ");
  142. Serial.println(Ethernet.localIP());
  143.  
  144. // Web defination slut
  145.  
  146. // Definere idgange
  147.  
  148. pinMode(UdetemperaturPin, INPUT);
  149. pinMode(FremlobTilHusPin, INPUT);
  150. pinMode(ReturlobFraHusPin, INPUT);
  151. pinMode(TemperaturEfterVekslerPin, INPUT);
  152. pinMode(SoltankBundPin, INPUT);
  153. pinMode(SoltanMidtPin, INPUT);
  154. pinMode(SoltankTopPin, INPUT);
  155. pinMode(GulvvarmeFremPin, INPUT);
  156. pinMode(VVBTopPin, INPUT);
  157. pinMode(SolfangerManifolPin, INPUT);
  158. pinMode(SolfangerFremPin, INPUT);
  159. pinMode(SolfangerReturPin, INPUT);
  160. pinMode(GulvvarmeFremPin, INPUT) ;
  161. pinMode(inputCf, INPUT) ;
  162.  
  163. // Definerer udgange
  164.  
  165. pinMode(Cpumpe, OUTPUT);
  166. pinMode(Spumpe, OUTPUT);
  167. pinMode(Ventil1, OUTPUT);
  168. pinMode(Ventil2, OUTPUT);
  169. pinMode(VVBVentil, OUTPUT);
  170. pinMode(KVVentil, OUTPUT);
  171. pinMode(ElVandVVB, OUTPUT);
  172.  
  173. }
  174.  
  175.  
  176. void loop() {
  177.  
  178. // Udregner og definere temperature.
  179.  
  180. // T1 Udetemperatur
  181. V1 = analogRead(A1);
  182. R1 = R100 * (1023.0 / (float)V1 - 1.0);
  183. logR1 = log(R1);
  184. t1 = (1.0 / (c1 + c2 * logR1 + c3 * logR1 * logR1 * logR1));
  185. t1 = t1 - 273.15;
  186. t1 = (t1 * 9.0)/ 5.0 + 32.0;
  187. T1 = (t1-32)/1.8; //Udetemperatur
  188.  
  189. // T2 Fremløb til hus
  190. V2 = analogRead(A2);
  191. R2 = R100 * (1023.0 / (float)V2 - 1.0);
  192. logR2 = log(R2);
  193. t2 = (1.0 / (c1 + c2 * logR2 + c3 * logR2 * logR2 * logR2));
  194. t2 = t2 - 273.15;
  195. t2 = (t2 * 9.0)/ 5.0 + 32.0;
  196. T2 = (t2-32)/1.8; //Fremløb til hus
  197.  
  198. // T3 Returløb fra hus
  199. V3 = analogRead(A3);
  200. R3 = R100 * (1023.0 / (float)V3 - 1.0);
  201. logR3 = log(R3);
  202. t3 = (1.0 / (c1 + c2 * logR3 + c3 * logR3 * logR3 * logR3));
  203. t3 = t3 - 273.15;
  204. t3 = (t3 * 9.0)/ 5.0 + 32.0;
  205. T3 = (t3-32)/1.8; // Returløb fra hus
  206.  
  207. // T4 Rørtemperatur efter veksler
  208. V4 = analogRead(A4);
  209. R4 = R100 * (1023.0 / (float)V4 - 1.0);
  210. logR4 = log(R4);
  211. t4 = (1.0 / (c1 + c2 * logR4 + c3 * logR4 * logR4 * logR4));
  212. t4 = t4 - 273.15;
  213. t4 = (t4 * 9.0)/ 5.0 + 32.0;
  214. T4 = (t4-32)/1.8; //Rørtemperatur efter veksler
  215.  
  216.  
  217. // T5 Soltank bund
  218. V5 = analogRead(A5);
  219. R5 = R100 * (1023.0 / (float)V5 - 1.0);
  220. logR5 = log(R5);
  221. t5 = (1.0 / (c1 + c2 * logR5 + c3 * logR5 * logR5 * logR5));
  222. t5 = t5 - 273.15;
  223. t5 = (t5 * 9.0)/ 5.0 + 32.0;
  224. T5 = (t5-32)/1.8; //Soltank bund
  225.  
  226.  
  227. // T6 Soltank midt
  228. V6 = analogRead(A6);
  229. R6 = R100 * (1023.0 / (float)V6 - 1.0);
  230. logR6 = log(R6);
  231. t6 = (1.0 / (c1 + c2 * logR6 + c3 * logR6 * logR6 * logR6));
  232. t6 = t6 - 273.15;
  233. t6 = (t6 * 9.0)/ 5.0 + 32.0;
  234. T6 = (t6-32)/1.8; //Soltank midt
  235.  
  236.  
  237. // T7 Soltank top
  238. V7 = analogRead(A7);
  239. R7 = R100 * (1023.0 / (float)V7 - 1.0);
  240. logR7 = log(R7);
  241. t7 = (1.0 / (c1 + c2 * logR7 + c3 * logR7 * logR7 * logR7));
  242. t7 = t7 - 273.15;
  243. t7 = (t7 * 9.0)/ 5.0 + 32.0;
  244. T7 = (t7-32)/1.8; // Soltank top
  245.  
  246.  
  247. // T8 Fremløb fra fyr
  248. V8 = analogRead(A8);
  249. R8 = R100 * (1023.0 / (float)V8 - 1.0);
  250. logR8 = log(R8);
  251. t8 = (1.0 / (c1 + c2 * logR8 + c3 * logR8 * logR8 * logR8));
  252. t8 = t8 - 273.15;
  253. t8 = (t8 * 9.0)/ 5.0 + 32.0;
  254. T8 = (t8-32)/1.8; //Fremløb fra fyr
  255.  
  256.  
  257. //T9 Fremlob gulvvarme
  258. V9 = analogRead(A9);
  259. R9 = R100 * (1023.0 / (float)V9 - 1.0);
  260. logR9 = log(R9);
  261. t9 = (1.0 / (c1 + c2 * logR9 + c3 * logR9 * logR9 * logR9));
  262. t9 = t9 - 273.15;
  263. t9 = (t9 * 9.0)/ 5.0 + 32.0;
  264. T9 = (t9-32)/1.8; //Gulvvarmefremlæb
  265.  
  266.  
  267. // T10 VVB top
  268. V10 = analogRead(A10);
  269. R10 = R100 * (1023.0 / (float)V10 - 1.0);
  270. logR10 = log(R10);
  271. t10 = (1.0 / (c1 + c2 * logR10 + c3 * logR10 * logR10 * logR10));
  272. t10 = t10 - 273.15;
  273. t10 = (t10 * 9.0)/ 5.0 + 32.0;
  274. T10 = (t10-32)/1.8; //VVB top
  275.  
  276.  
  277. // T11 VVB bund
  278. V11 = analogRead(A11);
  279. R11 = R100 * (1023.0 / (float)V11 - 1.0);
  280. logR11 = log(R11);
  281. t11 = (1.0 / (c1 + c2 * logR11 + c3 * logR11 * logR11 * logR11));
  282. t11 = t11 - 273.15;
  283. t11 = (t11 * 9.0)/ 5.0 + 32.0;
  284. T11 = (t11-32)/1.8; //VVB bund
  285.  
  286.  
  287. // T12 Solfanger manifol
  288. V12 = analogRead(A12);
  289. R12 = R100 * (1023.0 / (float)V12 - 1.0);
  290. logR12 = log(R12);
  291. t12 = (1.0 / (c1 + c2 * logR12 + c3 * logR12 * logR12 * logR12));
  292. t12 = t12 - 273.15;
  293. t12 = (t12 * 9.0)/ 5.0 + 32.0;
  294. T12 = (t12-32)/1.8; // Solfanger manifol
  295.  
  296.  
  297. // T13 Solvarme fremløb
  298. V13 = analogRead(A13);
  299. R13 = R100 * (1023.0 / (float)V13 - 1.0);
  300. logR13 = log(R13);
  301. t13 = (1.0 / (c1 + c2 * logR13 + c3 * logR13 * logR13 * logR13));
  302. t13 = t13 - 273.15;
  303. t13 = (t13 * 9.0)/ 5.0 + 32.0;
  304. T13 = (t13-32)/1.8; // Solvarme fremløb
  305.  
  306.  
  307. // T14 Solvarme retur
  308. V14 = analogRead(A14);
  309. R14 = R100 * (1023.0 / (float)V14 - 1.0);
  310. logR14 = log(R14);
  311. t14 = (1.0 / (c1 + c2 * logR14 + c3 * logR14 * logR14 * logR14));
  312. t14 = t14 - 273.15;
  313. t14 = (t14 * 9.0)/ 5.0 + 32.0;
  314. T14 = (t14-32)/1.8; //Solvarme retur
  315.  
  316. // T15
  317. // V15 = analogRead(A15);
  318. // R15 = R100 * (1023.0 / (float)V15 - 1.0);
  319. // logR15 = log(R15);
  320. // t15 = (1.0 / (c1 + c2 * logR15 + c3 * logR15 * logR15 * logR15));
  321. // t15 = t15 - 273.15;
  322. // t15 = (t15 * 9.0)/ 5.0 + 32.0;
  323. // T15 = (t15-32)/1.8;
  324.  
  325.  
  326. // Input temperature færdig
  327.  
  328. // Udregner differancer
  329.  
  330. T20 = T2-T3; // Forskel frem og returløb til hus
  331.  
  332. T22 = T4-T3; // Forskel retur fra hus og efter veksler
  333.  
  334. T23 = T4-T7; // Forskel veksler og soltank
  335.  
  336. // Beregner flow centralvarme
  337. if(digitalRead(inputCf) > varCf)
  338. {
  339. varCf = 1;
  340. pulseCf++;
  341. }
  342.  
  343. if(digitalRead(inputCf) == 0) {varCf = 0;}
  344.  
  345. tidCf = tidCf + 1;
  346.  
  347. if(tidCf == 1000){
  348. Serial.print(pulseCf);
  349. Serial.print(F(" pulse"));
  350.  
  351. // Put an "s" if the amount of pulses is greater than 1.
  352. if(pulseCf > 1) {Serial.print(F("s"));}
  353.  
  354. Serial.println(F(" detected pr/s."));
  355.  
  356. qC = ((8.1*pulseCf)/100);
  357. qCt = qC*60;
  358. Heffekt = ((T2-T3)*(4200/3600))*(qC*60);
  359.  
  360. if(qC == 5/3){
  361. qC = 0;
  362. Heffekt = 0;
  363. }
  364.  
  365.  
  366.  
  367.  
  368. Serial.print(qC);
  369. Serial.println(" L/min");
  370. Serial.print(Heffekt);
  371. Serial.println(" W");
  372. pulseCf = 0;
  373. tidCf = 0;
  374.  
  375.  
  376. JouleC = (42*(T2-T3)*(qC/60));
  377. Serial.print(JouleC);
  378. Serial.println(" joule ... Watt");
  379. Serial.println(" ");
  380. }
  381. delay(1); // Delay for stability.
  382.  
  383.  
  384.  
  385.  
  386. // Definere Web modul, fatter ikke en skid af hvad der sker men det virker
  387.  
  388. // listen for incoming clients
  389. EthernetClient client = server.available();
  390. if (client) {
  391. Serial.println("new client");
  392. // an http request ends with a blank line
  393. bool currentLineIsBlank = true;
  394. while (client.connected()) {
  395. if (client.available()) {
  396. char c = client.read();
  397. Serial.write(c);
  398. // if you've gotten to the end of the line (received a newline
  399. // character) and the line is blank, the http request has ended,
  400. // so you can send a reply
  401. if (c == '\n' && currentLineIsBlank) {
  402. // send a standard http response header
  403. client.println("HTTP/1.1 200 OK");
  404. client.println("Content-Type: text/html");
  405. client.println("Connection: close"); // the connection will be closed after completion of the response
  406. client.println("Refresh: 5"); // refresh the page automatically every 1 sec
  407. client.println();
  408. client.println("<!DOCTYPE HTML>");
  409. client.println("<html>");
  410.  
  411. // Skriver til web modul
  412.  
  413. // Udskriver alle temparature
  414.  
  415. client.print("Udetemperatur........................T1= ");
  416. client.print(T1, 1);
  417. client.println("<br />");
  418. client.print("Fremlob til hus.......................T2= ");
  419. client.print(T2, 1);
  420. client.println("<br />");
  421. client.print("Returlob fra hus......................T3= ");
  422. client.print(T3, 1);
  423. client.println("<br />");
  424. client.print("Rortemperatur efter veksler....T4= ");
  425. client.print(T4, 1);
  426. client.println("<br />");
  427. client.print("Soltank bund...........................T5= ");
  428. client.print(T5, 1);
  429. client.println("<br />");
  430. client.print("Soltank midt............................T6= ");
  431. client.print(T6,1);
  432. client.println("<br />");
  433. client.print("Soltank top..............................T7= ");
  434. client.print(T7, 1);
  435. client.println("<br />");
  436. client.print("Fremlob fra fyr........................T8= ");
  437. client.print(T8, 1);
  438. client.println("<br />");
  439. client.print("Fremlob gulvvarme...................T9= ");
  440. client.print(T9, 1);
  441. client.println("<br />");
  442. client.print("VVB top................................T10= ");
  443. client.print(T10, 1);
  444. client.println("<br />");
  445. client.print("VVB bund.............................T11= ");
  446. client.print(T11, 1);
  447. client.print(" / ");
  448. client.print(T70);
  449. client.println("<br />");
  450. client.print("Solfanger manifol..................T12= ");
  451. client.print(T12, 1);
  452. client.println("<br />");
  453. client.print("Solvarme fremlob..................T13= ");
  454. client.print(T13, 1);
  455. client.println("<br />");
  456. client.print("Solvarme retur.......................T14= ");
  457. client.print(T14, 1);
  458. client.println("<br />");
  459. client.println("<br />");
  460.  
  461. client.print("Varmestyring temperature og status");
  462. client.println("<br />");
  463. client.println("<br />");
  464. client.print("Differancetemperatur frem og retur hus........................................T20= ");
  465. client.print(T20);
  466. client.println("<br />");
  467. client.print("Differancetemperatur fra hus og efter veksler...............................T22= ");
  468. client.print(T22);
  469. client.println("<br />");
  470. client.print("Temperaturdifferance for ind og udkobling af soltank...........T60/T61= ");
  471. client.print(T60);
  472. client.print(" / ");
  473. client.print(T61);
  474. client.println("<br />");
  475. client.print("Differancetemperatur veksler og soltank ............................T23= ");
  476. client.print(T23);
  477. client.println("<br />");
  478. client.println("<br />");
  479.  
  480. client.print("Status Cirkulationspumpe ");
  481. client.print(CpumpeS);
  482. client.println("<br />");
  483.  
  484. client.print("Bypass ventil ");
  485. client.print(Ventil1S);
  486. client.println("<br />");
  487.  
  488.  
  489. client.print("Status Ventil VVB ");
  490. client.print(VVBVentilS);
  491. client.println("<br />");
  492.  
  493. client.print("Fyr drift ");
  494. client.print(FyrDriftS);
  495. client.println("<br />");
  496.  
  497. // Skriver status på centralvarme system.
  498.  
  499.  
  500.  
  501. client.println("<br />");
  502.  
  503.  
  504.  
  505. client.println("</html>");
  506. break;
  507. }
  508. if (c == '\n') {
  509. // you're starting a new line
  510. currentLineIsBlank = true;
  511. } else if (c != '\r') {
  512. // you've gotten a character on the current line
  513. currentLineIsBlank = false;
  514. }
  515. }
  516. }
  517. // give the web browser time to receive the data
  518. delay(1);
  519. // close the connection:
  520.  
  521. Serial.println("client disconnected");
  522. }
  523.  
  524. // Webmodul slut, fatter ikke det hele
  525.  
  526.  
  527. // LOGIK til styring af funktioner
  528.  
  529.  
  530. // Cirkulationspumpe for stuehus
  531.  
  532. // Start cirkulationspumpe for stuehus hvis en af varmekilder er over T41
  533. if ((T2 > T41) || (T4 > T41) || (T7 > T41) || (T8 > T41)) {
  534. CpumpeOn();
  535. T70 = 50; // Sætter ønsket VVB temperatur til 50 grader
  536. }
  537.  
  538.  
  539. // Slukker centralvarmepumpe hvis alle varmekilder er startpunkt - 3 fremløb er under setpunkt og differance mellem frem og retur er under 5 grader
  540. if (((T2 < T42) && (T4 < (T41 - 3)) && (T7 < (T41 -3)) && (T8 - 3))&& (( T2- T3) < 5))
  541. {
  542. CpumpeOff();
  543. T70 = 10; // Sætter ønsket VVB temperatur til 10 grader
  544. }
  545.  
  546.  
  547. // Styring af bypass ventil for bypass af soltank
  548.  
  549. // Aktiverer ByPass når vekslertemperatur er mere end 2 grader varmere end beholdertop
  550.  
  551. if ((T4 > (T7 + 2)) and (T4 > (T8 + 2))) {
  552. Ventil1On();
  553.  
  554. }
  555.  
  556.  
  557. // Slukker ByPass når tanker eller fyr er varmere end vekslertemperatur
  558. if ((T4 < T7) and (T4 < T8)) {
  559. Ventil1Off();
  560. }
  561.  
  562.  
  563.  
  564. // Styring af VVB
  565.  
  566. // Indkobler telestat for VVB
  567.  
  568. // Hvis bunden af VVBèn er mindre end setpunkt og fremløb til huset er varmt nok aktiver telestaten.
  569.  
  570. if ((T11 < (T70 - T71)) && (T2 > (T11 + T71))) {
  571.  
  572. VVBVentilOn(); //Kalder start af VVB ventil
  573. }
  574.  
  575.  
  576.  
  577.  
  578. // Slukker VVB ventil hvis VVB temperatur når setpunkt +3 eller fremløb ikke er 3 grader varmere end VVB
  579.  
  580. if ((( T11 > (T70 + T71))) || ((T2 + T71) < T11)) {
  581. VVBVentilOff() ; // Kalder stop af VVB ventil
  582.  
  583.  
  584. }
  585.  
  586. client.stop();
  587. } // Afslutter loop
  588.  
  589.  
  590.  
  591.  
  592. // Betjener udgange for cirkulationspumpe
  593.  
  594. // Starter cirkulationspumpe
  595. void CpumpeOn() {
  596. forsinkelse2++;
  597. if(forsinkelse2 > 500){
  598. digitalWrite(Cpumpe, HIGH); // Trækker udgang for centralvarme pumpe
  599. CpumpeS = 1; // Sætter centralvarmepumpe til status 1/ON
  600. }
  601. }
  602.  
  603. // Stopper cirkulationspumpe
  604. void CpumpeOff() {
  605.  
  606. {
  607. digitalWrite(Cpumpe, LOW); // Slukker udgang for centralvarmepumpe
  608. CpumpeS = 0; // Sætter centralvarmepumpe til status 0/OFF
  609. }
  610. }
  611.  
  612. // Betjener udgang for ByPass ventil
  613.  
  614. // Aktiverer bypassventil
  615.  
  616. void Ventil1On(){
  617.  
  618. digitalWrite(Ventil1, HIGH);
  619. Ventil1S = 1;
  620. }
  621.  
  622.  
  623. // Slukker Bypassventil
  624. void Ventil1Off(){
  625.  
  626. digitalWrite(Ventil1, LOW);
  627. Ventil1S = 0;
  628. }
  629.  
  630.  
  631.  
  632. // Aktiverer vvb
  633.  
  634. void VVBVentilOn() {
  635. digitalWrite(VVBVentil, HIGH); // Trækker udgang for relæ til telestat for VVB
  636. VVBVentilS = 1; // Sætter status på VVB telestat
  637.  
  638.  
  639. }
  640.  
  641. // Afbryder vvb
  642.  
  643. void VVBVentilOff() {
  644. digitalWrite(VVBVentil, LOW); // Slukker udgang for relæ til telestat for VVB
  645. VVBVentilS = 0; // Sætter status på VVB talestat til 0
  646.  
  647. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement