{"id":110,"date":"2015-12-02T18:49:40","date_gmt":"2015-12-02T15:49:40","guid":{"rendered":"http:\/\/arduinolab.pw\/?p=110"},"modified":"2016-07-05T07:52:06","modified_gmt":"2016-07-05T04:52:06","slug":"dvuxkanalnyj-termostat-na-arduino-kod-iz-video","status":"publish","type":"post","link":"https:\/\/arduinolab.pw\/index.php\/2015\/12\/02\/dvuxkanalnyj-termostat-na-arduino-kod-iz-video\/","title":{"rendered":"\u0414\u0432\u0443\u0445\u043a\u0430\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u0440\u043c\u043e\u0441\u0442\u0430\u0442 \u043d\u0430 Arduino, \u043a\u043e\u0434 \u0438\u0437 \u0432\u0438\u0434\u0435\u043e"},"content":{"rendered":"<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/y62Ps_D9B1M\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p><!--more--><\/p>\n<p>\u043a\u043e\u0434 \u0438\u0437 \u0432\u0438\u0434\u0435\u043e<\/p><div class=\"trzkw6ab49c7688efd\" ><hr>\n<!-- Yandex.RTB R-A-1793072-2 -->\n<div id=\"yandex_rtb_R-A-1793072-2\"><\/div>\n<script>window.yaContextCb.push(()=>{\n  Ya.Context.AdvManager.render({\n    renderTo: 'yandex_rtb_R-A-1793072-2',\n    blockId: 'R-A-1793072-2'\n  })\n})<\/script><\/div><style type=\"text\/css\">\r\n@media screen and (min-width: 1201px) {\r\n.trzkw6ab49c7688efd {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (min-width: 993px) and (max-width: 1200px) {\r\n.trzkw6ab49c7688efd {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (min-width: 769px) and (max-width: 992px) {\r\n.trzkw6ab49c7688efd {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (min-width: 768px) and (max-width: 768px) {\r\n.trzkw6ab49c7688efd {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (max-width: 767px) {\r\n.trzkw6ab49c7688efd {\r\ndisplay: block;\r\n}\r\n}\r\n<\/style>\r\n\n<pre><span style=\"color: #7e7e7e;\">\/\/\u00a0\u0442\u0435\u0440\u043c\u043e\u0441\u0442\u0430\u0442,\u00a0\u043e\u0434\u0438\u043d\u00a0\u0434\u0430\u0442\u0447\u0438\u043a\u00a0DS18B20,\u00a0\u0434\u0432\u0430\u00a0\u0432\u044b\u0445\u043e\u0434\u0430<\/span>\r\n<span style=\"color: #7e7e7e;\">\/\/\u00a0\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 http:\/\/youtu.be\/y62Ps_D9B1M<\/span>\r\n<span style=\"color: #7e7e7e;\">\/\/<\/span>\r\n<span style=\"color: #7e7e7e;\">\/\/\u00a0\u00a0v\u00a00.1\u00a0beta<\/span>\r\n\r\n#include\u00a0&lt;<span style=\"color: #cc6600;\">EEPROM<\/span>.h&gt;\r\n#include\u00a0&lt;<span style=\"color: #cc6600;\">OneWire<\/span>.h&gt;\r\n#include\u00a0&lt;<span style=\"color: #cc6600;\">LiquidCrystal<\/span>.h&gt;\r\n\r\n#define\u00a0OUT1\u00a02\u00a0<span style=\"color: #7e7e7e;\">\/\/ \u0432\u044b\u0445\u043e\u0434\u044b \u0434\u043b\u044f \u0440\u0435\u043b\u0435 <\/span>\r\n#define\u00a0OUT2\u00a03\r\n\r\n<span style=\"color: #cc6600;\">byte<\/span> tempOUT1, tempOUT2;\r\n\r\n<span style=\"color: #cc6600;\">LiquidCrystal<\/span> lcd(8, 9, 4, 5, 6, 7);\r\n<span style=\"color: #cc6600;\">OneWire<\/span>  ds(11); <span style=\"color: #7e7e7e;\">\/\/ 11 \u0432\u0445\u043e\u0434 \u0434\u0430\u0442\u0447\u0438\u043a\u0430 18b20<\/span>\r\n\r\n<span style=\"color: #cc6600;\">byte<\/span> gradus[8] = {\r\n\u00a0\u00a00b00110,\r\n\u00a0\u00a00b01001,\r\n\u00a0\u00a00b01001,\r\n\u00a0\u00a00b00110,\r\n\u00a0\u00a00b00000,\r\n\u00a0\u00a00b00000,\r\n\u00a0\u00a00b00000,\r\n\u00a0\u00a00b00000\r\n};\r\n\r\n\r\n<span style=\"color: #cc6600;\">void<\/span> erorr(){ <span style=\"color: #7e7e7e;\">\/\/ \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0438 \u0441\u0438\u0433\u043d\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043e\u0448\u0438\u0431\u043a\u0443<\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">digitalWrite<\/span>(OUT1, <span style=\"color: #006699;\">LOW<\/span>); <span style=\"color: #7e7e7e;\">\/\/ \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0440\u0435\u043b\u0435<\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">digitalWrite<\/span>(OUT2, <span style=\"color: #006699;\">LOW<\/span>);\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">while<\/span>(1){ <span style=\"color: #7e7e7e;\">\/\/ \u043a\u0440\u0443\u0442\u0438\u043c \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0446\u0438\u043a\u043b<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">digitalWrite<\/span>(13, !<span style=\"color: #cc6600;\">digitalRead<\/span>(13));\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">delay<\/span>(500);\r\n\u00a0\u00a0\u00a0\u00a0}\u00a0\u00a0\r\n}\r\n<span style=\"color: #7e7e7e;\">\/\/\/\/<\/span>\r\n\r\n<span style=\"color: #cc6600;\">byte<\/span> key(){ <span style=\"color: #7e7e7e;\">\/\/\/\/ \u0434\u043b\u044f \u043a\u043d\u043e\u043f\u043e\u043a \u041b\u0421\u0414\u0448\u0438\u043b\u0434\u0430<\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">int<\/span> val = <span style=\"color: #cc6600;\">analogRead<\/span>(0);\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (val &lt; 50) <span style=\"color: #cc6600;\">return<\/span> 5;\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> <span style=\"color: #cc6600;\">if<\/span> (val &lt; 150) <span style=\"color: #cc6600;\">return<\/span> 3;\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> <span style=\"color: #cc6600;\">if<\/span> (val &lt; 350) <span style=\"color: #cc6600;\">return<\/span> 4;\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> <span style=\"color: #cc6600;\">if<\/span> (val &lt; 500) <span style=\"color: #cc6600;\">return<\/span> 2;\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> <span style=\"color: #cc6600;\">if<\/span> (val &lt; 800) <span style=\"color: #cc6600;\">return<\/span> 1;\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> <span style=\"color: #cc6600;\">return<\/span> 0;  \r\n}\r\n<span style=\"color: #7e7e7e;\">\/\/\/\/<\/span>\r\n\r\n<span style=\"color: #cc6600;\">void<\/span> setMenu(){ <span style=\"color: #7e7e7e;\">\/\/ \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b <\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">byte<\/span> pos;    \r\n\u00a0\u00a0<span style=\"color: #cc6600;\">digitalWrite<\/span>(OUT1, <span style=\"color: #006699;\">LOW<\/span>); <span style=\"color: #7e7e7e;\">\/\/ \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0440\u0435\u043b\u0435<\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">digitalWrite<\/span>(OUT2, <span style=\"color: #006699;\">LOW<\/span>);\r\n\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">clear<\/span>(); \r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">setCursor<\/span>(0, 0); <span style=\"color: #7e7e7e;\">\/\/ \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u043e\u0434\u0438\u043d \u0440\u0430\u0437<\/span>\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"OUT1: \"<\/span>);\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">setCursor<\/span>(0, 1);\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"OUT2: \"<\/span>);\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">blink<\/span>();\r\n\u00a0\u00a0\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">while<\/span>(1){ <span style=\"color: #7e7e7e;\">\/\/ \u043a\u0440\u0443\u0442\u0438\u043c \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0439 \u0446\u0438\u043a\u043b      <\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">byte<\/span> KEY = key(); <span style=\"color: #7e7e7e;\">\/\/ \u0447\u0438\u0442\u0430\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043a\u043d\u043e\u043f\u043e\u043a<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">setCursor<\/span>(6, 0); <span style=\"color: #7e7e7e;\">\/\/ \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u043d\u0430 \u044d\u043a\u0440\u0430\u043d<\/span>\r\n\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(tempOUT1);\r\n\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">write<\/span>(1);\r\n\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"C  \"<\/span>);\r\n\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">setCursor<\/span>(6, 1);\r\n\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(tempOUT2);    \r\n\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">write<\/span>(1);\r\n\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"C  \"<\/span>);\r\n\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/\/\/\/\/ \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043a\u043d\u043e\u043f\u043e\u043a <\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (pos == 0){  <span style=\"color: #7e7e7e;\">\/\/ \u0435\u0441\u043b\u0438 \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u043f\u043e\u0437\u0438\u0446\u0438\u0438<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">setCursor<\/span>(5, 0); <span style=\"color: #7e7e7e;\">\/\/ \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043a\u0443\u0440\u0441\u043e\u0440<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (KEY == 2) { <span style=\"color: #7e7e7e;\">\/\/ \u0435\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0430<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0tempOUT1--;\u00a0\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">EEPROM<\/span>.<span style=\"color: #cc6600;\">write<\/span>(1, tempOUT1); <span style=\"color: #7e7e7e;\">\/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0432 \u0435\u0435\u043f\u0440\u043e\u043c<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> <span style=\"color: #cc6600;\">if<\/span> (KEY == 5){\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0tempOUT1++;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">EEPROM<\/span>.<span style=\"color: #cc6600;\">write<\/span>(1, tempOUT1);     \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0}\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (pos == 1){ \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">setCursor<\/span>(5, 1);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (KEY == 2) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0tempOUT2--;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">EEPROM<\/span>.<span style=\"color: #cc6600;\">write<\/span>(2, tempOUT2);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> <span style=\"color: #cc6600;\">if<\/span> (KEY == 5){\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0tempOUT2++;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">EEPROM<\/span>.<span style=\"color: #cc6600;\">write<\/span>(2, tempOUT2);     \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0}\r\n\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (KEY == 3) pos--; <span style=\"color: #7e7e7e;\">\/\/ \u043a\u0440\u0443\u0442\u0438\u043c \u043f\u043e\u0437\u0438\u0446\u0438\u044e<\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> <span style=\"color: #cc6600;\">if<\/span> (KEY == 4) pos++;    \r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (pos &gt; 1) pos = 0; \r\n\u00a0\r\n\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">delay<\/span>(200);\r\n\u00a0\u00a0}\r\n}\r\n\r\n<span style=\"color: #cc6600;\">float<\/span> getTemp(){   <span style=\"color: #7e7e7e;\">\/\/ \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0443 \u0441 \u0434\u0430\u0442\u0447\u0438\u043a\u0430<\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">byte<\/span> data[12];   <span style=\"color: #7e7e7e;\">\/\/ \u0438 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u043d\u0430 \u0441\u0435\u043a\u0443\u043d\u0434\u0443<\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">byte<\/span> addr[8];  \r\n\u00a0\u00a0\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (!ds.<span style=\"color: #cc6600;\">search<\/span>(addr)) {\r\n\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">clear<\/span>();\r\n\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"No sensor.\"<\/span>); \r\n\u00a0\u00a0\u00a0\u00a0erorr();\u00a0\r\n\u00a0\u00a0}\r\n\u00a0\u00a0\r\n\u00a0\u00a0ds.<span style=\"color: #cc6600;\">reset_search<\/span>(); \r\n\u00a0\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (<span style=\"color: #cc6600;\">OneWire<\/span>::<span style=\"color: #cc6600;\">crc8<\/span>(addr, 7) != addr[7]) {\r\n\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">clear<\/span>();\r\n\u00a0\u00a0\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"Sensor CRC erorr\"<\/span>);\r\n\u00a0\u00a0\u00a0\u00a0erorr();\u00a0\u00a0\u00a0\r\n\u00a0\u00a0}\r\n\u00a0\u00a0\r\n\u00a0\u00a0ds.<span style=\"color: #cc6600;\">reset<\/span>();            \r\n\u00a0\u00a0ds.<span style=\"color: #cc6600;\">select<\/span>(addr);        \r\n\u00a0\u00a0ds.<span style=\"color: #cc6600;\">write<\/span>(0x44);      \r\n\u00a0\u00a0<span style=\"color: #cc6600;\">delay<\/span>(1000);   \r\n\u00a0\u00a0\r\n\u00a0\u00a0ds.<span style=\"color: #cc6600;\">reset<\/span>();\r\n\u00a0\u00a0ds.<span style=\"color: #cc6600;\">select<\/span>(addr);    \r\n\u00a0\u00a0ds.<span style=\"color: #cc6600;\">write<\/span>(0xBE);          \r\n\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">for<\/span> (<span style=\"color: #cc6600;\">int<\/span> i = 0; i &lt; 9; i++) data[i] = ds.<span style=\"color: #cc6600;\">read<\/span>(); \r\n\u00a0\u00a0<span style=\"color: #cc6600;\">int<\/span> raw = (data[1] &lt;&lt; 8) | data[0]; <span style=\"color: #7e7e7e;\">\/\/ \u041f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c \u0432 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0443   <\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (data[7] == 0x10) raw = (raw &amp; 0xFFF0) + 12 - data[6];  \r\n\u00a0\u00a0\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">return<\/span> raw \/ 16.0;\r\n}\r\n\r\n<span style=\"color: #cc6600;\">void<\/span> <span style=\"color: #cc6600;\"><b>setup<\/b><\/span>() {\r\n<span style=\"color: #7e7e7e;\">\/\/\u00a0\u00a0Serial.begin(9600);\u00a0<\/span>\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">createChar<\/span>(1, gradus);\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">begin<\/span>(16, 2);\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">clear<\/span>();\r\n\u00a0\u00a0\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">pinMode<\/span>(13, <span style=\"color: #006699;\">OUTPUT<\/span>); \r\n\u00a0\u00a0<span style=\"color: #cc6600;\">pinMode<\/span>(OUT1, <span style=\"color: #006699;\">OUTPUT<\/span>);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">pinMode<\/span>(OUT2, <span style=\"color: #006699;\">OUTPUT<\/span>);\r\n\u00a0\u00a0\r\n\u00a0\u00a0tempOUT1\u00a0=\u00a0<span style=\"color: #cc6600;\">EEPROM<\/span>.<span style=\"color: #cc6600;\">read<\/span>(1); <span style=\"color: #7e7e7e;\">\/\/ \u0447\u0438\u0442\u0430\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 <\/span>\r\n\u00a0\u00a0tempOUT2\u00a0=\u00a0<span style=\"color: #cc6600;\">EEPROM<\/span>.<span style=\"color: #cc6600;\">read<\/span>(2); <span style=\"color: #7e7e7e;\">\/\/ \u0438\u0437 \u0435\u0435\u043f\u0440\u043e\u043c<\/span>\r\n}\r\n\r\n<span style=\"color: #cc6600;\">void<\/span> <span style=\"color: #cc6600;\"><b>loop<\/b><\/span>() {  \r\n\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (key() == 1) setMenu(); <span style=\"color: #7e7e7e;\">\/\/ \u0435\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u0430 \u0441\u0435\u043b\u0435\u043a\u0442, \u0443\u0445\u043e\u0434\u0438\u043c \u0432 \u043c\u0435\u043d\u044e<\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> <span style=\"color: #cc6600;\">if<\/span> (key() == 4) <span style=\"color: #cc6600;\">analogWrite<\/span>(10, 20); <span style=\"color: #7e7e7e;\">\/\/ \u0435\u0441\u043b\u0438 \u0432\u043d\u0438\u0437, \u0433\u043b\u0443\u0448\u0438\u043c \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0443<\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> <span style=\"color: #cc6600;\">if<\/span> (key() == 3) <span style=\"color: #cc6600;\">digitalWrite<\/span>(10, <span style=\"color: #006699;\">HIGH<\/span>);\r\n\u00a0\u00a0\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">float<\/span> <span style=\"color: #cc6600;\">temperature<\/span> = getTemp(); <span style=\"color: #7e7e7e;\">\/\/ \u0447\u0438\u0442\u0430\u0435\u043c \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0443<\/span>\r\n\u00a0\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (<span style=\"color: #cc6600;\">temperature<\/span> &lt; tempOUT1) <span style=\"color: #cc6600;\">digitalWrite<\/span>(OUT1, <span style=\"color: #006699;\">HIGH<\/span>); <span style=\"color: #7e7e7e;\">\/\/ \u0441\u0432\u0435\u0440\u044f\u0435\u043c \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0443 <\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> <span style=\"color: #cc6600;\">digitalWrite<\/span>(OUT1, <span style=\"color: #006699;\">LOW<\/span>);                         <span style=\"color: #7e7e7e;\">\/\/ \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0432\u044b\u0445\u043e\u0434\u0430\u043c\u0438<\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (<span style=\"color: #cc6600;\">temperature<\/span> &lt; tempOUT2) <span style=\"color: #cc6600;\">digitalWrite<\/span>(OUT2, <span style=\"color: #006699;\">HIGH<\/span>);\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> <span style=\"color: #cc6600;\">digitalWrite<\/span>(OUT2, <span style=\"color: #006699;\">LOW<\/span>);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">setCursor<\/span>(0, 0); <span style=\"color: #7e7e7e;\">\/\/\/ \u0432\u044b\u0432\u043e\u0434 \u0438\u043d\u0444\u044b \u043d\u0430 \u044d\u043a\u0440\u0430\u043d<\/span>\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"1:\"<\/span>);\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(tempOUT1);\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">write<\/span>(1);\r\n<span style=\"color: #7e7e7e;\">\/\/\u00a0\u00a0lcd.print(\"C\");<\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (<span style=\"color: #cc6600;\">digitalRead<\/span>(OUT1)) lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\" ON \"<\/span>); <span style=\"color: #7e7e7e;\">\/\/ \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0432\u044b\u0445\u043e\u0434\u0430<\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\" OFF\"<\/span>);\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">setCursor<\/span>(0, 1);\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"2:\"<\/span>);\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(tempOUT2);\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">write<\/span>(1);\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (<span style=\"color: #cc6600;\">digitalRead<\/span>(OUT2)) lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\" ON \"<\/span>);\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\" OFF\"<\/span>);    \r\n\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">setCursor<\/span>(9, 0); <span style=\"color: #7e7e7e;\">\/\/ \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0443 \u0441 \u0434\u0430\u0442\u0447\u0438\u043a\u0430<\/span>\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"|\"<\/span>); \r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #cc6600;\">temperature<\/span>, 1);\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">write<\/span>(1);\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"C\"<\/span>);\r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">setCursor<\/span>(9, 1);     \r\n\u00a0\u00a0lcd.<span style=\"color: #cc6600;\">print<\/span>(<span style=\"color: #006699;\">\"|\"<\/span>);  \r\n}\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[57,2],"tags":[5],"class_list":["post-110","post","type-post","status-publish","format-standard","hentry","category-arduino","category-project","tag-ds18b20"],"_links":{"self":[{"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/posts\/110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/comments?post=110"}],"version-history":[{"count":0,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/posts\/110\/revisions"}],"wp:attachment":[{"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/media?parent=110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/categories?post=110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/tags?post=110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}