{"id":67569,"date":"2019-11-20T19:17:00","date_gmt":"2019-11-20T13:17:00","guid":{"rendered":"http:\/\/rcl-radio.ru\/?p=67569"},"modified":"2022-01-09T14:11:11","modified_gmt":"2022-01-09T08:11:11","slug":"%d0%b8%d0%bd%d1%82%d0%b5%d1%80%d0%bd%d0%b5%d1%82-%d1%87%d0%b0%d1%81%d1%8b-esp8622-lcd1602_i2c","status":"publish","type":"post","link":"http:\/\/rcl-radio.ru\/?p=67569","title":{"rendered":"\u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0447\u0430\u0441\u044b ESP8266 + LCD1602_I2C"},"content":{"rendered":"<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/6342789623.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-67573\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/6342789623.png\" alt=\"\" width=\"553\" height=\"253\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/6342789623.png 840w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/6342789623-200x92.png 200w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/6342789623-500x229.png 500w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/6342789623-768x352.png 768w\" sizes=\"auto, (max-width: 553px) 100vw, 553px\" \/><\/a><\/p>\n<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 NTP-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043b\u0443\u0447\u0448\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 ESP8266 Nodemcu \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0447\u0430\u0441\u044b. \u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0438 \u0434\u0430\u0442\u0430 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u0434\u0438\u0441\u043f\u043b\u0435\u0439 LCD1602 \u043d\u0430 \u0431\u0430\u0437\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 HD44780 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e I2C \u043c\u043e\u0434\u0443\u043b\u0435\u043c \u043d\u0430 \u0431\u0430\u0437\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c PCF8574 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u0438\u0441\u043f\u043b\u0435\u0439 \u043a \u043f\u043b\u0430\u0442\u0435 ESP8266 NodeMCU \u0432\u0441\u0435\u0433\u043e \u043f\u043e \u0434\u0432\u0443\u043c \u043f\u0440\u043e\u0432\u043e\u0434\u0430\u043c SDA \u0438 SCL (D2 \u0438 D1).<\/p>\n<p>\u041f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c \u043a\u0430\u043a \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0447\u0430\u0441\u043e\u0432 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u0441\u044f \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0441\u0442\u0430\u0442\u044c\u044f\u043c\u0438:<\/p>\n<ul>\n<li><strong><a href=\"http:\/\/rcl-radio.ru\/?p=67558\">\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 LCD1602 (2004) \u043a ESP8266 NodeMCU<\/a><\/strong><\/li>\n<li><strong><a href=\"http:\/\/rcl-radio.ru\/?p=48790\">wi-fi \u043c\u043e\u0434\u0443\u043b\u044c NodeMcu v3 \u0441 \u0447\u0438\u043f\u043e\u043c ESP8266 (ESP-12e)(Arduino IDE)<\/a><\/strong><\/li>\n<\/ul>\n<p>\u0422\u0430\u043a \u0436\u0435 \u0412\u0430\u043c\u00a0 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438<\/p>\n<ul>\n<li><strong><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/ntpclientmaster.zip\">ntpclient_master<\/a>.zip<\/strong><\/li>\n<li><strong><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/I2C-LCD-ESP8266-Library.zip\">LCD-ESP8266-Library<\/a>.zip<\/strong><\/li>\n<\/ul>\n<div id=\"marketWidget\"><\/div>\n<pre class=\"actionscript\" style=\"font-family: monospace; font-size: 10px;\"><span style=\"color: #808080; font-style: italic;\">#include &lt;NTPClient.h&gt;<\/span>\r\n<span style=\"color: #808080; font-style: italic;\">#include &lt;ESP8266WiFi.h&gt; <\/span>\r\n<span style=\"color: #808080; font-style: italic;\">#include &lt;WiFiUdp.h&gt; <\/span>\r\n<span style=\"color: #808080; font-style: italic;\">#include &lt;Wire.h&gt; <\/span>\r\n<span style=\"color: #808080; font-style: italic;\">#include &lt;LiquidCrystal_I2C.h&gt;<\/span>\r\n LiquidCrystal_I2C lcd<span style=\"color: #66cc66;\">(<\/span>0x27,<span style=\"color: #cc66cc;\">16<\/span>,<span style=\"color: #cc66cc;\">2<\/span><span style=\"color: #66cc66;\">)<\/span>;  <span style=\"color: #808080; font-style: italic;\">\/\/ \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0434\u0438\u0441\u043f\u043b\u0435\u0439<\/span>\r\n WiFiUDP ntpUDP;\r\n      \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/  https:\/\/www.ntppool.org\/zone\/@ - \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430  \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\r\n      \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ \u0434\u043b\u044f \u0420\u043e\u0441\u0441\u0438\u0438 - ru.pool.ntp.org \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\r\n NTPClient timeClient<span style=\"color: #66cc66;\">(<\/span>ntpUDP, <span style=\"color: #ff0000;\">\"pool.ntp.org\"<\/span>, <span style=\"color: #cc66cc;\">21600,3600123<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #808080; font-style: italic;\">\/\/ 21600 - \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0441\u0434\u0432\u0438\u0433 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445 \u043e\u0442 UTC <\/span>\r\n const char <span style=\"color: #66cc66;\">*<\/span>ssid = <span style=\"color: #ff0000;\">\"\u0418\u043c\u044f_Wi-Fi_\u0441\u0435\u0442\u0438\"<\/span>; \r\n const char <span style=\"color: #66cc66;\">*<\/span><span style=\"color: #0066cc;\">password<\/span> = <span style=\"color: #ff0000;\">\"\u041f\u0430\u0440\u043e\u043b\u044c\"<\/span>;\r\n <span style=\"color: #0066cc;\">String<\/span> date_time;\r\n unsigned long times;\r\n\u00a0\r\n<span style=\"color: #0066cc;\">void<\/span> setup<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>\r\n  Serial.<span style=\"color: #006600;\">begin<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">9600<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  WiFi.<span style=\"color: #006600;\">begin<\/span><span style=\"color: #66cc66;\">(<\/span>ssid, <span style=\"color: #0066cc;\">password<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  <span style=\"color: #b1b100;\">while<\/span> <span style=\"color: #66cc66;\">(<\/span> WiFi.<span style=\"color: #0066cc;\">status<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span> <span style=\"color: #66cc66;\">!<\/span>= WL_CONNECTED <span style=\"color: #66cc66;\">)<\/span> <span style=\"color: #66cc66;\">{<\/span>\r\n    delay <span style=\"color: #66cc66;\">(<\/span> <span style=\"color: #cc66cc;\">500<\/span> <span style=\"color: #66cc66;\">)<\/span>;\r\n    Serial.<span style=\"color: #0066cc;\">print<\/span> <span style=\"color: #66cc66;\">(<\/span> <span style=\"color: #ff0000;\">\".\"<\/span> <span style=\"color: #66cc66;\">)<\/span>;\r\n    timeClient.<span style=\"color: #006600;\">begin<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n  lcd.<span style=\"color: #006600;\">init<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;                    \r\n  lcd.<span style=\"color: #006600;\">backlight<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #808080; font-style: italic;\">\/\/ \u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0443 \u0434\u0438\u0441\u043f\u043b\u0435\u044f<\/span>\r\n<span style=\"color: #66cc66;\">}<\/span>\r\n\u00a0\r\n<span style=\"color: #0066cc;\">void<\/span> loop<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>\r\n  <span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>millis<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>-times<span style=\"color: #66cc66;\">&gt;<\/span>=<span style=\"color: #cc66cc;\">1000<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>times=millis<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n   <span style=\"color: #b1b100;\">while<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">!<\/span>timeClient.<span style=\"color: #006600;\">update<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>timeClient.<span style=\"color: #006600;\">forceUpdate<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n  <span style=\"color: #0066cc;\">int<\/span> hh = timeClient.<span style=\"color: #0066cc;\">getHours<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  <span style=\"color: #0066cc;\">int<\/span> mm = timeClient.<span style=\"color: #0066cc;\">getMinutes<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  <span style=\"color: #0066cc;\">int<\/span> ss = timeClient.<span style=\"color: #0066cc;\">getSeconds<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  date_time = timeClient.<span style=\"color: #006600;\">getFormattedDate<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  <span style=\"color: #0066cc;\">int<\/span> index_date = date_time.<span style=\"color: #0066cc;\">indexOf<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #ff0000;\">\"T\"<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  <span style=\"color: #0066cc;\">String<\/span> <span style=\"color: #0066cc;\">date<\/span> = date_time.<span style=\"color: #0066cc;\">substring<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">0<\/span>, index_date<span style=\"color: #66cc66;\">)<\/span>;\r\n\u00a0\r\n  lcd.<span style=\"color: #006600;\">setCursor<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">4<\/span>,<span style=\"color: #cc66cc;\">0<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  lcd.<span style=\"color: #0066cc;\">print<\/span><span style=\"color: #66cc66;\">(<\/span>hh<span style=\"color: #66cc66;\">\/<\/span><span style=\"color: #cc66cc;\">10<\/span><span style=\"color: #66cc66;\">)<\/span>;lcd.<span style=\"color: #0066cc;\">print<\/span><span style=\"color: #66cc66;\">(<\/span>hh<span style=\"color: #66cc66;\">%<\/span>10<span style=\"color: #66cc66;\">)<\/span>;lcd.<span style=\"color: #0066cc;\">print<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #ff0000;\">\":\"<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  lcd.<span style=\"color: #0066cc;\">print<\/span><span style=\"color: #66cc66;\">(<\/span>mm<span style=\"color: #66cc66;\">\/<\/span><span style=\"color: #cc66cc;\">10<\/span><span style=\"color: #66cc66;\">)<\/span>;lcd.<span style=\"color: #0066cc;\">print<\/span><span style=\"color: #66cc66;\">(<\/span>mm<span style=\"color: #66cc66;\">%<\/span>10<span style=\"color: #66cc66;\">)<\/span>;lcd.<span style=\"color: #0066cc;\">print<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #ff0000;\">\":\"<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  lcd.<span style=\"color: #0066cc;\">print<\/span><span style=\"color: #66cc66;\">(<\/span>ss<span style=\"color: #66cc66;\">\/<\/span><span style=\"color: #cc66cc;\">10<\/span><span style=\"color: #66cc66;\">)<\/span>;lcd.<span style=\"color: #0066cc;\">print<\/span><span style=\"color: #66cc66;\">(<\/span>ss<span style=\"color: #66cc66;\">%<\/span>10<span style=\"color: #66cc66;\">)<\/span>;\r\n  lcd.<span style=\"color: #006600;\">setCursor<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">3<\/span>,<span style=\"color: #cc66cc;\">1<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  lcd.<span style=\"color: #0066cc;\">print<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #0066cc;\">date<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  <span style=\"color: #66cc66;\">}<\/span><span style=\"color: #66cc66;\">}<\/span><\/pre>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-67574\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/768439265836.png\" alt=\"\" width=\"871\" height=\"655\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/768439265836.png 871w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/768439265836-200x150.png 200w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/768439265836-500x376.png 500w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/768439265836-768x578.png 768w\" sizes=\"auto, (max-width: 871px) 100vw, 871px\" \/><\/p>\n<hr \/>\n<h3 style=\"text-align: center;\"><strong>\u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0447\u0430\u0441\u044b \u043d\u0430 ESP8266 +TM1637<\/strong><\/h3>\n<p>\u0412 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a \u0442\u0435\u043c\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u0440\u0438\u0432\u043e\u0436\u0443 \u043f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0447\u0435\u0442\u044b\u0440\u0435\u0445 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u043e\u0433\u043e \u0441\u0435\u043c\u0438-\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u043d\u043e\u0433\u043e \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u0430 TM1637. \u041d\u0430 \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0447\u0430\u0441\u044b, \u043c\u0438\u043d\u0443\u0442\u044b \u0438 \u043c\u0438\u0433\u0430\u044e\u0449\u0435\u0435 \u0432 \u0442\u0430\u043a\u0442 \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u043c \u0434\u0432\u043e\u0435\u0442\u043e\u0447\u0438\u0435.<\/p>\n<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/Screenshot-21.11.2019-104823.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-67585\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/Screenshot-21.11.2019-104823.png\" alt=\"\" width=\"585\" height=\"298\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/Screenshot-21.11.2019-104823.png 585w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/Screenshot-21.11.2019-104823-200x102.png 200w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/Screenshot-21.11.2019-104823-500x255.png 500w\" sizes=\"auto, (max-width: 585px) 100vw, 585px\" \/><\/a><\/p>\n<p>\u0414\u043b\u044f \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u0430 TM1637 \u0412\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 &#8212; <strong><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/TM1637Display.zip\">TM1637Display<\/a>.zip<\/strong><\/p>\n<p>\u0414\u043b\u044f \u043f\u0438\u0442\u0430\u043d\u0438\u044f \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u0430 TM1637 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0430\u043a\u0442 3V \u043c\u043e\u0434\u0443\u043b\u044f ESP8266 NodeMCU.<\/p>\n<pre class=\"actionscript\" style=\"font-family: monospace; font-size: 10px;\"><span style=\"color: #808080; font-style: italic;\">#include &lt;NTPClient.h&gt;<\/span>\r\n<span style=\"color: #808080; font-style: italic;\">#include &lt;ESP8266WiFi.h&gt; <\/span>\r\n<span style=\"color: #808080; font-style: italic;\">#include &lt;WiFiUdp.h&gt; <\/span>\r\n<span style=\"color: #808080; font-style: italic;\">#include &lt;Wire.h&gt; <\/span>\r\n<span style=\"color: #808080; font-style: italic;\">#include &lt;TM1637Display.h&gt;<\/span>\r\n TM1637Display display<span style=\"color: #66cc66;\">(<\/span>D4, D2<span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #808080; font-style: italic;\">\/\/ CLK,DIO<\/span>\r\n WiFiUDP ntpUDP;\r\n NTPClient timeClient<span style=\"color: #66cc66;\">(<\/span>ntpUDP, <span style=\"color: #ff0000;\">\"pool.ntp.org\"<\/span>, <span style=\"color: #cc66cc;\">21600,3600123<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #808080; font-style: italic;\">\/\/ 21600 - \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0441\u0434\u0432\u0438\u0433 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445 \u043e\u0442 UTC <\/span>\r\n const char <span style=\"color: #66cc66;\">*<\/span>ssid = <span style=\"color: #ff0000;\">\"\u0418\u043c\u044f_Wi-Fi_\u0441\u0435\u0442\u0438\"<\/span>; \r\n const char <span style=\"color: #66cc66;\">*<\/span><span style=\"color: #0066cc;\">password<\/span> = <span style=\"color: #ff0000;\">\"\u041f\u0430\u0440\u043e\u043b\u044c\"<\/span>;\r\n\u00a0\r\n <span style=\"color: #0066cc;\">int<\/span> times,x;\r\n unsigned long t1,t;\r\n\u00a0\r\n<span style=\"color: #0066cc;\">void<\/span> setup<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>\r\n  Serial.<span style=\"color: #006600;\">begin<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">9600<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  WiFi.<span style=\"color: #006600;\">begin<\/span><span style=\"color: #66cc66;\">(<\/span>ssid, <span style=\"color: #0066cc;\">password<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  <span style=\"color: #b1b100;\">while<\/span> <span style=\"color: #66cc66;\">(<\/span> WiFi.<span style=\"color: #0066cc;\">status<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span> <span style=\"color: #66cc66;\">!<\/span>= WL_CONNECTED <span style=\"color: #66cc66;\">)<\/span> <span style=\"color: #66cc66;\">{<\/span>\r\n    delay<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">500<\/span><span style=\"color: #66cc66;\">)<\/span>;Serial.<span style=\"color: #0066cc;\">print<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #ff0000;\">\".\"<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n    timeClient.<span style=\"color: #006600;\">begin<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n    display.<span style=\"color: #006600;\">setBrightness<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">3<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #808080; font-style: italic;\">\/\/ \u042f\u0420\u041a\u041e\u0421\u0422\u042c    <\/span>\r\n<span style=\"color: #66cc66;\">}<\/span>\r\n\u00a0\r\n<span style=\"color: #0066cc;\">void<\/span> loop<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>  \r\n  <span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>millis<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>-t1<span style=\"color: #66cc66;\">&gt;<\/span>=<span style=\"color: #cc66cc;\">1000<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>t1=millis<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n   <span style=\"color: #b1b100;\">while<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">!<\/span>timeClient.<span style=\"color: #006600;\">update<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>timeClient.<span style=\"color: #006600;\">forceUpdate<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n  <span style=\"color: #0066cc;\">int<\/span> hh = timeClient.<span style=\"color: #0066cc;\">getHours<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  <span style=\"color: #0066cc;\">int<\/span> mm = timeClient.<span style=\"color: #0066cc;\">getMinutes<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n <span style=\"color: #808080; font-style: italic;\">\/\/ int ss = timeClient.getSeconds();<\/span>\r\n  times=hh<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">100<\/span>+mm;<span style=\"color: #66cc66;\">}<\/span> \r\n  <span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>millis<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>-t<span style=\"color: #66cc66;\">&lt;<\/span><span style=\"color: #cc66cc;\">500<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>x=0x00;<span style=\"color: #66cc66;\">}<\/span>\r\n  <span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>millis<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>-t<span style=\"color: #66cc66;\">&gt;<\/span><span style=\"color: #cc66cc;\">500<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>x=0x40;<span style=\"color: #66cc66;\">}<\/span>\r\n  <span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>millis<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>-t<span style=\"color: #66cc66;\">&gt;<\/span><span style=\"color: #cc66cc;\">999<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>t=millis<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n  display.<span style=\"color: #006600;\">showNumberDecEx<\/span><span style=\"color: #66cc66;\">(<\/span>times,x,<span style=\"color: #000000; font-weight: bold;\">true<\/span><span style=\"color: #66cc66;\">)<\/span>; <span style=\"color: #808080; font-style: italic;\">\/\/ \u0432\u044b\u0432\u043e\u0434 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043d\u0430 \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440 TM1637<\/span>\r\n  <span style=\"color: #66cc66;\">}<\/span><\/pre>\n<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/Screenshot-21.11.2019-104839.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-67587\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/Screenshot-21.11.2019-104839.png\" alt=\"\" width=\"458\" height=\"421\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/Screenshot-21.11.2019-104839.png 458w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/Screenshot-21.11.2019-104839-200x184.png 200w\" sizes=\"auto, (max-width: 458px) 100vw, 458px\" \/><\/a><\/p>\n<hr \/>\n<h3 style=\"text-align: center;\">\u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0447\u0430\u0441\u044b ESP8266 + TFT SPI 320\u0445240<\/h3>\n<p>\u0414\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0447\u0430\u0441\u043e\u0432 \u0442\u0430\u043a \u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <strong><a href=\"http:\/\/rcl-radio.ru\/?p=61998\">TFT-\u0434\u0438\u0441\u043f\u043b\u0435\u0439 SPI 320\u00d7240<\/a> <\/strong>, \u043d\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f, \u0430 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438\u043c\u0438\u0442\u0430\u0446\u0438\u044e \u0441\u0442\u0440\u0435\u043b\u043e\u0447\u043d\u044b\u0445 \u0447\u0430\u0441\u043e\u0432.<\/p>\n<p><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/724368423698.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-67821\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/724368423698.png\" alt=\"\" width=\"318\" height=\"495\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/724368423698.png 318w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/11\/724368423698-200x311.png 200w\" sizes=\"auto, (max-width: 318px) 100vw, 318px\" \/><\/a><\/p>\n<p>\u0414\u043b\u044f \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u043a\u0435\u0442\u0447\u0430 \u0412\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430<strong> &#8212; <a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/09\/New_UTFT.zip\">New_UTFT.zip<\/a><\/strong><\/p>\n<pre class=\"actionscript\" style=\"font-family: monospace; font-size: 10px;\"><span style=\"color: #808080; font-style: italic;\">#include &lt;NTPClient.h&gt;<\/span>\r\n<span style=\"color: #808080; font-style: italic;\">#include &lt;ESP8266WiFi.h&gt; <\/span>\r\n<span style=\"color: #808080; font-style: italic;\">#include &lt;WiFiUdp.h&gt;<\/span>\r\n<span style=\"color: #808080; font-style: italic;\">#include &lt;UTFT.h&gt;<\/span>\r\n<span style=\"color: #808080; font-style: italic;\">#include &lt;SPI.h&gt;<\/span>\r\n WiFiUDP ntpUDP;\r\n NTPClient timeClient<span style=\"color: #66cc66;\">(<\/span>ntpUDP, <span style=\"color: #ff0000;\">\"pool.ntp.org\"<\/span>, <span style=\"color: #cc66cc;\">21600,3600123<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n extern uint8_t BigFont<span style=\"color: #66cc66;\">[<\/span><span style=\"color: #66cc66;\">]<\/span>,SmallFont<span style=\"color: #66cc66;\">[<\/span><span style=\"color: #66cc66;\">]<\/span>;\r\n UTFT myGLCD <span style=\"color: #66cc66;\">(<\/span> ILI9341_S5P, <span style=\"color: #cc66cc;\">13<\/span>, <span style=\"color: #cc66cc;\">14<\/span>, <span style=\"color: #cc66cc;\">15<\/span>, <span style=\"color: #cc66cc;\">0<\/span>, <span style=\"color: #cc66cc;\">12<\/span> <span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #808080; font-style: italic;\">\/\/SDI (MOSI), SCK, CS, RESET, DC == D7 D5 D8 D3 D6<\/span>\r\n const char <span style=\"color: #66cc66;\">*<\/span>ssid = <span style=\"color: #ff0000;\">\"\u0418\u043c\u044f_Wi-Fi_\u0441\u0435\u0442\u0438\"<\/span>; \r\n const char <span style=\"color: #66cc66;\">*<\/span><span style=\"color: #0066cc;\">password<\/span> = <span style=\"color: #ff0000;\">\"\u041f\u0430\u0440\u043e\u043b\u044c\"<\/span>;\r\n <span style=\"color: #0066cc;\">String<\/span> date_time;\r\n float sx,sy,osx,osy,mx,my,omx,omy,hx,hy,ohx,ohy;\r\n unsigned long times;\r\n\u00a0\r\n<span style=\"color: #0066cc;\">void<\/span> setup<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>\r\n  Serial.<span style=\"color: #006600;\">begin<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">9600<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  WiFi.<span style=\"color: #006600;\">mode<\/span><span style=\"color: #66cc66;\">(<\/span>WIFI_STA<span style=\"color: #66cc66;\">)<\/span>;WiFi.<span style=\"color: #006600;\">begin<\/span><span style=\"color: #66cc66;\">(<\/span>ssid, <span style=\"color: #0066cc;\">password<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  <span style=\"color: #b1b100;\">while<\/span> <span style=\"color: #66cc66;\">(<\/span> WiFi.<span style=\"color: #0066cc;\">status<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span> <span style=\"color: #66cc66;\">!<\/span>= WL_CONNECTED <span style=\"color: #66cc66;\">)<\/span> <span style=\"color: #66cc66;\">{<\/span>\r\n    delay<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">500<\/span><span style=\"color: #66cc66;\">)<\/span>;Serial.<span style=\"color: #0066cc;\">print<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #ff0000;\">\".\"<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n    timeClient.<span style=\"color: #006600;\">begin<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>  \r\n  myGLCD.<span style=\"color: #006600;\">InitLCD<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">0<\/span><span style=\"color: #66cc66;\">)<\/span>;myGLCD.<span style=\"color: #006600;\">fillRect<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">0<\/span>,<span style=\"color: #cc66cc;\">0<\/span>,<span style=\"color: #cc66cc;\">320<\/span>,<span style=\"color: #cc66cc;\">240<\/span><span style=\"color: #66cc66;\">)<\/span>;myGLCD.<span style=\"color: #006600;\">setFont<\/span><span style=\"color: #66cc66;\">(<\/span>BigFont<span style=\"color: #66cc66;\">)<\/span>;myGLCD.<span style=\"color: #006600;\">clrScr<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>; <span style=\"color: #808080; font-style: italic;\">\/\/ \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u044d\u043a\u0440\u0430\u043d\u0430<\/span>\r\n  myGLCD.<span style=\"color: #006600;\">fillScr<\/span><span style=\"color: #66cc66;\">(<\/span>0x0000<span style=\"color: #66cc66;\">)<\/span>;myGLCD.<span style=\"color: #006600;\">setColor<\/span><span style=\"color: #66cc66;\">(<\/span>0xffff<span style=\"color: #66cc66;\">)<\/span>;myGLCD.<span style=\"color: #006600;\">setBackColor<\/span><span style=\"color: #66cc66;\">(<\/span>0x0000<span style=\"color: #66cc66;\">)<\/span>; \r\n\u00a0\r\n   <span style=\"color: #b1b100;\">for<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #0066cc;\">int<\/span> i=<span style=\"color: #cc66cc;\">0<\/span>;i<span style=\"color: #66cc66;\">&lt;<\/span><span style=\"color: #cc66cc;\">360<\/span>;i+=<span style=\"color: #cc66cc;\">30<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>\r\n    sx=<span style=\"color: #0066cc;\">cos<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">(<\/span>i-<span style=\"color: #cc66cc;\">90<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">0.0174532925<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n    sy=<span style=\"color: #0066cc;\">sin<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">(<\/span>i-<span style=\"color: #cc66cc;\">90<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">0.0174532925<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n    myGLCD.<span style=\"color: #006600;\">drawLine<\/span><span style=\"color: #66cc66;\">(<\/span>sx<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">120<\/span>+<span style=\"color: #cc66cc;\">120<\/span>,sy<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">120<\/span>+<span style=\"color: #cc66cc;\">120<\/span>,sx<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">110<\/span>+<span style=\"color: #cc66cc;\">120<\/span>,sy<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">110<\/span>+<span style=\"color: #cc66cc;\">120<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n\u00a0\r\n   <span style=\"color: #b1b100;\">for<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #0066cc;\">int<\/span> i=<span style=\"color: #cc66cc;\">0<\/span>;i<span style=\"color: #66cc66;\">&lt;<\/span><span style=\"color: #cc66cc;\">360<\/span>;i+=<span style=\"color: #cc66cc;\">6<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>\r\n    sx=<span style=\"color: #0066cc;\">cos<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">(<\/span>i-<span style=\"color: #cc66cc;\">90<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">0.0174532925<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n    sy=<span style=\"color: #0066cc;\">sin<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">(<\/span>i-<span style=\"color: #cc66cc;\">90<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">0.0174532925<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n    myGLCD.<span style=\"color: #006600;\">drawPixel<\/span><span style=\"color: #66cc66;\">(<\/span>sx<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">115<\/span>+<span style=\"color: #cc66cc;\">120<\/span>,sy<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">115<\/span>+<span style=\"color: #cc66cc;\">120<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n<span style=\"color: #66cc66;\">}<\/span>\r\n\u00a0\r\n<span style=\"color: #0066cc;\">void<\/span> loop<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>\r\n  <span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>millis<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>-times<span style=\"color: #66cc66;\">&gt;<\/span>=<span style=\"color: #cc66cc;\">1000<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>times=millis<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n   <span style=\"color: #b1b100;\">while<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">!<\/span>timeClient.<span style=\"color: #006600;\">update<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>timeClient.<span style=\"color: #006600;\">forceUpdate<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n <span style=\"color: #0066cc;\">int<\/span> hh = timeClient.<span style=\"color: #0066cc;\">getHours<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n <span style=\"color: #0066cc;\">int<\/span> mm = timeClient.<span style=\"color: #0066cc;\">getMinutes<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n <span style=\"color: #0066cc;\">int<\/span> ss = timeClient.<span style=\"color: #0066cc;\">getSeconds<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  date_time = timeClient.<span style=\"color: #006600;\">getFormattedDate<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n <span style=\"color: #0066cc;\">int<\/span> index_date = date_time.<span style=\"color: #0066cc;\">indexOf<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #ff0000;\">\"T\"<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n <span style=\"color: #0066cc;\">String<\/span> <span style=\"color: #0066cc;\">date<\/span> = date_time.<span style=\"color: #0066cc;\">substring<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">0<\/span>, index_date<span style=\"color: #66cc66;\">)<\/span>;\r\n  hx=<span style=\"color: #0066cc;\">cos<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">(<\/span>hh<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">30<\/span>+mm<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">6<\/span><span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">0.08333333<\/span><span style=\"color: #66cc66;\">)<\/span>-<span style=\"color: #cc66cc;\">90<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">0.0174532925<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  hy=<span style=\"color: #0066cc;\">sin<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">(<\/span>hh<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">30<\/span>+mm<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">6<\/span><span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">0.08333333<\/span><span style=\"color: #66cc66;\">)<\/span>-<span style=\"color: #cc66cc;\">90<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">0.0174532925<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  mx=<span style=\"color: #0066cc;\">cos<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">(<\/span>mm<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">6<\/span>+ss<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">6<\/span><span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">0.01666667<\/span><span style=\"color: #66cc66;\">)<\/span>-<span style=\"color: #cc66cc;\">90<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">0.0174532925<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  my=<span style=\"color: #0066cc;\">sin<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">(<\/span>mm<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">6<\/span>+ss<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">6<\/span><span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">0.01666667<\/span><span style=\"color: #66cc66;\">)<\/span>-<span style=\"color: #cc66cc;\">90<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">0.0174532925<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  sx=<span style=\"color: #0066cc;\">cos<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">(<\/span>ss<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">6<\/span>-<span style=\"color: #cc66cc;\">90<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">0.0174532925<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  sy=<span style=\"color: #0066cc;\">sin<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">(<\/span>ss<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">6<\/span>-<span style=\"color: #cc66cc;\">90<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">0.0174532925<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n myGLCD.<span style=\"color: #006600;\">setColor<\/span><span style=\"color: #66cc66;\">(<\/span>0x0000<span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #808080; font-style: italic;\">\/\/ clear<\/span>\r\n myGLCD.<span style=\"color: #006600;\">drawLine<\/span><span style=\"color: #66cc66;\">(<\/span>osx,osy,<span style=\"color: #cc66cc;\">120<\/span>,<span style=\"color: #cc66cc;\">120<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n myGLCD.<span style=\"color: #006600;\">drawLine<\/span><span style=\"color: #66cc66;\">(<\/span>omx,omy,<span style=\"color: #cc66cc;\">120<\/span>,<span style=\"color: #cc66cc;\">120<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n myGLCD.<span style=\"color: #006600;\">drawLine<\/span><span style=\"color: #66cc66;\">(<\/span>ohx,ohy,<span style=\"color: #cc66cc;\">120<\/span>,<span style=\"color: #cc66cc;\">120<\/span><span style=\"color: #66cc66;\">)<\/span>; \r\n myGLCD.<span style=\"color: #006600;\">setColor<\/span><span style=\"color: #66cc66;\">(<\/span>0xffff<span style=\"color: #66cc66;\">)<\/span>;\r\n myGLCD.<span style=\"color: #0066cc;\">print<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #ff0000;\">\"12\"<\/span>,<span style=\"color: #cc66cc;\">104<\/span>,<span style=\"color: #cc66cc;\">0<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n myGLCD.<span style=\"color: #0066cc;\">print<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #ff0000;\">\"6\"<\/span>,<span style=\"color: #cc66cc;\">112<\/span>,<span style=\"color: #cc66cc;\">225<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n myGLCD.<span style=\"color: #0066cc;\">print<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #ff0000;\">\"9\"<\/span>,<span style=\"color: #cc66cc;\">0<\/span>,<span style=\"color: #cc66cc;\">112<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n myGLCD.<span style=\"color: #0066cc;\">print<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #ff0000;\">\"3\"<\/span>,<span style=\"color: #cc66cc;\">224<\/span>,<span style=\"color: #cc66cc;\">112<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  ohx = hx<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">70<\/span>+<span style=\"color: #cc66cc;\">120<\/span>;\r\n  ohy = hy<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">70<\/span>+<span style=\"color: #cc66cc;\">120<\/span>;\r\n  omx = mx<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">100<\/span>+<span style=\"color: #cc66cc;\">120<\/span>;\r\n  omy = my<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">100<\/span>+<span style=\"color: #cc66cc;\">120<\/span>;  \r\n  osx = sx<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">110<\/span>+<span style=\"color: #cc66cc;\">120<\/span>;\r\n  osy = sy<span style=\"color: #66cc66;\">*<\/span><span style=\"color: #cc66cc;\">110<\/span>+<span style=\"color: #cc66cc;\">120<\/span>;\r\n myGLCD.<span style=\"color: #006600;\">setColor<\/span><span style=\"color: #66cc66;\">(<\/span>0xf000<span style=\"color: #66cc66;\">)<\/span>;\r\n myGLCD.<span style=\"color: #006600;\">drawLine<\/span><span style=\"color: #66cc66;\">(<\/span>osx,osy,<span style=\"color: #cc66cc;\">120<\/span>,<span style=\"color: #cc66cc;\">120<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n myGLCD.<span style=\"color: #006600;\">setColor<\/span><span style=\"color: #66cc66;\">(<\/span>0xffff<span style=\"color: #66cc66;\">)<\/span>;\r\n myGLCD.<span style=\"color: #006600;\">drawLine<\/span><span style=\"color: #66cc66;\">(<\/span>omx,omy,<span style=\"color: #cc66cc;\">120<\/span>,<span style=\"color: #cc66cc;\">120<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n myGLCD.<span style=\"color: #006600;\">setColor<\/span><span style=\"color: #66cc66;\">(<\/span>0xfff5<span style=\"color: #66cc66;\">)<\/span>;\r\n myGLCD.<span style=\"color: #006600;\">drawLine<\/span><span style=\"color: #66cc66;\">(<\/span>ohx,ohy,<span style=\"color: #cc66cc;\">120<\/span>,<span style=\"color: #cc66cc;\">120<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n myGLCD.<span style=\"color: #006600;\">setColor<\/span><span style=\"color: #66cc66;\">(<\/span>0xf000<span style=\"color: #66cc66;\">)<\/span>;\r\n myGLCD.<span style=\"color: #006600;\">fillCircle<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">120<\/span>,<span style=\"color: #cc66cc;\">120<\/span>,<span style=\"color: #cc66cc;\">4<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n myGLCD.<span style=\"color: #006600;\">setColor<\/span><span style=\"color: #66cc66;\">(<\/span>0xffff<span style=\"color: #66cc66;\">)<\/span>;\r\n<span style=\"color: #808080; font-style: italic;\">\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/<\/span>\r\n myGLCD.<span style=\"color: #0066cc;\">print<\/span><span style=\"color: #66cc66;\">(<\/span>timeClient.<span style=\"color: #006600;\">getFormattedTime<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>,<span style=\"color: #cc66cc;\">60<\/span>,<span style=\"color: #cc66cc;\">275<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n myGLCD.<span style=\"color: #0066cc;\">print<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #0066cc;\">date<\/span>,<span style=\"color: #cc66cc;\">45<\/span>,<span style=\"color: #cc66cc;\">295<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n  <span style=\"color: #66cc66;\">}<\/span>\r\n <span style=\"color: #66cc66;\">}<\/span><span style=\"color: #808080; font-style: italic;\">\/\/loop<\/span><\/pre>\n<p style=\"text-align: center;\"><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/_RhdfRjILIc\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<hr \/>\n<h5>\u0424\u043e\u0440\u0443\u043c\u044b:<\/h5>\n<ul>\n<li>\n<h5 class=\"hn\"><a href=\"http:\/\/forum.rcl-radio.ru\/viewtopic.php?id=95\">\u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0447\u0430\u0441\u044b ESP8266 + LCD1602_I2C<\/a><\/h5>\n<\/li>\n<li>\n<h5 class=\"hn\"><a href=\"http:\/\/forum.rcl-radio.ru\/viewtopic.php?id=98\">\u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0447\u0430\u0441\u044b ESP8266 + TM1637<\/a><\/h5>\n<\/li>\n<li>\n<h5 class=\"hn\"><a href=\"http:\/\/forum.rcl-radio.ru\/viewtopic.php?id=99\">\u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0447\u0430\u0441\u044b ESP8266 + TFT 3&#8217;2 SPI<\/a><\/h5>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 NTP-\u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u043b\u0443\u0447\u0448\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0442\u043e\u0447\u043d\u043e\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 ESP8266 Nodemcu \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0447\u0430\u0441\u044b. \u0422\u0435\u043a\u0443\u0449\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0438 \u0434\u0430\u0442\u0430 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u0434\u0438\u0441\u043f\u043b\u0435\u0439 LCD1602 \u043d\u0430 \u0431\u0430\u0437\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 HD44780 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e I2C \u043c\u043e\u0434\u0443\u043b\u0435\u043c \u043d\u0430 \u0431\u0430\u0437\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0445\u0435\u043c PCF8574 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u0438\u0441\u043f\u043b\u0435\u0439 \u043a \u043f\u043b\u0430\u0442\u0435 ESP8266 NodeMCU \u0432\u0441\u0435\u0433\u043e \u043f\u043e \u0434\u0432\u0443\u043c \u043f\u0440\u043e\u0432\u043e\u0434\u0430\u043c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":67574,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[239,18],"tags":[],"class_list":["post-67569","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-18"],"views":26125,"_links":{"self":[{"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/posts\/67569","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=67569"}],"version-history":[{"count":24,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/posts\/67569\/revisions"}],"predecessor-version":[{"id":111311,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/posts\/67569\/revisions\/111311"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/media\/67574"}],"wp:attachment":[{"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=67569"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=67569"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=67569"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}