{"id":281259,"date":"2016-11-21T11:05:04","date_gmt":"2016-11-21T08:05:04","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=281259"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=281259","title":{"rendered":"\u041a\u0430\u0436\u0434\u0430\u044f \u043f\u043e\u0433\u043e\u0434\u0430 \u0445\u043e\u0440\u043e\u0448\u0430: \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440 \u043f\u043e\u0433\u043e\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043a\u043e\u0441\u043f\u043b\u0435\u0438\u0442"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/4ce\/918\/71b\/4ce91871b01040ecb8a968131e3c4f32.jpg\"\/><\/p>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u0441\u0442\u044b\u0447\u043a\u0438 \u0441 \u0414\u044d\u0439\u0432\u043e\u043c \u0411\u043e\u0443\u043c\u0435\u043d\u043e\u043c \u043e\u0441\u0442\u0430\u0442\u043a\u043e\u0432 \u043d\u0435\u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0433\u0443\u0447\u0435\u0433\u043e \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0430 <a href=\"https:\/\/en.wikipedia.org\/wiki\/HAL_9000\">HAL 9000<\/a> \u0445\u0432\u0430\u0442\u0438\u043b\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u0435\u0440\u043d\u0443\u0442\u044c Discovery One \u043a \u0417\u0435\u043c\u043b\u0435 \u0438 \u043f\u043e\u0434 \u043b\u043e\u0437\u0443\u043d\u0433\u043e\u043c \u00ab\u0441\u043c\u0435\u0440\u0442\u044c \u0432\u0441\u0435\u043c \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430\u043c\u00bb \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u0435\u0433\u043e \u043e \u043f\u043b\u0430\u043d\u0435\u0442\u0443, \u0447\u0442\u043e\u0431\u044b \u0432\u043f\u0440\u0435\u0434\u044c \u043d\u0435\u043f\u043e\u0432\u0430\u0434\u043d\u043e \u0431\u044b\u043b\u043e \u0442\u0430\u043a \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u0441 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\u043c\u0438.<\/p>\n<p>  \u0420\u0430\u0437\u0440\u0430\u0437\u0438\u0432\u0448\u0438\u0439\u0441\u044f \u043a\u0430\u0442\u0430\u043a\u043b\u0438\u0437\u043c, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0438\u043b \u0432\u0441\u0435 \u0440\u0430\u0437\u0443\u043c\u043d\u043e\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u0442\u0432\u043e, \u0438 \u043e\u0441\u0442\u0430\u043b\u0438\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0441\u043e\u0431\u0438 \u0432\u0440\u043e\u0434\u0435 \u043c\u0435\u043d\u044f \u2014 \u0441 \u043c\u043e\u043b\u043e\u0442\u043a\u043e\u043c \u0432 \u043e\u0434\u043d\u043e\u0439 \u0440\u0443\u043a\u0435 \u0438 Arduino \u2014 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435\u0443\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0447\u0442\u043e \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0439 \u0432 \u0433\u043e\u0440\u0435 \u0435\u0449\u0435 \u0434\u044b\u043c\u044f\u0449\u0438\u0445\u0441\u044f \u043e\u0441\u0442\u0430\u0442\u043a\u043e\u0432 \u043a\u043e\u0441\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0440\u0430\u0431\u043b\u044f \u0442\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u0438\u0431\u043e\u0440 \u043e\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u044c \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u0442\u0432\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0440\u0430\u0437\u0432\u0435 \u0447\u0442\u043e \u0432 \u043c\u0435\u0442\u0435\u043e\u0441\u0442\u0430\u043d\u0446\u0438\u0438. \u041d\u0443 \u0438 \u043f\u043e\u0434\u0435\u043b\u043e\u043c \u0435\u043c\u0443!<br \/>  <a name=\"habracut\"><\/a><br \/>  \u0415\u0441\u043b\u0438 \u0436\u0435 \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0440\u043e\u043c\u0430\u043d\u0442\u0438\u043a\u0443, \u0442\u043e \u0441\u0443\u0440\u043e\u0432\u0430\u044f \u043f\u0440\u0430\u0432\u0434\u0430 \u0436\u0438\u0437\u043d\u0438 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u043b\u0430\u0441\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043d\u0435\u0431\u0435\u0437\u044b\u0437\u0432\u0435\u0441\u0442\u043d\u0430\u044f ITEAD \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u043b\u0430 \u043d\u0430 \u0442\u0435\u0441\u0442 \u0434\u0438\u0441\u043f\u043b\u0435\u0439 <a href=\"https:\/\/www.itead.cc\/wiki\/NX4832T035\">Nextion HMI NX4832T035<\/a>.<\/p>\n<p>  \u0422\u0430\u043a \u043a\u0430\u043a \u0437\u0434\u0435\u0441\u044c \u0443\u0436\u0435 \u043d\u0435\u043e\u0434\u043d\u043e\u043a\u0440\u0430\u0442\u043d\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u043b\u0438 \u0438\u0437\u0434\u0435\u043b\u0438\u044f Nextion, \u0442\u043e \u043a\u043e\u043d\u0441\u043f\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u043e \u0435\u0433\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u0445. \u042d\u0442\u043e \u044d\u043a\u0440\u0430\u043d \u0441 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u043f\u0440\u043e\u0441\u0442\u044b\u043c API \u0438 \u0441\u0435\u043d\u0441\u043e\u0440\u043d\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u044c\u044e, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0433\u043e\u0442\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0431\u043b\u043e\u043a\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u043c\u0435\u043d\u044e \u0431\u0435\u0437 \u043e\u0441\u043e\u0431\u044b\u0445 \u0445\u043b\u043e\u043f\u043e\u0442. <\/p>\n<p>  \u0414\u043b\u044f \u044d\u0442\u043e\u0439 \u0446\u0435\u043b\u0438 \u0443 Nextion \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043a\u043e\u043c\u0430\u043d\u0434 \u0434\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 (\u0438 \u0438\u0445 \u0447\u0430\u0441\u0442\u0435\u0439), \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432, \u043f\u043e\u043b\u0435\u0439 \u0432\u0432\u043e\u0434\u0430, \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432. \u041f\u043b\u044e\u0441 \u043a \u0442\u043e\u043c\u0443 \u2014 \u043d\u0435\u043a\u043e\u0435 \u043f\u043e\u0434\u043e\u0431\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439, \u0441\u043a\u0430\u0436\u0435\u043c, \u043f\u043e \u043d\u0430\u0436\u0430\u0442\u0438\u044e \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u043d\u044b\u0435 \u043a\u043d\u043e\u043f\u043a\u0438 \u0438\u043b\u0438 \u043f\u043e \u0442\u0430\u0439\u043c\u0435\u0440\u0443. \u0418 \u0437\u0430\u043e\u0434\u043d\u043e \u043f\u043e\u0440\u0442 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434 \u043e\u0442 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 \u0438\u043b\u0438 \u0438\u043c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e \u043f\u0440\u0438\u043a\u043e\u0441\u043d\u043e\u0432\u0435\u043d\u0438\u044f\u0445 \u043a \u044d\u043a\u0440\u0430\u043d\u0443, \u0447\u0442\u043e\u0431\u044b \u0437\u043d\u0430\u0442\u044c, \u0434\u043e \u043a\u0430\u043a\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0438 \u0434\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0448\u0430\u043b\u043e\u0432\u043b\u0438\u0432\u044b\u0435 \u0440\u0443\u043a\u0438 \u0432\u043b\u0430\u0434\u0435\u043b\u044c\u0446\u0430, \u0438 \u0432 \u043a\u0430\u043a\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u044d\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0430 (\u043d\u0430\u0436\u0430\u0442\u0430, \u043e\u0442\u043f\u0443\u0449\u0435\u043d\u0430) \u0432 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442.<\/p>\n<p>  \u0413\u0440\u0443\u0431\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u0437\u0434\u0435\u0441\u044c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043c\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u043c\u0430\u0441\u0441\u0438\u0432\u044b \u0442\u043e\u0447\u0435\u043a \u0438\u043b\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0442\u0443\u0447\u0443 \u0432\u0441\u044f\u043a\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a. \u041e\u0434\u043d\u0430 \u0441\u0442\u0440\u043e\u0447\u043a\u0430 \u2014 \u0438 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043f\u043e\u043c\u0435\u043d\u044f\u043b\u0441\u044f \u0444\u043e\u043d. \u041d\u0430\u0436\u0430\u043b\u0438 \u2014 \u043e\u0442\u043a\u0440\u044b\u043b\u043e\u0441\u044c \u043c\u0435\u043d\u044e. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b\u0438 Arduino \u2014 \u0441\u0442\u0440\u043e\u0438\u043c \u0433\u0440\u0430\u0444\u0438\u043a\u0438 \u043f\u043e \u0434\u0430\u043d\u043d\u044b\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u044e\u0442 \u0447\u0435\u0440\u0435\u0437 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0440\u0442. <\/p>\n<p>  \u0422\u043e \u0435\u0441\u0442\u044c, \u0441\u0443\u0434\u044f \u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044e, \u0434\u0438\u0441\u043f\u043b\u0435\u0439 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0443\u043c\u0435\u043d, \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0438 \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c (\u0435\u0441\u0442\u044c \u0441\u0435\u043d\u0441\u043e\u0440\u043d\u0430\u044f \u043f\u0430\u043d\u0435\u043b\u044c) \u043d\u0430 \u0447\u0442\u043e \u0443\u0433\u043e\u0434\u043d\u043e. \u041d\u043e \u0443 \u043c\u0435\u043d\u044f \u0434\u043e\u043c\u0430 \u043d\u0435\u0442 \u0447\u0435\u0433\u043e \u0443\u0433\u043e\u0434\u043d\u043e, \u0437\u0430\u0442\u043e \u043f\u043e \u0432\u043e\u0437\u0434\u0443\u0445\u0443 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043b\u0435\u0442\u0430\u044e\u0442 \u043a\u043b\u0438\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u041e\u0442 \u0442\u043e\u0433\u043e \u0436\u0435 <a href=\"https:\/\/geektimes.ru\/post\/258418\/\">\u0411\u0414\u0421-\u041c<\/a>, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u043b\u0438 \u043e\u0442 \u043c\u0435\u0442\u0435\u043e\u0434\u0430\u0442\u0447\u0438\u043a\u0430 <a href=\"https:\/\/geektimes.ru\/post\/258358\/\">\u041f\u0418-\u0422\u0412-2<\/a>.<\/p>\n<p>  \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0432\u0441\u0435 \u043e\u043d\u0438 \u0432 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u043c \u0438\u0442\u043e\u0433\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u043d\u0430 <a href=\"http:\/\/narodmon.ru\">\u041d\u0430\u0440\u043e\u0434\u043d\u044b\u0439 \u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433<\/a>, \u043e\u0442\u043a\u0443\u0434\u0430 \u044f \u0438\u043c\u0435\u044e \u0441\u0447\u0430\u0441\u0442\u044c\u0435 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u0438\u0445 \u0447\u0435\u0440\u0435\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u0438\u043b\u0438 \u0430\u043f\u043f \u0432 \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u0435. \u041d\u043e \u0443\u0441\u0442\u043e\u044f\u0442\u044c \u043f\u0435\u0440\u0435\u0434 \u0438\u0434\u0435\u0435\u0439 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u00ab\u0435\u0449\u0435 \u043e\u0434\u043d\u0443 \u043c\u0435\u0442\u0435\u043e\u0441\u0442\u0430\u043d\u0446\u0438\u044e \u043d\u0430 Arduino\u00bb \u044f \u043d\u0435 \u043c\u043e\u0433.<\/p>\n<p>  \u0418, \u0435\u0441\u043b\u0438 \u0447\u0435\u0441\u0442\u043d\u043e, \u0434\u0435\u043b\u043e \u0431\u044b\u043b\u043e \u0434\u0430\u0436\u0435 \u043d\u0435 \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u0435\u0445\u043d\u0438\u043a\u0435 \u043a\u0430\u043a \u0442\u0430\u043a\u043e\u0432\u043e\u0439, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u0435\u043d\u044f \u0443\u043f\u043e\u0440\u043d\u043e \u0442\u044f\u043d\u0435\u0442 \u043d\u0430 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432. \u0422\u044f\u043d\u0435\u0442, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u0441 \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u0441\u0438\u043b\u043e\u0439, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0442\u044f\u043d\u0435\u0442 \u043f\u0435\u0442\u044c \u043a\u0430\u0436\u0434\u043e\u0433\u043e, \u043a\u043e\u043c\u0443 \u043c\u0435\u0434\u0432\u0435\u0434\u044c \u043d\u0430 \u0443\u0445\u043e \u043d\u0430\u0441\u0442\u0443\u043f\u0438\u043b.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0440\u0430\u0437\u0443 \u043f\u0440\u043e\u0448\u0443 \u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0437\u0430 \u0442\u043e, \u0447\u0442\u043e \u0434\u0430\u043b\u044c\u0448\u0435 \u0442\u0435\u0445\u043d\u0438\u043a\u0438 \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435, \u0430 \u0444\u0430\u043d\u0442\u0430\u0437\u0438\u0439\u043d\u044b\u0445 \u0438\u0437\u043c\u044b\u0448\u043b\u0435\u043d\u0438\u0439 \u2014 \u0431\u043e\u043b\u044c\u0448\u0435. \u041d\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u044f \u0433\u043e\u0442\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0432\u044b \u0441\u0430\u043c\u0438 \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0440\u0435\u0448\u0438\u0442\u044c, \u0447\u0438\u0442\u0430\u0442\u044c \u0434\u0430\u043b\u044c\u0448\u0435, \u0438\u043b\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0443.<\/p>\n<div class=\"oembed\">\n<div>\n<div style=\"left: 0px; width: 100%; height: 0px; position: relative; padding-bottom: 56.2493%;\"><iframe src=\"https:\/\/www.youtube.com\/embed\/8A02d27uJ9U?rel=0&amp;showinfo=1\" frameborder=\"0\" allowfullscreen=\"true\" webkitallowfullscreen=\"true\" mozallowfullscreen=\"true\" style=\"top: 0px; left: 0px; width: 100%; height: 100%; position: absolute;\"><\/iframe><\/div>\n<\/div>\n<\/div>\n<p>  \u0418\u0442\u0430\u043a, \u0443 \u043c\u0435\u043d\u044f \u0431\u044b\u043b\u043e 3.5 \u0434\u044e\u0439\u043c\u0430, 480\u0445320 \u0442\u043e\u0447\u0435\u043a, \u043f\u043e\u043a\u0430\u0437\u0430\u0432\u0448\u0438\u0439\u0441\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u043c API \u0438 \u0441\u0435\u043c\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c (\u0432 \u0441\u043a\u043e\u0431\u043e\u0447\u043a\u0430\u0445 \u0434\u0430\u0442\u0447\u0438\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043a \u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0434\u0435\u043b\u0430\u043d\u044b): <\/p>\n<p>  1) \u0422\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u0438 \u0441\u043d\u0430\u0440\u0443\u0436\u0438 (BMP085 \/ DHT22)<br \/>  2) \u0412\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u0438 \u0441\u043d\u0430\u0440\u0443\u0436\u0438 (DHT22 \/ DHT22)<br \/>  4) \u0410\u0442\u043c\u043e\u0441\u0444\u0435\u0440\u043d\u043e\u0435 \u0434\u0430\u0432\u043b\u0435\u043d\u0438\u0435 (BMP085)<br \/>  5) \u041a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0446\u0438\u044f \u043d\u0435 \u043e\u0441\u043e\u0431\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0433\u0430\u0437\u043e\u0432 \u0432 \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u0438, \u043f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e CO2 (MQ135)<br \/>  6) \u041a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0446\u0438\u044f \u043c\u0435\u0445\u0430\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u0438\u043c\u0435\u0441\u0435\u0439 \u0432 \u0432\u043e\u0437\u0434\u0443\u0445\u0435 \u043f\u043e\u043c\u0435\u0449\u0435\u043d\u0438\u044f, \u043f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e PM2.5 (Sharp GP2Y1010AU0F)<\/p>\n<p>  \u0422\u0443\u0442 \u043d\u0430\u0434\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0438, \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0432\u0448\u0438\u0435\u0441\u044f \u0441 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430\u043c\u0438 \u0434\u0432\u0443\u0445 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432, \u0434\u0435\u043b\u0430\u044e\u0442 \u0432\u044b\u0432\u043e\u0434, \u0447\u0442\u043e \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0438\u0439 \u043e\u0442\u043a\u043b\u0438\u043a \u0434\u043e\u0441\u0442\u0438\u0433\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u0440\u0430\u0437 \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 CO2 \u0438 PM2.5 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e. \u042d\u0442\u0438\u043c, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0438 \u043e\u0431\u044a\u044f\u0441\u043d\u044f\u0435\u0442\u0441\u044f \u043c\u043e\u0439 \u0432\u044b\u0431\u043e\u0440: \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0436\u0430\u043b\u043a\u043e \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0434\u0432\u0435 \u043a\u043e\u043f\u0435\u0439\u043a\u0438 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f, \u0442\u043e\u0433\u0434\u0430 \u043a\u0430\u043a \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u044b\u0435 \u0441\u0435\u043d\u0441\u043e\u0440\u044b \u0441\u0442\u043e\u044f\u0442 \u0437\u0430\u043c\u0435\u0442\u043d\u043e \u0434\u043e\u0440\u043e\u0436\u0435 \u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u0443\u0434\u0430\u0447\u0438 \u0436\u0430\u0431\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u0430\u0439\u0434\u0435\u0442\u0441\u044f \u0447\u0442\u043e \u043c\u043d\u0435 \u043f\u0440\u0435\u0434\u044a\u044f\u0432\u0438\u0442\u044c.<\/p>\n<p>  \u041f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u043e\u0442 \u0434\u0435\u0448\u0435\u0432\u044b\u0445 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u044f \u043d\u0435 \u0436\u0434\u0430\u043b \u2014 \u0441\u043a\u043e\u0440\u0435\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u043b \u0441\u043e\u043e\u0442\u043d\u043e\u0441\u0438\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043e\u0449\u0443\u0449\u0435\u043d\u0438\u044f \u0441 \u0438\u0445 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f\u043c\u0438. \u0418, \u043a\u0441\u0442\u0430\u0442\u0438, \u0432\u0441\u0435 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e: \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u043a\u0440\u044b\u0442\u044c \u043e\u043a\u043d\u043e, \u043a\u0430\u043a \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0441 \u0440\u043e\u0441\u0442\u043e\u043c \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u0438 \u0434\u0443\u0445\u043e\u0442\u044b \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442 \u043f\u043e\u043b\u0437\u0442\u0438 \u0432\u0432\u0435\u0440\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0430\u0446\u0438\u0438 \u0433\u0430\u0437\u043e\u0432 \u043e\u0442 MQ135.<\/p>\n<p>  \u0412\u043f\u0440\u043e\u0447\u0435\u043c, \u043a \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c. \u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0438\u0448\u044c \u0441\u0435\u043c\u044c \u0446\u0438\u0444\u0440 \u043c\u043d\u0435 \u043f\u043e\u0434\u0443\u043c\u0430\u043b\u043e\u0441\u044c \u0441\u043a\u0443\u0447\u043d\u044b\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0422\u0417 \u043d\u0430 \u043f\u0440\u0438\u0431\u043e\u0440 \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u043b\u043e\u0441\u044c: \u044f \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u043b \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u0433\u0440\u0430\u0444\u0438\u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0418 \u0447\u0442\u043e\u0431\u044b \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u044d\u043a\u0440\u0430\u043d\u0435 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0434\u043e \u0447\u0435\u0442\u044b\u0440\u0435\u0445 \u043a\u0440\u0438\u0432\u044b\u0445 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u0438\u044f\u0442\u0438\u044f \u0437\u0430\u043a\u043e\u043d\u043e\u043c\u0435\u0440\u043d\u043e\u0441\u0442\u0435\u0439 (\u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0432\u044b\u0435 \u0432\u0434\u0440\u0443\u0433 \u043d\u0430\u0439\u0434\u0443\u0442\u0441\u044f) \u0432 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u0445 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439.<\/p>\n<p>  \u0412\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c \u0438 \u0432\u043b\u0430\u0434\u0435\u043b\u0435\u0446 \u043b\u044e\u0431\u043e\u0433\u043e \u043f\u043e\u0440\u0442\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0434\u0435\u0432\u0430\u0439\u0441\u0430 \u0441 \u0434\u0438\u0430\u0433\u043e\u043d\u0430\u043b\u044c\u044e \u043e\u0442 3.5 \u0434\u044e\u0439\u043c\u043e\u0432, \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0441\u043a\u0430\u0436\u0435\u0442, \u0447\u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e \u0432 \u044d\u0442\u043e\u043c \u043d\u0435\u0442. \u041c\u043e\u043b, \u043d\u0430 \u0442\u0430\u043a\u043e\u043c \u044d\u043a\u0440\u0430\u043d\u0435 \u043b\u0435\u0433\u043a\u043e \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u0441\u044f \u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<p>  \u041d\u043e \u0435\u0441\u0442\u044c \u0445\u0438\u0442\u0440\u043e\u0441\u0442\u044c: \u0434\u043b\u044f \u0431\u044b\u0442\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u0438\u0431\u043e\u0440\u0430 \u0446\u0438\u0444\u0440\u044b \u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043f\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043a\u0440\u0443\u043f\u043d\u044b\u043c\u0438, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u043f\u043e\u0434\u043e\u043b\u0433\u0443 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u044d\u043a\u0440\u0430\u043d \u0432 \u043b\u0443\u043f\u0443, \u043f\u044b\u0442\u0430\u044f\u0441\u044c \u043f\u0440\u043e\u043d\u0437\u0438\u0442\u044c \u0440\u0430\u0437\u0443\u043c\u043e\u043c \u0437\u0430\u043c\u044b\u0441\u0435\u043b \u0442\u0432\u043e\u0440\u0446\u0430.<\/p>\n<p>  \u0412 \u043e\u0431\u0449\u0435\u043c, \u044f \u0445\u043e\u0442\u0435\u043b \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043a\u0440\u0443\u043f\u043d\u044b\u0439 \u0438 \u043d\u0435 \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0437\u0430\u0433\u0440\u043e\u043c\u043e\u0436\u0434\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u043b\u043e\u0433\u0438\u043a\u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c \u0438 \u0431\u0435\u0437 \u0432\u044b\u0441\u0448\u0435\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f. \u0418\u043c\u0435\u044f \u0432 \u0433\u043e\u043b\u043e\u0432\u0435 \u0442\u0430\u043a\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443, \u043f\u0435\u0440\u0435\u043d\u0435\u0441 \u0435\u0435 \u0432 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 Nextion \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0434\u0432\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u0442\u0438\u043f\u0430 \u044d\u043a\u0440\u0430\u043d\u0430.<\/p>\n<p>  \u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u044d\u043a\u0440\u0430\u043d \u0441 \u0442\u0435\u043a\u0443\u0449\u0438\u043c\u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f\u043c\u0438 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/5d2\/51b\/d5c\/5d251bd5c5614232b44b219ff0bde021.jpg\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/c85\/8f5\/487\/c858f548742546128af66272d59c3775.JPG\"\/><\/p>\n<p>  \u041f\u043e\u043c\u0438\u043c\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u0439 \u0437\u0434\u0435\u0441\u044c \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0432\u0438\u0434\u0435\u0442\u044c \u0438\u043d\u0434\u0438\u043a\u0430\u0446\u0438\u044e \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f (\u0432\u0432\u0435\u0440\u0445\/\u0432\u043d\u0438\u0437) \u0438 \u043c\u0430\u0440\u043a\u0435\u0440\u044b \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435. \u041f\u043e\u043b\u0443\u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u0435 \u0447\u0435\u0442\u044b\u0440\u0435\u0445\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u0438 \u2014 \u044d\u0442\u043e \u043d\u0435\u0432\u0438\u0434\u0438\u043c\u044b\u0435 \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441\u0435\u043d\u0441\u043e\u0440\u043d\u044b\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u0438.<\/p>\n<p>  \u042d\u043a\u0440\u0430\u043d \u0441 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u043c\u0438. \u0412\u043e\u043e\u0431\u0449\u0435-\u0442\u043e \u0438\u0445 \u0447\u0435\u0442\u044b\u0440\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043e\u0442 \u043e\u0434\u043d\u043e\u0433\u043e \u0434\u043e \u0447\u0435\u0442\u044b\u0440\u0435\u0445 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432, \u043d\u043e \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u043d\u0438 \u0432\u0441\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b. \u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u044d\u043a\u0440\u0430\u043d \u043d\u0430 \u043e\u0434\u0438\u043d \u0438 \u0447\u0435\u0442\u044b\u0440\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0430:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/f68\/cbf\/014\/f68cbf01497145c2a70f830c67c203d2.jpg\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/355\/835\/edf\/355835edf53d4e4fbbed68c1d8a3b56d.jpg\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/09c\/940\/2a5\/09c9402a56164373aadbf7e5a22e85e4.JPG\"\/><\/p>\n<p>  \u0417\u0434\u0435\u0441\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u0442\u0441\u044f \u0435\u0433\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u0438 \u043c\u0438\u043d\u0438\u043c\u0443\u043c, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u0433\u0440\u0430\u043d\u0438\u0446\u044b. \u0410 \u0432\u043e\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0448\u043a\u0430\u043b\u044b \u043d\u0435\u0442: \u0432\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0443 \u043f\u0440\u0438\u0431\u043e\u0440\u0430 \u043d\u0435\u0442 \u0447\u0430\u0441\u043e\u0432, \u0430, \u0432\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u0434\u043b\u044f \u0435\u0449\u0435 \u0438 \u0448\u043a\u0430\u043b\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435\u0442 \u043c\u0435\u0441\u0442\u0430. \u041f\u043e \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043c\u0435\u0440\u0435, \u044f \u043d\u0435 \u043d\u0430\u0448\u0435\u043b, \u043a\u0443\u0434\u0430 \u0431\u044b \u0435\u0435 \u043f\u0440\u0438\u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0445\u043e\u0442\u0435\u043b \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0447\u0435\u0442\u044b\u0440\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0430.<\/p>\n<p>  \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043a\u043e\u0434\u043e\u043c \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u0430\u0440\u0445\u0438\u0432 \u043a\u0430\u0436\u0434\u044b\u0435 \u043f\u043e\u043b\u0447\u0430\u0441\u0430 \u043f\u0440\u0438 \u043e\u0431\u0449\u0435\u0439 \u0433\u043b\u0443\u0431\u0438\u043d\u0435 \u0430\u0440\u0445\u0438\u0432\u0430 \u0432 48 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0442.\u0435. \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043d\u0430 \u0441\u0443\u0442\u043a\u0438. \u041f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u2014 \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u043d\u0435 \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u044b\u0439 \u043e\u0442 \u043f\u043e\u043c\u0435\u0445 \u0440\u0430\u0434\u0438\u043e\u043a\u0430\u043d\u0430\u043b 433 \u041c\u0413\u0446, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0438.<\/p>\n<p>  \u0410 \u043d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439 \u044d\u0442\u0438\u0445 \u0441\u0430\u043c\u044b\u0445 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u043e\u0432 \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043e \u0432\u0440\u0435\u043c\u044f \u0436\u0438\u0437\u043d\u0438 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0432 \u0442\u0435 \u0436\u0435 \u043f\u043e\u043b\u0447\u0430\u0441\u0430. \u0418 \u0435\u0441\u043b\u0438 \u0437\u0430 \u043f\u043e\u043b\u0447\u0430\u0441\u0430 \u043f\u0440\u0438\u0435\u043c\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0435 \u0431\u044b\u043b\u043e, \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u043d\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u044e\u0442\u0441\u044f \u0438 \u043d\u0435 \u0432\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u0432 \u0430\u0440\u0445\u0438\u0432.<\/p>\n<p>  \u0422\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f <a href=\"http:\/\/bono-esse.ru\/blizzard\/Medstat\/Statan\/stat_dr.html\">\u043f\u043e \u043f\u0435\u0440\u0432\u043e\u043c\u0443 \u043f\u043e\u043f\u0430\u0432\u0448\u0435\u043c\u0443\u0441\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0443<\/a> \u043f\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0448\u0435\u0441\u0442\u0438 \u0442\u043e\u0447\u043a\u0430\u043c \u0432 \u0438\u0441\u0442\u043e\u0440\u0438\u0438, \u0442.\u0435. \u043f\u043e \u0448\u0435\u0441\u0442\u0438 \u0441\u0430\u043c\u044b\u043c \u043d\u043e\u0432\u044b\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f\u043c. \u0410 \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0432\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u0441 \u043f\u043e\u043b\u0443\u0447\u0430\u0441\u043e\u0432\u044b\u043c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430\u043c, \u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u044f \u043e\u0442\u0440\u0430\u0436\u0430\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0442\u0440\u0438 \u0447\u0430\u0441\u0430.<\/p>\n<p>  \u041a\u0430\u043a \u0438 \u043b\u044e\u0431\u043e\u043c \u0434\u0438\u0437\u0430\u0439\u043d\u0435\u0440\u0443, \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u00ab\u043f\u043e\u0438\u0433\u0440\u0430\u0442\u044c \u0448\u0440\u0438\u0444\u0442\u0430\u043c\u0438\u00bb. \u0412 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043b\u044e\u0431\u0438\u043c\u0430\u044f \u043c\u043d\u043e\u0439 \u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u044f \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d\u043d\u043e \u043d\u0430\u0440\u0443\u0448\u0430\u0435\u0442\u0441\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435\u043c \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u043e\u0432 \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u0438 \u0432 \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u043f\u0440\u0430\u0432\u043e\u043c \u0443\u0433\u043b\u0443, \u043d\u043e \u0438 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u0431\u043e\u043b\u0435\u0435 \u043e\u0433\u043e\u0440\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u044f\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0432 \u0432\u0438\u0434\u0435 \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440.<\/p>\n<p>  \u0418\u043c\u0435\u043d\u043d\u043e, \u043c\u0438\u043d\u0443\u0441\u044b \u043f\u043e\u0440\u0442\u0438\u043b\u0438 \u0432\u0441\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0443. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u043b \u043f\u043e-\u0441\u0432\u043e\u0435\u043c\u0443: \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043b \u043c\u0438\u043d\u0443\u0441 \u043d\u0430\u0434 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c. \u041c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430\u043c \u044d\u0442\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043f\u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u0432\u0430\u0440\u0432\u0430\u0440\u0441\u043a\u0438\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c, \u0434\u0430 \u0438 \u043f\u0440\u0438\u0447\u0430\u0441\u0442\u043d\u044b\u0435, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0431\u0443\u0434\u0443\u0442 \u043d\u0435\u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e \u0432\u0437\u0434\u0440\u0430\u0433\u0438\u0432\u0430\u0442\u044c, \u0440\u0430\u0437\u043c\u044b\u0448\u043b\u044f\u044f \u043d\u0430\u0434 \u0442\u0435\u043c, \u0437\u0430\u0447\u0435\u043c \u0431\u044b \u043c\u0435\u0442\u0435\u043e\u0441\u0442\u0430\u043d\u0446\u0438\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e. \u041d\u043e \u0437\u0430\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e \u0438 \u0446\u0438\u0444\u0440\u044b \u043d\u0435 \u043f\u043b\u044f\u0448\u0443\u0442.<\/p>\n<p>  \u041b\u043e\u0433\u0438\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f. \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0447\u0438\u0439 \u0440\u0435\u0436\u0438\u043c \u2014 \u0434\u0435\u0436\u0443\u0440\u043d\u044b\u0439 \u0441 \u044f\u0440\u043a\u043e\u0441\u0442\u044c\u044e \u044d\u043a\u0440\u0430\u043d\u0430 15% \u043e\u0442 \u043d\u043e\u043c\u0438\u043d\u0430\u043b\u0430 \u0438 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u043c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u0439.<\/p>\n<p>  \u041f\u0440\u0438\u043a\u043e\u0441\u043d\u043e\u0432\u0435\u043d\u0438\u0435 \u0432 \u043b\u044e\u0431\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u2014 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u0432 \u0438\u043d\u0442\u0435\u0440\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c \u0441 \u044f\u0440\u043a\u043e\u0441\u0442\u044c\u044e 100%. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043d\u0430 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0432\u044b\u0434\u0435\u043b\u044f\u044e\u0442 \u0438\u0445 \u0434\u043b\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0435, \u0430 \u043d\u0430\u0436\u0430\u0442\u0438\u0435 \u043d\u0430 \u00ab\u0433\u043b\u0430\u0437\u00bb HAL \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u0441 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u043c\u0438.<\/p>\n<p>  \u041d\u0430 \u044d\u0442\u043e \u0435\u0441\u0442\u044c \u0440\u043e\u0432\u043d\u043e \u043f\u044f\u0442\u044c \u0441\u0435\u043a\u0443\u043d\u0434. \u041f\u043e\u0442\u043e\u043c \u043e\u0442\u043c\u0435\u0442\u043a\u0438 \u043e\u0447\u0438\u0449\u0430\u044e\u0442\u0441\u044f, \u0430 \u0435\u0449\u0435 \u0447\u0435\u0440\u0435\u0437 \u043f\u044f\u0442\u044c \u043c\u0438\u043d\u0443\u0442 \u0431\u0435\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u0440\u0438\u0431\u043e\u0440 \u0441\u043d\u043e\u0432\u0430 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 \u0432 \u0434\u0435\u0436\u0443\u0440\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c.<\/p>\n<p>  \u041d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u0441 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u043c\u0438 \u043b\u0435\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u2014 \u044d\u0442\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u043d\u0430 \u0448\u0430\u0433 \u043d\u0430\u0437\u0430\u0434 (\u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u044d\u043a\u0440\u0430\u043d \u0438\u043b\u0438 \u044d\u043a\u0440\u0430\u043d \u0441 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u043c\u0438), \u0430 \u043f\u0440\u0430\u0432\u0430\u044f \u2014 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u043d\u0430 \u0432\u0435\u0441\u044c \u044d\u043a\u0440\u0430\u043d \u0438\u043b\u0438, \u043e\u043f\u044f\u0442\u044c \u0436\u0435, \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u044d\u043a\u0440\u0430\u043d, \u0435\u0441\u043b\u0438 \u0433\u0440\u0430\u0444\u0438\u043a \u043e\u0434\u0438\u043d.<\/p>\n<p>  \u041c\u043d\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u044d\u0442\u0430 \u0441\u0445\u0435\u043c\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0430\u044f, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043b\u0438\u0448\u043d\u0438\u0435 \u043a\u043d\u043e\u043f\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0434\u0435\u0441\u044c \u0432\u0438\u0434\u0435\u0442\u044c \u043d\u0435 \u043e\u0447\u0435\u043d\u044c-\u0442\u043e \u0438 \u0445\u043e\u0447\u0435\u0442\u0441\u044f.<\/p>\n<p>  \u041a\u0441\u0442\u0430\u0442\u0438, \u0444\u043e\u043d\u043e\u0432\u044b\u0435 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u043f\u0440\u0438 \u0436\u0435\u043b\u0430\u043d\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c. \u042f \u0434\u0430\u0436\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u043b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432.<\/p>\n<p>  \u0414\u043b\u044f \u043a\u043e\u043b\u043e\u043d\u0438\u0441\u0442\u043e\u0432:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/7f5\/ca7\/c80\/7f5ca7c80d444ade864e1213b7a85e60.png\"\/><\/p>\n<p>  \u0414\u043b\u044f \u0445\u043e\u0431\u0431\u0438\u0442\u043e\u0432:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/941\/05e\/ed4\/94105eed4f554e5286788bfeab3df7c6.png\"\/><\/p>\n<p>  \u0414\u043b\u044f \u0440\u043e\u043c\u0430\u043d\u0442\u0438\u043a\u043e\u0432:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/aed\/804\/3da\/aed8043da8794986a150611ef7e21b6c.png\"\/><\/p>\n<p>  \u0414\u043b\u044f \u043a\u043e\u0444\u0435\u043c\u0430\u043d\u043e\u0432:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/6d4\/0be\/56f\/6d40be56f89445c1aca705da660063ae.png\"\/><\/p>\n<p>  \u041f\u043e \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u0432\u0435\u0441\u044c \u043f\u0440\u0438\u0431\u043e\u0440 \u0434\u0430\u0436\u0435 \u043d\u0435 \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043c\u0435\u0442\u0435\u043e\u0441\u0442\u0430\u043d\u0446\u0438\u044f, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0431\u0435\u0441\u043f\u0440\u043e\u0432\u043e\u0434\u043d\u043e\u0439 \u0434\u0438\u0441\u043f\u043b\u0435\u0439. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0430\u044f: \u0432\u043d\u0443\u0442\u0440\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u044d\u043a\u0440\u0430\u043d, Arduino Pro Mini \u0438 \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a \u043d\u0430 433 \u041c\u0413\u0446 \u0441 \u0430\u043c\u043f\u043b\u0438\u0442\u0443\u0434\u043d\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u044f\u0446\u0438\u0435\u0439. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0432 \u0441\u0431\u043e\u0440\u043a\u0435 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0438\u043a\u0430\u043a\u0438\u0445: \u044d\u043a\u0440\u0430\u043d \u043a \u043f\u0438\u0442\u0430\u043d\u0438\u044e \u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u043f\u043e\u0440\u0442\u0443, \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a \u2014 \u043a \u043f\u0438\u0442\u0430\u043d\u0438\u044e \u0438 \u043f\u0438\u043d\u0443 2 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430. \u0418, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u044b\u0445 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0434\u0430\u0442\u0447\u0438\u043a\u0430\u0445 \u2014 \u044d\u0442\u043e \u0432\u0441\u0435.<\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0443 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e \u043e\u0434\u0438\u043d \u0438\u0437 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u043a\u043e\u0440\u043f\u0443\u0441\u0430 \u0441 \u043f\u043e\u0447\u0442\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0439 \u043d\u0430\u0447\u0438\u043d\u043a\u043e\u0439:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/700\/2b8\/086\/7002b80861af43d5a87296066f825fb3.JPG\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/41d\/4a0\/ec6\/41d4a0ec62ea4d57b458d40625b8a966.JPG\"\/><\/p>\n<p>  \u042f, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043d\u0435 \u043d\u0430\u0441\u0442\u0430\u0438\u0432\u0430\u044e \u043d\u0430 \u043d\u0435\u043f\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438, \u043d\u043e \u0432 \u043c\u043e\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u043d\u0430 \u0431\u044b\u043b\u0430 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u0430 \u0438 \u043f\u043e \u0442\u0440\u0443\u0434\u043e\u0435\u043c\u043a\u043e\u0441\u0442\u0438, \u0438 \u043f\u043e \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u0438 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u043a\u0438 \u0434\u043e\u043c\u0430.<\/p>\n<p>  \u041d\u0443 \u0430 \u0440\u0430\u0437\u043d\u0435\u0441\u0435\u043d\u0438\u0435 \u0434\u0438\u0441\u043f\u043b\u0435\u044f \u0438 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0441\u0430\u043c\u044b\u0439 \u0434\u0438\u0441\u043f\u043b\u0435\u0439 \u0432 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0443\u0434\u043e\u0431\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u2014 \u043a\u0430\u043a, \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0438 \u043b\u044e\u0431\u0443\u044e \u043c\u0435\u0442\u0435\u043e\u0441\u0442\u0430\u043d\u0446\u0438\u044e \u0441 \u0432\u044b\u043d\u043e\u0441\u043d\u044b\u043c\u0438 \u0434\u0430\u0442\u0447\u0438\u043a\u0430\u043c\u0438.<\/p>\n<p>  \u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435 \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u0438 \u043d\u0435 \u0432\u044b\u0437\u044b\u0432\u0430\u043b\u043e \u0436\u0438\u0432\u043e\u0442\u043d\u043e\u0433\u043e \u0443\u0436\u0430\u0441\u0430 \u043f\u0440\u0438 \u0432\u0438\u0434\u0435 \u043a\u043e\u043c\u043a\u043e\u0432 \u043f\u0440\u043e\u0432\u043e\u0434\u043e\u0432, \u043a\u0443\u0447\u043a\u0438 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u0438 \u0432\u0438\u0441\u044f\u0449\u0438\u0445 \u0432 \u0432\u043e\u0437\u0434\u0443\u0445\u0435 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432, \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043b\u043e \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u0442\u044c\u0441\u044f \u0441 \u043a\u043e\u0440\u043f\u0443\u0441\u0430\u043c\u0438.<\/p>\n<p>  \u0421\u0443\u0440\u043e\u0432\u0430\u044f \u043f\u0440\u0430\u0432\u0434\u0430 \u0436\u0438\u0437\u043d\u0438 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u043b\u0430\u0441\u044c \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043a\u043e\u0440\u043e\u0431\u043e\u0447\u043a\u0430, \u0433\u0434\u0435 \u0434\u043e \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u043f\u0440\u043e\u0436\u0438\u0432\u0430\u043b \u0411\u0414\u0421-\u041c, \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u043d\u0435\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u0430 \u0432\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0442\u0440\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u0442\u0447\u0438\u043a\u0430. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0434\u0430\u043b \u0432\u043e\u043b\u044e \u0447\u0443\u0432\u0441\u0442\u0432\u0430\u043c \u0438 \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u0430\u043b \u0443\u043c\u043e\u043f\u043e\u043c\u0440\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e <a href=\"http:\/\/www.thingiverse.com\/thing:674317\">\u043b\u0430\u043c\u043f\u0443 \u0430\u0432\u0442\u043e\u0440\u0441\u0442\u0432\u0430 Markellov<\/a>. <\/p>\n<p>  \u0421 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0435\u043e\u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u043e\u043d\u0430 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u0430, \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0440\u043e\u0434\u0443\u0432\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0435\u043c\u0438 \u0432\u0435\u0442\u0440\u0430\u043c\u0438 \u0438 \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u043d\u043e \u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0431\u0430\u0440\u0434\u0430\u043a \u0432\u043d\u0443\u0442\u0440\u0438. \u041f\u043e\u0441\u043b\u0435 \u0442\u0430\u043a\u0438\u0445 \u043c\u0435\u0442\u0430\u043c\u043e\u0440\u0444\u043e\u0440\u0437 \u0411\u0414\u0421-\u041c \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b: \u0442\u0435\u043f\u0435\u0440\u044c \u044d\u0442\u043e \u0433\u043b\u0430\u043c\u0443\u0440\u043d\u044b\u0439 (\u0435\u0441\u043b\u0438 \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442\u044c \u0431\u043b\u0438\u0437\u043a\u043e) \u041c\u0443\u043b\u044c\u0442\u0438\u0441\u0435\u043d\u0441\u043e\u0440:<\/p>\n<p>  \u041e\u0431\u043e\u043b\u043e\u0447\u043a\u0430:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/a8b\/afb\/02d\/a8bafb02d48a400fa5c15fd021572114.JPG\"\/><\/p>\n<p>  \u0412 \u0441\u0431\u043e\u0440\u0435 \u0438 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/65e\/4be\/cf8\/65e4becf853f44a786b39e7e741d38ae.JPG\"\/><\/p>\n<p>  \u0421 \u0431\u043b\u043e\u043a\u043e\u043c \u0434\u0438\u0441\u043f\u043b\u0435\u044f \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0441\u043b\u043e\u0436\u043d\u0435\u0435. \u0412\u043e\u043e\u0431\u0449\u0435, \u043c\u043d\u0435 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0432\u0438\u0434\u0435\u0442\u044c \u0435\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u043d\u044b\u043c \u0438 \u0431\u0440\u0443\u0442\u0430\u043b\u044c\u043d\u044b\u043c. \u041d\u0443, \u043d\u0430\u0442\u0443\u0440\u0430\u043b\u044c\u043d\u043e, \u043a\u0430\u043a \u0431\u0443\u0434\u0442\u043e \u0431\u044b \u0430\u0431\u043e\u0440\u0438\u0433\u0435\u043d, \u043d\u0430\u0448\u0435\u0434\u0448\u0438\u0439 \u0447\u0430\u0441\u0442\u044c \u043a\u043e\u0441\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0440\u0430\u0431\u043b\u044f, \u043e\u0431\u0440\u0430\u043c\u0438\u043b \u0435\u0435 \u0432 \u043a\u0430\u043c\u0435\u043d\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0440\u0430\u043c\u043a\u0430, \u043c\u043e\u0434\u0435\u043b\u044c \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0443\u0436\u0435 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u043b\u0438 \u0432 Nextion, \u043d\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u043b\u0430 \u043d\u0438\u043a\u043e\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043e\u043d\u0430 \u0431\u044b\u043b\u0430 \u0441\u0442\u0440\u0430\u0448\u043d\u0430\u044f, \u0432\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u0434\u0438\u0441\u043f\u043b\u0435\u0439 \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0441\u044f \u0442\u0430\u043c \u0432 \u0443\u0433\u043b\u0443\u0431\u043b\u0435\u043d\u0438\u0438, \u0447\u0442\u043e \u043c\u0435\u043d\u044f \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b\u043e \u2014 \u044f \u0445\u043e\u0442\u0435\u043b \u0432\u0440\u043e\u0432\u0435\u043d\u044c \u0441 \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u044c\u044e.<\/p>\n<p>  \u041d\u0430\u0447\u0430\u043b \u044f, \u043f\u0440\u0430\u0432\u0434\u0430, \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u0441 \u043f\u043b\u0430\u0441\u0442\u0438\u043a\u0430 \u2014 \u043f\u0440\u043e\u0441\u0442\u043e \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u043a\u0430\u0442\u0430\u0442\u044c \u0444\u043e\u0440\u043c\u0443. \u041f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/688\/8ba\/7e5\/6888ba7e5fb04821813a4f0cc8028b75.JPG\"\/><\/p>\n<p>  \u0412 \u0446\u0435\u043b\u043e\u043c \u043c\u043d\u0435 \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u043e\u0441\u044c (\u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043d\u0435\u0434\u043e\u0432\u043e\u043b\u044c\u0441\u0442\u0432\u043e \u0440\u0435\u0448\u0438\u043b \u043d\u0435 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u044c), \u043d\u043e \u0432\u043e\u0442 \u0432\u0435\u0441, \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0441\u043e\u0432\u0441\u0435\u043c \u0441\u043c\u0435\u0448\u043d\u043e\u0439, \u043d\u0435 \u043a\u0430\u043c\u0435\u043d\u043d\u044b\u0439. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043e\u0440\u043f\u0443\u0441\u043e\u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u043e\u043f\u0430\u043b\u0443\u0431\u043a\u0438 \u0434\u043b\u044f \u0438\u0437\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0435\u0442\u043e\u043d\u043d\u043e\u0439 \u00ab\u0440\u0430\u043c\u043a\u0438\u00bb. <\/p>\n<p>  \u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u043c\u0435\u043d\u044f \u043f\u043e\u0442\u0440\u044f\u0441 \u0434\u043e \u0433\u043b\u0443\u0431\u0438\u043d\u044b \u0434\u0443\u0448\u0438 \u2014 \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u0433\u0440\u044f\u0437\u0438 \u044f \u0434\u043e\u043c\u0430 \u0440\u0435\u0434\u043a\u043e \u0440\u0430\u0437\u0432\u043e\u0434\u0438\u043b. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u2014 \u0442\u043e\u0436\u0435. \u0425\u043e\u0442\u044f \u043c\u0435\u0441\u0442\u0430\u043c\u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u043e\u0447\u0435\u043d\u044c \u0434\u0430\u0436\u0435 \u043d\u0438\u0447\u0435\u0433\u043e, \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0430\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0430\u044f \u0440\u0435\u043c\u043e\u043d\u0442\u043d\u0430\u044f \u0441\u043c\u0435\u0441\u044c \u043d\u0435 \u043e\u0447\u0435\u043d\u044c-\u0442\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u0434\u043b\u044f \u0442\u0430\u043a\u0438\u0445 \u0438\u0437\u0434\u0435\u043b\u0438\u0439. <\/p>\n<p>  \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0447\u0438\u0441\u0442\u044b\u0439 \u043f\u0435\u0441\u043a\u043e\u0431\u0435\u0442\u043e\u043d, \u0431\u044b\u043b \u0431\u044b \u0438\u0434\u0435\u0430\u043b\u0435\u043d, \u043d\u043e \u043a \u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u043c\u0435\u043d\u0442\u0443 \u044f \u0443\u0436\u0435 \u0440\u0430\u0437\u043e\u0447\u0430\u0440\u043e\u0432\u0430\u043b\u0441\u044f \u0432 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043d\u0430\u0432\u044b\u043a\u0430\u0445 \u0438 \u0438\u0437\u043b\u043e\u0436\u0438\u043b \u0432\u0441\u0435, \u043a\u0430\u043a \u0435\u0441\u0442\u044c \u043a\u043e\u043b\u043b\u0435\u0433\u0435. \u0410 \u0442\u043e\u0442, \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u0434\u0443\u043c\u0430\u0432, \u0441\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u0438\u043c\u0435\u043b \u0432 \u0441\u0432\u043e\u0435\u0439 \u0436\u0438\u0437\u043d\u0438 \u0441\u0447\u0430\u0441\u0442\u044c\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043a\u0440\u0430\u0441\u043a\u043e\u0439-\u0441\u043f\u0440\u0435\u0435\u043c \u043f\u043e\u0434 \u043a\u0430\u043c\u0435\u043d\u044c.<\/p>\n<p>  \u0411\u0438\u043d\u0433\u043e, \u2014 \u043f\u043e\u0434\u0443\u043c\u0430\u043b \u044f \u043f\u0440\u043e \u0441\u0435\u0431\u044f, \u0438 \u043d\u0435\u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e \u0441\u0442\u0430\u043b \u0432\u044b\u043f\u044b\u0442\u044b\u0432\u0430\u0442\u044c \u0434\u0435\u0442\u0430\u043b\u0438. \u0412\u0435\u0434\u044c \u043e\u0442\u043f\u0435\u0447\u0430\u0442\u0430\u0442\u044c \u043a\u043e\u0440\u043f\u0443\u0441 \u0438 \u043f\u043e\u043a\u0440\u0430\u0441\u0438\u0442\u044c \u0435\u0433\u043e \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u044d\u0441\u0442\u0435\u0442\u0438\u0447\u043d\u0435\u0435, \u0447\u0435\u043c \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0434\u043e\u043c \u0432 \u043f\u043e\u043b\u043d\u043e\u0444\u043e\u0440\u043c\u0430\u0442\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043f\u043b\u043e\u0449\u0430\u0434\u043a\u0443. \u0412 \u043e\u0431\u0449\u0435\u043c, \u043a\u0440\u0430\u0441\u043a\u0430 \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u043d\u0435\u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u0438 \u0434\u043e\u0440\u043e\u0433\u0430\u044f, \u043d\u043e \u043e\u0447\u0435\u043d\u044c \u043a\u043b\u0430\u0441\u0441\u043d\u0430\u044f (\u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0438\u0445\u0441\u044f \u2014 Rust-Oleum American Accents Stone).<\/p>\n<p>  \u041f\u043e\u043f\u0443\u0442\u043d\u043e \u044f \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u0448\u0435\u043b \u043a \u0432\u044b\u0432\u043e\u0434\u0443, \u0447\u0442\u043e \u043a\u043e\u0440\u043f\u0443\u0441 \u043c\u043d\u0435 \u0432\u0441\u0435 \u0436\u0435 \u0447\u0435\u043c-\u0442\u043e \u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f (\u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0442\u043e\u043b\u0441\u0442\u044b\u043c\u0438 \u0440\u0430\u043c\u043a\u0430\u043c\u0438 \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u043f\u0435\u0440\u0438\u043c\u0435\u0442\u0440\u0443), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u0437\u044f\u043b \u0441\u0435\u0431\u044f \u0432 \u0440\u0443\u043a\u0438 \u0438, \u043f\u043e\u0441\u043b\u0435 \u0434\u043e\u043f\u0440\u043e\u0441\u0430 \u0441 \u043f\u0440\u0438\u0441\u0442\u0440\u0430\u0441\u0442\u0438\u0435\u043c, \u043f\u0440\u0438\u0448\u0435\u043b \u0432\u0440\u043e\u0434\u0435 \u0431\u044b \u043a \u0444\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0435.<\/p>\n<p>  \u0411\u044b\u043b\u043e:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/ff2\/ef2\/20a\/ff2ef220a1534983a766a1a8367e0224.JPG\"\/><\/p>\n<p>  \u0421\u0442\u0430\u043b\u043e:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/dfa\/fd7\/496\/dfafd749673e4d5fa288916efc429e6a.JPG\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/f7b\/341\/41a\/f7b34141a71f4b88a2f412087c6f1b7e.JPG\"\/><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/4e3\/882\/4dc\/4e38824dcdb54b879398271bd16834a6.JPG\"\/><\/p>\n<p>  \u041a\u0430\u043a \u043b\u0435\u0433\u043a\u043e \u0432\u0438\u0434\u0435\u0442\u044c, \u043e\u0442 \u043c\u0430\u0441\u0441\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u043d\u0435 \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0438 \u0441\u043b\u0435\u0434\u0430, \u043d\u043e \u043f\u043e\u0447\u0435\u043c\u0443-\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u0430 \u0444\u043e\u0440\u043c\u0430 \u043c\u043d\u0435 \u0431\u043e\u043b\u0435\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u043e \u0434\u0443\u0448\u0435. \u041d\u0430 \u043d\u0435\u0439 \u0438 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u044e\u0441\u044c. \u041f\u043e\u043a\u0430.<\/p>\n<p>  \u0412\u0438\u0434, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043d\u0430 \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u044f, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0442\u0440\u043e\u0445\u0430 \u044d\u043a\u0440\u0430\u043d\u0430 (\u0442\u043e\u0442 \u0436\u0435 \u0448\u043b\u0435\u0439\u0444 \u0441\u0435\u043d\u0441\u043e\u0440\u043d\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438) \u2014 \u043d\u0430 \u0432\u0438\u0434\u0443, \u0438 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u044d\u0442\u0438\u043c \u0440\u0430\u0437\u0443\u043c\u043d\u044b\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u043b\u044c\u0437\u044f. \u041d\u0435\u0440\u0430\u0437\u0443\u043c\u043d\u044b\u0435, \u043f\u043e \u043c\u043e\u0435\u043c\u0443 \u043c\u043d\u0435\u043d\u0438\u044e, \u2014 \u043d\u0430\u043a\u043b\u0430\u0434\u043a\u0438, \u043a\u0440\u0430\u0441\u043a\u0430, \u0441\u043a\u043e\u0442\u0447\u0438.<\/p>\n<p>  \u0410 \u0442\u0430\u043a \u043a\u0430\u043a \u043f\u0435\u0447\u0430\u0442\u0430\u043b \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u043c \u043f\u043b\u0430\u0441\u0442\u0438\u043a\u043e\u043c, \u043d\u043e\u0447\u044c\u044e \u0432\u043e\u043e\u0431\u0449\u0435 \u043a\u043e\u0441\u043c\u043e\u0441:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/c7e\/c9f\/222\/c7ec9f222f2745d2bf3213d045ffd4d8.jpg\"\/><\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445, \u0441\u043a\u0430\u0436\u0435\u043c \u0442\u0430\u043a, \u043d\u044e\u0430\u043d\u0441\u0430\u0445 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438. \u041d\u0430\u0447\u043d\u0443, \u043f\u043e\u0436\u0430\u043b\u0443\u0439, \u0441 \u0442\u043e\u0433\u043e \u0436\u0435 \u043a\u043e\u0440\u043f\u0443\u0441\u0430. \u0421\u0442\u0440\u0435\u043c\u043b\u0435\u043d\u0438\u0435 \u043a \u043a\u0440\u0430\u0441\u043e\u0442\u0435 \u0441\u044b\u0433\u0440\u0430\u043b\u043e \u0434\u0443\u0440\u043d\u0443\u044e \u0448\u0443\u0442\u043a\u0443: \u0442\u0430\u043a \u043a\u0430\u043a \u044f \u0436\u0435\u043b\u0430\u043b \u044d\u043a\u0440\u0430\u043d \u0432\u0440\u043e\u0432\u0435\u043d\u044c \u0441 \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u044c\u044e, \u0442\u043e \u0432\u044b\u0440\u0435\u0437 \u0434\u0435\u043b\u0430\u043b \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u0432\u043d\u0435\u0448\u043d\u0438\u043c \u0440\u0430\u0437\u043c\u0435\u0440\u0430\u043c \u0434\u0438\u0441\u043f\u043b\u0435\u044f. \u0418 \u0441\u043f\u0443\u0441\u0442\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0434\u0435\u0441\u044f\u0442\u043e\u043a \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u043a \u0442\u0430\u043a\u0438 \u0434\u043e\u0431\u0438\u043b\u0441\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u2014 \u0442\u043e \u043b\u0438 \u043f\u0435\u0440\u0435\u043b\u043e\u043c\u0438\u043b \u0448\u043b\u0435\u0439\u0444 \u0441\u0435\u043d\u0441\u043e\u0440\u043d\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438, \u0442\u043e \u043b\u0438 \u043d\u0430\u0440\u0443\u0448\u0438\u043b \u043a\u043e\u043d\u0442\u0430\u043a\u0442 \u0441 \u043f\u043b\u0430\u0442\u043e\u0439, \u043d\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u0435\u043d\u0441\u043e\u0440\u0430 \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u043d\u0435 \u043c\u043e\u0433\u0443 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u0434\u0438\u0437\u0430\u0439\u043d. \u041d\u0443 \u0438\u043b\u0438 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e, \u043d\u043e \u0438\u043c\u0435\u0439\u0442\u0435 \u0432 \u0432\u0438\u0434\u0443, \u0447\u0442\u043e \u044d\u0442\u043e \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0438 \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0445 (\u0434\u0430, \u044f \u0441\u0435\u0431\u0435 \u043d\u0430\u0433\u043b\u043e \u043b\u044c\u0449\u0443) \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u0441\u043b\u043e\u043c\u0430\u0442\u044c \u044d\u043a\u0440\u0430\u043d.<\/p>\n<p>  \u041f\u043b\u044e\u0441 \u043a\u043e \u0432\u0441\u0435\u043c\u0443 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u0435\u0440\u0435\u0431\u043e\u0440\u043e\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0435\u0439 \u0441\u0430\u043c\u043e\u0433\u043e \u044d\u043a\u0440\u0430\u043d\u0430, \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043b\u0438\u0447\u043d\u043e \u044f \u043c\u043e\u0433\u0443 \u043e\u0437\u0430\u0433\u043b\u0430\u0432\u0438\u0442\u044c \u043a\u0430\u043a \u00ab\u043d\u0435\u043b\u044c\u0437\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0438&#8230;\u00bb.<\/p>\n<p>  \u0418\u0442\u0430\u043a, \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0438 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u043b\u044e\u0431\u043e\u0439 \u0448\u0440\u0438\u0444\u0442. \u0422\u043e \u0435\u0441\u0442\u044c, \u0442\u0435\u043e\u0440\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u2014 \u0434\u0430. \u041b\u044e\u0431\u043e\u0439 \u0448\u0440\u0438\u0444\u0442 Windows \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0432\u043e \u0432\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0432 \u0441\u0440\u0435\u0434\u0443 Nextion \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0435\u0440 \u0438 \u043d\u0430 \u0432\u044b\u0445\u043e\u0434\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u0437\u0443\u0431\u0430\u0441\u0442\u044b\u0439 \u0440\u0430\u0441\u0442\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043d\u0435 \u043b\u0443\u0447\u0448\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.<\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0440\u0430\u0432\u043d\u0438\u0442\u0435 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0448\u0440\u0438\u0444\u0442 \u0438 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/fbd\/832\/99d\/fbd83299db274e43bfab9f7e5ffc5adf.jpg\"\/><\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u043f\u043e\u0439\u0442\u0438 \u043c\u0443\u0442\u043e\u0440\u043d\u044b\u043c \u043f\u0443\u0442\u0435\u043c. \u0418\u043c\u0435\u043d\u043d\u043e \u2014 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0447\u0438\u0441\u043b\u0430 \u0438 \u043f\u043e\u0434\u043f\u0438\u0441\u0438 \u0438\u0437 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432, \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0432 GIMP.<\/p>\n<p>  \u041f\u043e\u0442\u043e\u043c \u044f \u0441\u043f\u043e\u0442\u043a\u043d\u0443\u043b\u0441\u044f \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u0445. \u041e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u043a \u0432\u0437\u044f\u0442\u044c \u0438 \u0441\u043a\u043e\u0440\u043c\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u043e\u043c\u0443 \u0434\u043b\u044f \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u043a\u0440\u0438\u0432\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 Waveform \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u0441\u0435 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u043e\u043c\u0443 \u0444\u043e\u0440\u043c\u0430\u0442\u0443 \u2014 \u043e\u0442 0 \u0434\u043e 255 \u0438 \u0434\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0435 \u0442\u043e\u0447\u043a\u0438, \u0435\u0441\u043b\u0438 \u0438\u043c\u0435\u044e\u0449\u0438\u0445\u0441\u044f \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u0448\u0438\u0440\u0438\u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0430. <\/p>\n<p>  \u041d\u0443 \u0438 \u043f\u043e\u0442\u043e\u043c \u0432\u044b\u044f\u0441\u043d\u0438\u043b, \u0447\u0442\u043e \u0438 \u044d\u0442\u043e \u0435\u0449\u0435 \u043d\u0435 \u0432\u0441\u0435. \u041e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, 255 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0442\u043e\u0447\u0435\u043a \u043d\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0434\u0438\u0441\u043f\u043b\u0435\u0435\u043c \u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0432\u044b\u0441\u043e\u0442\u044b \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0430 Waveform. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u0432\u044b\u0441\u043e\u0442\u044b \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0430 Waveform \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e \u043c\u0435\u043d\u044f\u0442\u044c \u043c\u0430\u0441\u0448\u0442\u0430\u0431 \u0432\u0435\u043b\u0438\u0447\u0438\u043d, \u0438\u043d\u0430\u0447\u0435 \u0433\u0440\u0430\u0444\u0438\u043a \u0431\u0443\u0434\u0435\u0442 \u00ab\u043e\u0431\u0440\u0435\u0437\u0430\u0442\u044c\u0441\u044f\u00bb.<\/p>\n<p>  \u0415\u0449\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0441 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u043c \u0444\u043e\u043d\u043e\u043c, \u0447\u0442\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u043b\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u0443\u044e \u0448\u0438\u0440\u0438\u043d\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u043f\u043e\u043b\u0435\u0439 \u2014 \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0431\u044b\u043b\u043e \u043d\u0435\u043a\u0440\u0430\u0441\u0438\u0432\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u043a\u0440\u044b\u0442\u0438\u044f \u0432 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u0433\u0440\u0430\u0434\u0438\u0435\u043d\u0442\u0430 \u0443 \u0444\u043e\u043d\u043e\u0432\u043e\u0433\u043e \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f. \u041f\u043e-\u043c\u043e\u0435\u043c\u0443, \u0432 \u0444\u043e\u0440\u0443\u043c\u0435 Nextion \u044d\u0442\u043e \u043e\u0431\u0441\u0443\u0436\u0434\u0430\u043b\u0438 \u0438 \u0432\u0440\u043e\u0434\u0435 \u0431\u044b ITEAD \u043e\u0431\u0435\u0449\u0430\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u043c\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438, \u043d\u043e \u043f\u043e\u043a\u0430 \u0447\u0442\u043e \u043d\u0435 \u0441\u0434\u0435\u043b\u0430\u043b\u0438.<\/p>\n<p>  \u042d\u0442\u043e, \u043a\u0430\u043a \u0438 \u043c\u043e\u0438 \u043c\u0443\u0447\u0435\u043d\u0438\u044f \u0441 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u043f\u043e\u0440\u0442\u0430 (\u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0439 \u043e\u0442\u0440\u0438\u0441\u043e\u0432\u043a\u0438 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432), \u0431\u0435\u0437 \u0441\u043e\u043c\u043d\u0435\u043d\u0438\u044f, \u043f\u043e\u043a\u0430\u0436\u0435\u0442\u0441\u044f \u043e\u043f\u044b\u0442\u043d\u044b\u043c \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0430\u043c \u0441\u043c\u0435\u0448\u043d\u044b\u043c. \u041e\u0434\u043d\u0430\u043a\u043e \u043c\u043e\u043b\u0447\u0430\u0442\u044c \u043d\u0435 \u043c\u043e\u0433\u0443 \u2014 \u0441\u0438\u043b \u043d\u0430 \u043f\u0440\u0435\u043e\u0434\u043e\u043b\u0435\u043d\u0438\u0435 \u044f \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u043b \u043f\u0440\u0438\u043b\u0438\u0447\u043d\u043e.<\/p>\n<p>  \u041d\u043e \u0432 \u0446\u0435\u043b\u043e\u043c \u043e\u0449\u0443\u0449\u0430\u044e \u0441\u0435\u0431\u044f \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u0435\u043c. \u0427\u0442\u043e \u0445\u043e\u0442\u0435\u043b \u2014 \u0441\u0434\u0435\u043b\u0430\u043b, \u0438 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u044f \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0445 \u043f\u0440\u0438\u0431\u043e\u0440\u043e\u0432 \u043f\u043e\u043f\u043e\u043b\u043d\u0438\u043b\u0430\u0441\u044c \u0435\u0449\u0435 \u043e\u0434\u043d\u0438\u043c. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435, \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c: \u0443\u0434\u043e\u0431\u043d\u043e \u0441\u0440\u0430\u0437\u0443 \u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u0438, \u043d\u0435 \u0434\u043e\u0441\u0442\u0430\u0432\u0430\u044f \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d \u0438 \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440.<\/p>\n<p>  \u041f\u043b\u044e\u0441 \u043a \u0442\u043e\u043c\u0443, \u044d\u0442\u0430 \u0432\u0435\u0449\u044c \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 \u0438 \u0442\u0430\u043a\u043e\u043c \u0440\u0430\u0437\u0440\u0435\u0437\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0430\u043d\u0442\u0438-IoT \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e\u043c, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432\u0441\u0435 \u0441\u0432\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435. \u0410 \u0442\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u044f \u0441\u0435\u0431\u0435, \u043a\u0430\u043a \u0431\u044b \u0432\u0434\u0440\u0443\u0433 \u0440\u0430\u0437\u0434\u0435\u043b\u0430\u043b \u043c\u043e\u044e \u043c\u0435\u0442\u0435\u043e\u0441\u0442\u0430\u043d\u0446\u0438\u044e \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u0445\u0430\u043a\u0435\u0440 \u0441 \u043d\u0435\u043b\u0435\u043f\u044b\u043c \u0447\u0443\u0432\u0441\u0442\u0432\u043e\u043c \u044e\u043c\u043e\u0440\u0430 \u0438 \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u043b \u0431\u044b \u0435\u0435 \u0437\u0430\u043f\u0435\u0440\u0435\u0442\u044c \u0434\u0432\u0435\u0440\u044c.<\/p>\n<p>  \u042f \u0431\u044b \u043f\u043e\u0442\u043e\u043c \u0441\u043a\u0440\u0435\u0431\u0441\u044f \u0431\u044b \u0441\u043d\u0430\u0440\u0443\u0436\u0438 \u0441 \u043f\u0440\u043e\u0441\u044c\u0431\u0430\u043c\u0438 \u0432\u0440\u043e\u0434\u0435:<\/p>\n<p>   \u2014 Open the Pod bay doors, HAL<\/p>\n<p>  \u041f\u0440\u0430\u0432\u0434\u0430, \u0431\u044b\u043b\u043e \u0431\u044b \u0441\u043c\u0435\u0448\u043d\u043e?<\/p>\n<p>  P.S. \u0412 \u0438\u0437\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u0438\u0438 \u043f\u0440\u0438\u0431\u043e\u0440\u0430 \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e\u0432\u0430\u043b\u0441\u044f \u043f\u043e\u0441\u043e\u0431\u0438\u044f\u043c\u0438:<\/p>\n<p>  <a href=\"https:\/\/www.itead.cc\/wiki\/Nextion_HMI_Solution\">Nextion HMI Solution<\/a><br \/>  <a href=\"https:\/\/geektimes.ru\/company\/flprog\/blog\/273868\/\">FLProg + Nextion HMI. \u0423\u0440\u043e\u043a 1<\/a><br \/>  <a href=\"https:\/\/geektimes.ru\/company\/flprog\/blog\/274050\/\">FLProg + Nextion HMI. \u0423\u0440\u043e\u043a 2<\/a><br \/>  <a href=\"https:\/\/geektimes.ru\/company\/flprog\/blog\/274134\/\">FLProg + Nextion HMI. \u0423\u0440\u043e\u043a 3<\/a><\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0433\u0443 \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0438\u0442\u044c:<\/p>\n<p>  <a href=\"https:\/\/yadi.sk\/d\/h8HLEq7HypTQ8\">\u041c\u0430\u043a\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0434\u043b\u044f \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 Nextion Editor<\/a><br \/>  <a href=\"https:\/\/yadi.sk\/d\/z8VE836NypTXX\">\u0424\u0430\u0439\u043b \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0434\u043b\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432 \u0434\u0438\u0441\u043f\u043b\u0435\u0439<\/a><\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u0434\u0438\u0441\u043f\u043b\u0435\u0439\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0434\u043b\u044f Arduino<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">\/\/ v5: \u0434\u0432\u0430 \u043f\u043e\u0440\u0442\u0430 \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 Serial - Arduino, Serial1 - Nextion \/\/ v6: \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u0439 \/\/ v7: \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u0439 \u0441 \u0434\u043e\u043c\u0430\u0448\u043d\u0438\u0445 \u0440\u0430\u0434\u0438\u043e\u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \/\/ v8: \u043f\u0435\u0440\u0432\u0430\u044f \u043f\u043e\u043b\u043d\u0430\u044f \u0441\u0431\u043e\u0440\u043a\u0430 \u0432\u0441\u0435\u0445 \u0431\u043b\u043e\u043a\u043e\u0432 (\u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445, \u0432\u044b\u0432\u043e\u0434 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u044d\u043a\u0440\u0430\u043d, \u0432\u044b\u0432\u043e\u0434 \u0438\u0441\u0442\u043e\u0440\u0438\u0438) \/\/ v9: \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u0438 \u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 DHT.h Adafruit \/\/ v10: \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u0435 \u044f\u0440\u043a\u043e\u0441\u0442\u0438 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0438 \u043f\u043e\u0441\u043b\u0435 \u0442\u0430\u0439\u043c\u0430\u0443\u0442\u0430, \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u044b \u0441\u0434\u0430\u0447\u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u0439 \u0432 \u0430\u0440\u0445\u0438\u0432 \/\/ v11: \u043f\u0440\u044f\u043c\u043e\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 CO2\/PM2.5 \/\/ v12: \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0445 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u043f\u043e \u0440\u0430\u0434\u0438\u043e, reDraw \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 statusBoolean = true \/\/ ToDo: \u0433\u0440\u0430\u0444\u0438\u043a \u043f\u043e 40 \u0442\u043e\u0447\u043a\u0430\u043c, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0437\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u044b, \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e \u0432\u0441\u0435\u043c \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u043c (\u0441\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b)   #include &lt;DHT.h&gt; #include &lt;RCSwitch.h&gt; \/\/   http:\/\/code.google.com\/p\/rc-switch\/ #include &lt;MQ135.h&gt; \/\/ \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0434\u0430\u0442\u0447\u0438\u043a\u0430 CO2  #define measurePin  A1  \/\/ analog #define ledPower  12 \/\/ digital  #define samplingTime 280 #define deltaTime 40 #define sleepTime 9680  float voMeasured = 0; float calcVoltage = 0; float dustDensity = 0; float ppm = 0;   #define analogPin A0 \/\/ \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432\u044b\u0439 \u0432\u044b\u0445\u043e\u0434 MQ135 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u043a \u043f\u0438\u043d\u0443 A0 Arduino  MQ135 gasSensor = MQ135(analogPin); \/\/ \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0434\u0430\u0442\u0447\u0438\u043a\u0430   \/\/ \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u044b\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u043f\u043e\u043b\u0435\u0439    #define tempInX 10 #define tempOutX 380 \/\/ 415 #define humidityInX 320 \/\/325 #define humidityOutX 410 #define pressureX 20 \/\/ 10 #define ppmX 20 #define pmX 370 #define Y0 0 \/\/ \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 #define Y1 5 \/\/ \u0434\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u044c #define Y2 125 \/\/ \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 #define Y3 230 \/\/ ppm&pm #define dotY 125 \/\/ \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u0430\u044f \u0442\u043e\u0447\u043a\u0430 #define minusY 115\/\/ \u043c\u0438\u043d\u0443\u0441  \/\/ \u0437\u043d\u0430\u043a \u043c\u0438\u043d\u0443\u0441\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u0441\u043d\u0430\u0440\u0443\u0436\u0438 #define minusXOut 380  \/\/ \u0437\u043d\u0430\u043a \u043c\u0438\u043d\u0443\u0441\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u0432\u043d\u0443\u0442\u0440\u0438 #define minusXIn 10  \/\/ \u0432\u044b\u0441\u043e\u0442\u0430 \u043c\u0438\u043d\u0443\u0441\u0430 #define minusH 3   \/\/ \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0441 \u043c\u0438\u043d\u0443\u0441\u043e\u043c #define minusPicID 2   #define symbolID 1 \/\/ \u043d\u043e\u043c\u0435\u0440 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0441 \u0442\u0430\u0431\u0438\u0446\u0435\u0439 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432  #define statusTimeOut 2200000 \/\/ \u0432\u0440\u0435\u043c\u044f &quot;\u0436\u0438\u0437\u043d\u0438&quot; \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 (\u043f\u0435\u0440\u0438\u043e\u0434, \u0437\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0445\u043e\u0442\u044f \u0431\u044b \u0435\u0434\u0438\u043d\u043e\u0436\u0434\u044b) 900000 #define updateTimeOut 300000 \/\/ \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439 \u043d\u0430 \u0434\u0438\u0441\u043f\u043b\u0435\u0435 60000 (300000) #define historyTimeOut 1800000 \/\/ \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u0438\u0441\u0442\u043e\u0440\u0438\u044e (1800000) #define selectionTimeOut 5000 \/\/ \u0432\u0440\u0435\u043c\u044f \u0431\u0435\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0434\u043e \u043e\u0447\u0438\u0441\u0442\u043a\u0438 \u043c\u0435\u0442\u043e\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439 #define backLightTimeOut 300000 \/\/ \u0432\u0440\u0435\u043c\u044f \u0431\u0435\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0434\u043e \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u044f \u0443\u0440\u043e\u0432\u043d\u044f \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0438 #define waveLimit 254  int parameterS[7]; \/\/ \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u041f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c: tempIn, tempOut, humidityIn, humidityOut, pressure, ppm, pm byte statusS[7]; \/\/ \u043f\u043e\u0434\u0441\u0447\u0435\u0442 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u0442\u0430\u0442\u0443\u0441\u0430 \u0434\u0430\u0442\u0447\u0438\u043a\u0430 (\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \/ \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442) boolean statusBoolean[7]; \/\/ \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0438 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432  \/* \/\/ \u043c\u0430\u0441\u0441\u0438\u0432\u044b \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439 \u043d\u0430 \u0442\u0438\u0442\u0443\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 int coordinateX[7] = {tempInX, tempOutX, humidityInX, humidityOutX, pressureX, ppmX, pmX}; int coordinateY[7] = {Y2, Y2, Y1, Y1, Y1, Y3, Y3}; *\/  \/\/ \u043c\u0430\u0441\u0441\u0438\u0432\u044b \u0438\u0441\u0442\u043e\u0440\u0438\u0439 \/\/ \u041f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0441\u0442\u0440\u043e\u043a: tempIn, tempOut, humidityIn, humidityOut, pressure, ppm, pm int historyArray[7][48]; \/\/ 7 \u0441\u0442\u0440\u043e\u043a \u043f\u043e 48 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 boolean drawArray[7]; \/\/ \u043c\u0430\u0441\u0441\u0438\u0432 \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 int arrayMax; \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043c\u0438\u043d\u0438\u043c\u0443\u043c\u0430 \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 int arrayMin; byte waveShift; \/\/ \u043a\u043e\u0440\u0440\u0435\u043a\u0446\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0434\u043b\u044f \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043a \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0443 waveform 0 - 255 float arrayNorm; \/\/ \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u043f\u043e \u0432\u044b\u0441\u043e\u0442\u0435  byte count=0; \/\/ \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u043f\u043e\u043b\u044f byte arrayCounter; \/\/ \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0434\u043b\u044f \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 byte waveCount; \/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 \u043a \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044e int splitData[4]; \/\/ \u043c\u0430\u0441\u0441\u0438\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043d\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u044b [\u0435\u0434\u0438\u043d\u0438\u0446\u044b, \u0434\u0435\u0441\u044f\u0442\u043a\u0438, \u0441\u043e\u0442\u043d\u0438, \u0442\u044b\u0441\u044f\u0447\u0438] byte thousands, hundreds, tens, ones; \/\/ \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0447\u0430\u0441\u0442\u0435\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 int tempIn, tempOut, humidityIn, humidityOut, pressure; \/\/ int tempIn, tempOut, humidityIn, humidityOut, pressure, ppm, pm; int symbolX0; int posX; \/\/ \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u043f\u043e X \u043d\u0430 \u0434\u0438\u0441\u043f\u043b\u0435\u0435 byte tempInStatus, tempOutStatus, humidityInStatus, humidityOutStatus, pressureStatus, ppmStatus, pmStatus; \/\/ \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0439 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439 \u0437\u0430 \u043f\u0435\u0440\u0438\u043e\u0434 StatusTimeOut byte symbolCount, symbolWidth; boolean minusIn = false; \/\/ \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b boolean minusOut = false; byte i = 0; \/\/ \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0441\u0447\u0435\u0442\u0447\u0438\u043a unsigned long statusTime, updateTime, historyTime, selectionTime, backLightTime; String stringToNextion; byte historyCount; boolean backLight; \/\/ \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0438 \u043d\u0430 \u043f\u043e\u043b\u043d\u0443\u044e \u044f\u0440\u043a\u043e\u0441\u0442\u044c \u043f\u043e \u043f\u0435\u0440\u0432\u043e\u043c\u0443 \u043a\u0430\u0441\u0430\u043d\u0438\u044e \u043f\u043e\u0441\u043b\u0435 \u0441\u043d\u0438\u0436\u0435\u043d\u0438\u044f \u044f\u0440\u043a\u043e\u0441\u0442\u0438  int weatherData = 0; int dht22Humidity = 0;   \/\/CLICKER VARIABLE SECTION byte buffer[30]; \/\/ buffer for bytes coming from HMI. byte waveCounter = 0; \/\/ \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043d\u0430\u0436\u0430\u0442\u044b\u0445 \u043a\u043d\u043e\u043f\u043e\u043a \/\/ boolean drawArray[7]; \/\/ \u0441\u043f\u0438\u0441\u043e\u043a \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 boolean allClear; byte currentPage = 0; \/\/ \u043d\u043e\u043c\u0435\u0440 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b byte searchTarget, searchNumber, searchCounter, pageNum, drawCounter, channelToDraw; \/\/ int historyArray[7][48]; \/\/ 7 \u0441\u0442\u0440\u043e\u043a \u043f\u043e 48 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \/\/ int arrayMax; \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043c\u0438\u043d\u0438\u043c\u0443\u043c\u0430 \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \/\/ int arrayMin; \/\/ byte waveShift; \/\/ \u043a\u043e\u0440\u0440\u0435\u043a\u0446\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0434\u043b\u044f \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043a \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0443 waveform 0 - 255 \/\/ float arrayNorm; \/\/ \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u043f\u043e \u0432\u044b\u0441\u043e\u0442\u0435 byte iconCounter = 0;  \/\/ int splitData[4]; \/\/ \u043c\u0430\u0441\u0441\u0438\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043d\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u044b [\u0435\u0434\u0438\u043d\u0438\u0446\u044b, \u0434\u0435\u0441\u044f\u0442\u043a\u0438, \u0441\u043e\u0442\u043d\u0438, \u0442\u044b\u0441\u044f\u0447\u0438] \/\/ int posX; \/\/ \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u043f\u043e X \u043d\u0430 \u0434\u0438\u0441\u043f\u043b\u0435\u0435 \/\/ byte count = 0; \/\/ \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u043f\u043e\u043b\u044f \/\/ String stringToNextion; \/\/ int symbolX0; \/\/ byte symbolCount;  \/\/ \u0432\u044b\u0441\u043e\u0442\u0430 \u043c\u0438\u043d\u0443\u0441\u0430 #define minusH 3   \/\/ \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0441 \u043c\u0438\u043d\u0443\u0441\u043e\u043c #define minusPicID 2   \/\/ \u041c\u0430\u0441\u0441\u0438\u0432\u044b \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043c\u0435\u0441\u0442\u0430 \u0438\u043d\u0434\u0438\u043a\u0430\u0442\u043e\u0440\u0430 \u043d\u0430\u0436\u0430\u0442\u0438\u044f int axisX[5][7] = {{10, 380, 320, 410, 20, 20, 370}, \/\/ \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 0                {0, 0, 0, 0, 0, 0, 0},                {0, 0, 0, 0, 0, 0, 0},                {0, 0, 0, 0, 0, 0, 0},                {0, 0, 0, 0, 0, 0, 0}}; \/\/ \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 1-4  int axisY[5][7] = {{115, 115, 5, 5, 5, 230, 230}, \/\/ \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 0                {145,0, 0, 0, 0, 0, 0}, \/\/ \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 1                {63, 226, 0, 0, 0, 0, 0}, \/\/ \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 2                 {37, 145, 253, 0, 0, 0, 0 }, \/\/ \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 3                {25, 105, 185, 265, 0, 0, 0}}; \/\/ \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 4   byte symbolW[5][11] = {{25, 15, 30, 25, 30, 30, 25, 30, 25, 30, 5},                        {11, 6, 12, 12, 14, 13, 12, 13, 12, 12, 3},                        {11, 6, 12, 12, 14, 13, 12, 13, 12, 12, 3},                        {11, 6, 12, 12, 14, 13, 12, 13, 12, 12, 3},                        {11, 6, 12, 12, 14, 13, 12, 13, 12, 12, 3}};\/\/ \u0448\u0438\u0440\u0438\u043d\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 0, 1, 2, 3, 4, 5, 6, 7, 8, 9  \/\/ {13, 7, 15, 13, 17, 15, 13, 14, 14, 14, 5} \u0434\u043b\u044f \u0448\u0440\u0438\u0444\u0442\u0430 25 Comfortaa Light  byte numberPic[5] = {1, 3, 3, 3, 3}; \/\/ ID \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u0441 \u0446\u0438\u0444\u0440\u0430\u043c\u0438  byte symbolH[5] = {60, 18, 18, 18, 18}; \/\/ \u0432\u044b\u0441\u043e\u0442\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u043c 25 \u0434\u043b\u044f \u0448\u0440\u0438\u0444\u0442\u0430 25 Comfortaa Light  \/\/ CLICKER VARIABLE SECTION ENDS      \/\/ TREND VARIABLE SECTION  #define x2 70 \/\/ \u0441\u0443\u043c\u043c\u0430 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043e\u0432 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0442\u043e\u0447\u0435\u043a  int trendArray[3][6] = {{0, 0, 0, 0, 0, 0}, \/\/ \u043c\u0430\u0441\u0441\u0438\u0432 \u0434\u043b\u044f \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u0442\u0440\u0435\u043d\u0434\u0430                         {-5, -3, -1, 1, 3, 5},                         {0, 0, 0, 0, 0, 0}};  int sumY, sumXY; byte trendCount; int trend;   \/\/ TREND VARIABLE SECTION ENDS                    #define DHTPIN 7 #define DHTTYPE DHT22  \/\/ Setup a DHT22 instance DHT dht(DHTPIN, DHTTYPE);     \/\/ Setup RC-Switch RCSwitch mySwitch = RCSwitch();   void sendToNextion() {   Serial.write(0xff);   Serial.write(0xff);   Serial.write(0xff); }    \/\/ \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u0438 \u0441\u043d\u044f\u0442\u0438\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 void drawMark(byte mark, byte markNum) {  int markX;  \/\/ \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u043a \u0434\u043b\u044f \u0441\u0431\u0440\u043e\u0441\u0430 \u043c\u0435\u0442\u043e\u043a \u043f\u0440\u0438 \u0431\u0435\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438 if (allClear == true) {   allClear = false; }  markX = axisX[0][markNum];  if (markNum == 1 || markNum == 3 || markNum == 6) {   markX = 475; }   if (markNum == 0 || markNum == 4 || markNum == 5) {   markX = 0; }  if (markNum == 2) {   markX = markX - 15; }      stringToNextion = String(&quot;fill &quot;);     stringToNextion = stringToNextion + String(markX); \/\/ String(axisX[page, type]);     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(axisY[0][markNum]+30); \/\/ String(axisY[page, type]);     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(&quot;5&quot;);     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(&quot;30&quot;);     stringToNextion = stringToNextion + String(&quot;,&quot;);  if (mark == 1) {      stringToNextion = stringToNextion + String(&quot;RED&quot;); \/\/ \u043d\u043e\u043b\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 0, 0     \/\/ Serial2.println(&quot;Mark set&quot;);  }  if (mark == 0) {      stringToNextion = stringToNextion + String(&quot;BLACK&quot;); \/\/ \u043d\u043e\u043b\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 0, 0     \/\/ Serial2.println(&quot;Mark clear&quot;);  }      \/\/ Serial2.println(stringToNextion);     Serial.print(stringToNextion);     sendToNextion();    }  \/\/ \u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u044f: \u0441\u0431\u0440\u043e\u0441 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0438 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 void clearSelection() {    for (byte jj = 0; jj &lt; 7; jj++) {    if (drawArray[jj] == true) {     drawArray[jj] = false;     drawMark(0, jj);    }   }    allClear = true; \/\/ \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u0441\u043d\u044f\u0442\u044b\u0445 \u043c\u0435\u0442\u043e\u043a   waveCounter = 0; }      void updateHistory() { mySwitch.disableReceive();  \/\/ \u0441\u0434\u0432\u0438\u0433 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0432\u043f\u0440\u0430\u0432\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043b\u0435\u0432\u0430 \u0431\u044b\u043b\u0438 \u0441\u0430\u043c\u044b\u0435 \u043d\u043e\u0432\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f - \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 for (arrayCounter = 0; arrayCounter &lt; 7; arrayCounter++) {   \/\/ Serial2.print(&quot;StatusBoolean for array #&quot;);\/\/ Serial2.print(arrayCounter);\/\/ Serial2.print(&quot; = &quot;); \/\/ Serial2.println(statusBoolean[arrayCounter]);   if (statusBoolean[arrayCounter] == true) { \/\/ \u0435\u0441\u043b\u0438 \u0431\u044b\u043b\u0438 \u043d\u043e\u0432\u044b\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043f\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u043c\u0443 \u043a\u0430\u043d\u0430\u043b\u0443     for (i = 47; i &gt; 0; i--) {       historyArray[arrayCounter][i] = historyArray[arrayCounter][i-1]; \/\/ \u0441\u0434\u0432\u0438\u0433     }     historyArray[arrayCounter][0] = parameterS[arrayCounter]; \/\/ \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0433\u043e   }  \/\/ statusBoolean[arrayCounter] = false; \/\/ \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0441\u0431\u0438\u0432\u0430\u0442\u044c \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0440\u0438\u0441\u043e\u0432\u043a\u0435 \u044d\u043a\u0440\u0430\u043d\u0430    }  for (arrayCounter = 0; arrayCounter &lt; 7; arrayCounter++) {  for (i = 0; i &lt; 47; i++) {    \/\/ Serial2.print(historyArray[arrayCounter][i]);\/\/ Serial2.print(&quot;, &quot;);   }  \/\/ Serial2.println(); }  \/\/ Serial2.println();    mySwitch.enableReceive(0);    }    void drawTrend(byte arrayToTrend) {  int markX;  markX = axisX[0][arrayToTrend];  \/\/ \u0432\u044b\u0431\u043e\u0440 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b X \u0434\u043b\u044f \u043c\u0435\u0442\u043a\u0438 \u0442\u0440\u0435\u043d\u0434\u0430 if (arrayToTrend == 1 || arrayToTrend == 3 || arrayToTrend == 6) {   markX = 472; }   if (arrayToTrend == 0 || arrayToTrend == 4 || arrayToTrend == 5) {   markX = 0; }  if (arrayToTrend == 2) {   markX = markX - 15; }      stringToNextion = String(&quot;xpic &quot;);     stringToNextion = stringToNextion + String(markX); \/\/ \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u043f\u043e X     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(axisY[0][arrayToTrend]); \/\/ \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u043f\u043e Y     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(&quot;8&quot;); \/\/ \u0440\u0430\u0437\u043c\u0435\u0440 \u0437\u043d\u0430\u0447\u043a\u0430 \u0442\u0440\u0435\u043d\u0434\u0430 7x18     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(&quot;18&quot;); \/\/     stringToNextion = stringToNextion + String(&quot;,&quot;);  if (trend &gt; 0) {       stringToNextion = stringToNextion + String(&quot;0&quot;); \/\/ \u0432\u0432\u0435\u0440\u0445 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 0     stringToNextion = stringToNextion + String(&quot;,&quot;); \/\/      stringToNextion = stringToNextion + String(&quot;0&quot;); \/\/ \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 Y \u0434\u043b\u044f \u0432\u044b\u0440\u0435\u0437\u043a\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 0     }  if (trend &lt; 0) {      stringToNextion = stringToNextion + String(&quot;8&quot;); \/\/ \u0432\u043d\u0438\u0437 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 5     stringToNextion = stringToNextion + String(&quot;,&quot;); \/\/      stringToNextion = stringToNextion + String(&quot;0&quot;); \/\/ \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 Y \u0434\u043b\u044f \u0432\u044b\u0440\u0435\u0437\u043a\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 0      }  if (trend == 0) {      stringToNextion = stringToNextion + String(&quot;16&quot;); \/\/ \u0431\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 10     stringToNextion = stringToNextion + String(&quot;,&quot;); \/\/      stringToNextion = stringToNextion + String(&quot;0&quot;); \/\/ \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 Y \u0434\u043b\u044f \u0432\u044b\u0440\u0435\u0437\u043a\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 0   }      stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(&quot;5&quot;); \/\/ ID \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438 \u0441 \u043f\u0438\u043a\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u043c\u0438 \u0442\u0440\u0435\u043d\u0434\u043e\u0432     \/\/ Serial2.println(stringToNextion);         Serial.print(stringToNextion);     sendToNextion();   }    void splitRoutine(int input) {    input = abs(input); \/\/ \u043d\u0430 \u0437\u043d\u0430\u043a\u0438 \u0440\u0430\u0437\u0431\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0447\u0438\u0441\u043b\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0443\u043b\u044f, \u0437\u043d\u0430\u043a \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0437\u0436\u0435  for (count = 0; count &lt; 4; count++) {   splitData[count] = 0; \/\/ \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0430\u0441\u0441\u0438\u0432\u0430  }  count = 0;  if (input &gt; 9999) { \/\/ \u0435\u0441\u043b\u0438 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u0430 \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u043c\u0438 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u0439   count = 5; } else {  if (input &gt; 999) { \/\/ \u0434\u043e 9999   splitData[3] = input\/1000;   input = input - splitData[3]*1000;   count = 4; \/*   Serial.print(&quot;SplitData Count 4:&quot;);   Serial.println(splitData[3]); *\/ }  if (input &gt; 99) { \/\/ \u0434\u043e 999   splitData[2] = input\/100;   input = input - splitData[2]*100;   if (count == 0) {     count = 3; \/*   Serial.print(&quot;SplitData Count 3:&quot;);   Serial.println(splitData[2]); *\/     } }  if (input &gt; 9) { \/\/ \u0434\u043e 99   splitData[1] = input\/10;   input = input - splitData[1]*10;   if (count == 0) {     count = 2; \/*   Serial.print(&quot;SplitData Count 2:&quot;);   Serial.println(splitData[1]); *\/     } }   if (input &lt; 10) {   splitData[0] = input;   if (count == 0) {     count = 1; \/*   Serial.print(&quot;SplitData Count 1:&quot;);   Serial.println(splitData[0]); *\/     } }  } \/*   Serial.print(&quot;Input = &quot;);   Serial.println(input);   Serial.print(&quot;Count = &quot;);   Serial.println(count); *\/  }     void drawRoutine(byte page, int value, byte type, int drawX, int drawY) {   mySwitch.disableReceive();   \/\/ page - \u0432\u044b\u0431\u043e\u0440 \u0448\u0440\u0438\u0444\u0442\u0430; value = \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435; type = \u0432\u0438\u0434 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0432\u044b\u0431\u043e\u0440\u0430 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043f\u043e \u043e\u0441\u044f\u043c; drawX \u0441\u0442\u0430\u0440\u0442 \u043f\u043e \u043e\u0441\u0438 X, drawY - \u043f\u043e Y      boolean minusSign = false;    splitRoutine(value);    if (page == 0) { \/\/ \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043d\u0430 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \/\/ \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439 (\u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u0438 pm25) \u0441\u043f\u0440\u0430\u0432\u0430 \u043a \u043a\u0440\u0430\u0439\u043d\u0435\u0439 \u043f\u0440\u0430\u0432\u043e\u0439 \u0433\u0440\u0430\u043d\u0438\u0446\u0435 \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u043e\u0442\u0441\u0442\u0443\u043f\u043e\u043c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 470 = 480 - 10)   if (type == 1) { \/\/ \u0435\u0441\u043b\u0438 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430      drawX = 470 - count*30 - 5; \/\/ \u043e\u0442 \u043f\u0440\u0430\u0432\u043e\u0439 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0441 \u043e\u0442\u0441\u0442\u0443\u043f\u043e\u043c \u0432 10 \u043e\u0442\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u043c\u0435\u0441\u0442\u043e \u043d\u0430 \u043d\u0443\u0436\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u043f\u043e 30 \u0442\u043e\u0447\u0435\u043a \u043d\u0430 \u0441\u0438\u043c\u0432\u043e\u043b + 5 \u043d\u0430 \u0442\u043e\u0447\u043a\u0443     if (count == 1) {       drawX = drawX - 30; \/\/ \u0437\u0430\u043f\u0430\u0441 \u043d\u0430 0, \u0435\u0441\u043b\u0438 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b         }   }    if (type == 6) { \/\/ \u0435\u0441\u043b\u0438 pm25     drawX = 470 - count*30 - 5; \/\/ \u043e\u0442 \u043f\u0440\u0430\u0432\u043e\u0439 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0441 \u043e\u0442\u0441\u0442\u0443\u043f\u043e\u043c \u0432 20 \u043e\u0442\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u043c\u0435\u0441\u0442\u043e \u043d\u0430 \u043d\u0443\u0436\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432, \u043f\u043e 30 \u0442\u043e\u0447\u0435\u043a \u043d\u0430 \u0441\u0438\u043c\u0432\u043e\u043b     if (count == 1) {       drawX = drawX - 30;     }   } }    int posX = drawX;   if (value &lt; 0) {   minusSign = true;  }      if (count &lt; 5) { \/\/ \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 9999    if ((count == 1) && ((type == 0) || (type  == 1) || (type  == 6))) { \/\/ \u0435\u0441\u043b\u0438 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u0438\u043b\u0438 pm2.5 \u0438 \u0435\u0441\u043b\u0438 \u043c\u043e\u0434\u0443\u043b\u044c \u043c\u0435\u043d\u044c\u0448\u0435 0, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f 0 \u0441 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0439 \u0442\u043e\u0447\u043a\u043e\u0439   \/\/ xpic \u041d\u0430\u0447\u0430\u043b\u043eX, \u041d\u0430\u0447\u0430\u043b\u043eY, \u0428\u0438\u0440\u0438\u043d\u0430, \u0412\u044b\u0441\u043e\u0442\u0430, \u0412\u044b\u0440\u0435\u0437\u043a\u0430X, \u0412\u044b\u0440\u0435\u0437\u043a\u0430Y, \u041a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u0412\u044b\u0440\u0435\u0437\u043a\u0438      \/\/ \u043d\u043e\u043b\u044c     stringToNextion = String(&quot;xpic &quot;);     stringToNextion = stringToNextion + String(drawX); \/\/ String(axisX[page, type]);     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(drawY); \/\/ String(axisY[page, type]);     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(symbolW[page][0]);     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(symbolH[page]);     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(&quot;0&quot;); \/\/ \u043d\u043e\u043b\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 0, 0     stringToNextion = stringToNextion + String(&quot;,&quot;); \/\/ \u043d\u043e\u043b\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 0, 0     stringToNextion = stringToNextion + String(&quot;0&quot;); \/\/ \u043d\u043e\u043b\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 0, 0     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(numberPic[page]);    \/\/ \/\/ Serial2.println(&quot;Temp leading zero&quot;);    \/\/ \/\/ Serial2.println(stringToNextion);     Serial.print(stringToNextion);     sendToNextion();     drawX = drawX + symbolW[page][0]; \/\/ \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043d\u0430 \u0448\u0438\u0440\u0438\u043d\u0443 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 0           } \/\/ count = 1     for (byte ii = count; ii &gt; 0; ii--) { \/\/ \u0438\u043d\u0434\u0438\u043a\u0430\u0446\u0438\u044f \u0446\u0438\u0444\u0440 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441\u043e \u0441\u0442\u0430\u0440\u0448\u0435\u0439 \u0446\u0438\u0444\u0440\u044b      if ((ii == 1) && ((type == 0) || (type == 1) || (type == 6))) { \/\/ \u0432\u044b\u0432\u043e\u0434 \u0442\u043e\u0447\u043a\u0438, \u0435\u0441\u043b\u0438 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b        stringToNextion = String(&quot;xpic &quot;);       stringToNextion = stringToNextion + String(drawX); \/\/ String(axisX[page, type]);       stringToNextion = stringToNextion + String(&quot;,&quot;);       stringToNextion = stringToNextion + String(drawY); \/\/ String(axisY[page, type]);       stringToNextion = stringToNextion + String(&quot;,&quot;);       stringToNextion = stringToNextion + String(symbolW[page][10]);       stringToNextion = stringToNextion + String(&quot;,&quot;);       stringToNextion = stringToNextion + String(symbolH[page]);       stringToNextion = stringToNextion + String(&quot;,&quot;);       if (page == 0) {         stringToNextion = stringToNextion + String(&quot;265&quot;); \/\/ \u0432 \u0448\u0440\u0438\u0444\u0442\u0435 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0442\u043e\u0447\u043a\u0430 \u0432 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 265       } else {         stringToNextion = stringToNextion + String(&quot;118&quot;); \/\/ \u0432 \u0448\u0440\u0438\u0444\u0442\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446 \u0432 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 135 \u0434\u043b\u044f Comfortaa Light 25       }       stringToNextion = stringToNextion + String(&quot;,&quot;); \/\/        stringToNextion = stringToNextion + String(&quot;0&quot;); \/\/ \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u0430\u044f \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u043f\u043e Y \u0434\u043b\u044f \u0432\u044b\u0440\u0435\u0437\u043a\u0438 \u0432\u0441\u0435\u0433\u0434\u0430 0       stringToNextion = stringToNextion + String(&quot;,&quot;);       stringToNextion = stringToNextion + String(numberPic[page]);       \/\/ \/\/ Serial2.println(&quot;Temp decimal dot&quot;);      \/\/ \/\/ Serial2.println(stringToNextion);             Serial.print(stringToNextion);       sendToNextion();       drawX = drawX + symbolW[page][10]; \/\/ \u0441\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043d\u0430 \u0448\u0438\u0440\u0438\u043d\u0443 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u0442\u043e\u0447\u043a\u0438     } \/\/ ii == 1 && type == 0 || type == 1      \/\/ \u043f\u0435\u0447\u0430\u0442\u044c \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432         symbolX0 = 0; \/\/ \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432     for (symbolCount = 0; symbolCount &lt; (splitData[ii-1]);symbolCount++) { \/\/ \u0440\u0430\u0441\u0447\u0435\u0442 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u043f\u043e \u043e\u0441\u0438 X \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 (\u0440\u0430\u0441\u0447\u0435\u0442 \u0448\u0438\u0440\u0438\u043d \u0432\u0441\u0435\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432)       symbolX0 = symbolX0 + symbolW[page][symbolCount];     }      stringToNextion = String(&quot;xpic &quot;);     stringToNextion = stringToNextion + String(drawX); \/\/ String(axisX[page, type]);     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(drawY); \/\/ String(axisY[page, type]);     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(symbolW[page][splitData[ii-1]]);     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(symbolH[page]);     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(symbolX0); \/\/ \u043d\u043e\u043b\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 0, 0     stringToNextion = stringToNextion + String(&quot;,&quot;); \/\/ \u043d\u043e\u043b\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 0, 0     stringToNextion = stringToNextion + String(&quot;0&quot;); \/\/ \u043d\u043e\u043b\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 0, 0     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(numberPic[page]);    \/\/ \/\/ Serial2.print(&quot;Symbol: &quot;); \/\/ Serial2.println(splitData[ii-1]);   \/\/  \/\/ Serial2.println(stringToNextion);         Serial.print(stringToNextion);     sendToNextion();     drawX = drawX + symbolW[page][splitData[ii-1]];   }    if (minusSign == true) {      \/*     symbolX0 = 0; \/\/ \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0440\u0430\u0441\u0447\u0435\u0442\u0430 \u0434\u043b\u0438\u043d\u044b \u043c\u0438\u043d\u0443\u0441\u0430     for (byte ii = count; ii &gt; 0; ii--) {        symbolX0 = symbolX0 + symbolW[page][splitData[ii-1]];     }      *\/          stringToNextion = String(&quot;xpic &quot;);     stringToNextion = stringToNextion + String(posX); \/\/ String(axisX[page, type]);     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(drawY-8); \/\/ String(axisY[page, type]);     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(drawX - posX);     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(minusH); \/\/ \u0432\u044b\u0441\u043e\u0442\u0430 \u043c\u0438\u043d\u0443\u0441\u0430     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(0); \/\/ \u043d\u043e\u043b\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 0, 0     stringToNextion = stringToNextion + String(&quot;,&quot;); \/\/ \u043d\u043e\u043b\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 0, 0     stringToNextion = stringToNextion + String(&quot;0&quot;); \/\/ \u043d\u043e\u043b\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441 \u043f\u043e\u0437\u0438\u0446\u0438\u0438 0, 0     stringToNextion = stringToNextion + String(&quot;,&quot;);     stringToNextion = stringToNextion + String(minusPicID); \/\/    \/\/ Serial2.print(&quot;Symbol: &quot;); \/\/ Serial2.println(splitData[ii-1]);  \/\/   \/\/ Serial2.println(stringToNextion);         Serial.print(stringToNextion);     sendToNextion();        }     } \/\/ if count &lt; 5 \u0435\u0441\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 9999   mySwitch.enableReceive(0); }           \/\/ \u0432\u044b\u0431\u043e\u0440 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 (\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u0430) void getMinMax(byte arrayToMax, byte maxCount) {    byte getMaxCount = 0;  arrayMax = historyArray[arrayToMax][getMaxCount]; \/\/ \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c \u0440\u0430\u0432\u0435\u043d \u043f\u0435\u0440\u0432\u043e\u043c\u0443 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 arrayMin = historyArray[arrayToMax][getMaxCount]; \/\/ \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0440\u0430\u0432\u0435\u043d \u043f\u0435\u0440\u0432\u043e\u043c\u0443 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0443 \u043c\u0430\u0441\u0441\u0438\u0432\u0430  for (byte getMaxCount = 0; getMaxCount &lt; maxCount; getMaxCount++) { \/\/ maxCount 47 \u0434\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430, 6 \u0434\u043b\u044f \u0442\u0440\u0435\u043d\u0434\u0430      if (historyArray[arrayToMax][getMaxCount+1] &gt; arrayMax){      arrayMax = historyArray[arrayToMax][getMaxCount+1];   }    if (arrayMin &gt; historyArray[arrayToMax][getMaxCount+1]){      arrayMin = historyArray[arrayToMax][getMaxCount+1];   }    }   }        void getTrend(byte arrayToTrend) { mySwitch.disableReceive(); getMinMax(0, 6); \/\/ \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u043c\u0438\u043d\u0438\u043c\u0443\u043c\u0430 \u0438 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c\u0430 \u0434\u043b\u044f \u0441\u0434\u0432\u0438\u0433\u0430 \u0432\u044b\u0448\u0435 \u043d\u0443\u043b\u044f   for (trendCount = 0; trendCount &lt; 6; trendCount++) {   if (arrayMin &lt; 0) {     trendArray[0][trendCount] = historyArray[arrayToTrend][5-trendCount] + abs(arrayMin); \/\/ \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0441\u0434\u0432\u0438\u0433 \u043c\u0430\u0441\u0441\u0438\u0432\u0430   } else {     trendArray[0][trendCount] = historyArray[arrayToTrend][5-trendCount];   } }  sumY = 0; sumXY = 0;  \/\/ \u0441\u0443\u043c\u043c\u0430 \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0441\u0443\u043c\u043c\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0439 XY for (trendCount = 0; trendCount &lt; 7; trendCount++) {   sumY = sumY + trendArray[0][trendCount];   sumXY = sumXY + trendArray[0][trendCount]*trendArray[1][trendCount]; }  trend = (int) (sumY\/10 + (sumXY\/x2)*trendArray[1][5]) - (sumY\/10 + (sumXY\/x2)*trendArray[1][0])+0.5;  \/\/ Serial2.print(&quot;Trend: &quot;); \/\/ Serial2.println(trend);  drawTrend(arrayToTrend); mySwitch.enableReceive(0); }  void reDraw() {  mySwitch.disableReceive();  \/\/ Serial2.println(&quot;Redraw main page&quot;); \/* \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u0431\u043b\u043e\u043a \u0434\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438  for (i = 0; i &lt; 7; i++) {   parameterS[i] = random(255);   statusS[i] = 1;  } \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u0431\u043b\u043e\u043a \u0434\u043b\u044f \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0430\u0446\u0438\u0438 *\/    Serial.print(&quot;page 0&quot;);  sendToNextion();  \/\/ Serial.print(&quot;pic 0,0,6&quot;);  \/\/ sendToNextion();         for (i = 0; i &lt; 7; i++) {    \/\/ Serial2.print(&quot;StatusBoolean on reDraw for item &quot;); \/\/ Serial2.print(i); \/\/ Serial2.print(&quot; is &quot;); \/\/ Serial2.println(statusBoolean[i]);    if (statusBoolean[i] == true) { \/\/ \u0435\u0441\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u044b \u0434\u0430\u043d\u043d\u044b\u0435 \u0437\u0430 &quot;\u043f\u0435\u0440\u0438\u043e\u0434 \u0436\u0438\u0437\u043d\u0438&quot;     drawRoutine(currentPage, parameterS[i], i, axisX[currentPage][i], axisY[currentPage][i]);     \/\/ Serial2.print(&quot;Redraw, &quot;);\/\/ Serial2.print(i); \/\/ Serial2.print(&quot;: &quot;); \/\/ Serial2.println(parameterS[i]);     if (historyCount &gt; 5) {       getTrend(i);     }     }        }   mySwitch.enableReceive(0); }     void getNorm() {  arrayNorm = 1.00; \/\/ \u043c\u0430\u0441\u0448\u0442\u0430\u0431 1:1    arrayNorm = abs(arrayMax - arrayMin);        arrayNorm = waveLimit\/arrayNorm; \/\/ \u0440\u0430\u0441\u0447\u0435\u0442 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u044e\u0449\u0435\u0433\u043e \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u0430    }    void drawHistory(byte arrayCounter, byte waveCount){ mySwitch.disableReceive(); byte tC01 = 0; byte tC02 = 0;  int interPoint, lineMulti; int justPoint;    byte channelCount = 0; \/\/ \u0432\u044b\u0431\u043e\u0440 \u043a\u0430\u043d\u0430\u043b\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0430, \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 (ID = 0), \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a \u0441\u0432\u043e\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u0441 \u043e\u0434\u043d\u043e\u0439 \u043a\u0440\u0438\u0432\u043e\u0439        getMinMax(arrayCounter, 47); \/\/ \u0431\u044b\u043b\u043e 47 \u043f\u043e \u0433\u043b\u0443\u0431\u0438\u043d\u0435 \u0430\u0440\u0445\u0438\u0432\u0430, \u043d\u043e 39, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0432\u044b\u0445\u043e\u0434\u0438\u0442\u044c \u0437\u0430 \u043f\u0440\u0435\u0434\u0435\u043b\u044b \u0432\u0438\u0434\u0438\u043c\u043e\u0439 \u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u044d\u043a\u0440\u0430\u043d\u0430, \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u043d\u043e\u0439 \u043d\u0430 \u043f\u043e\u0434\u043f\u0438\u0441\u0438  \/\/     \/\/ Serial2.print(&quot;arrayMax: &quot;); \/\/ Serial2.println(arrayMax);  \/\/     \/\/ Serial2.print(&quot;arrayMin: &quot;); \/\/ Serial2.println(arrayMin);       getNorm();              if (currentPage == 2) {          arrayNorm = arrayNorm*0.5;             }        if (currentPage == 3) {          arrayNorm = arrayNorm*0.3;             }        if (currentPage == 4) {          arrayNorm = arrayNorm*0.2;       }   \/\/     \/\/ Serial2.print(&quot;arrayNorm: &quot;); \/\/ Serial2.println(arrayNorm);                  \/\/ \u043f\u0435\u0440\u0432\u0430\u044f \u0442\u043e\u0447\u043a\u0430       stringToNextion = String(&quot;add &quot;); \/\/ \u043d\u0430\u0447\u0430\u043b\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430       stringToNextion = stringToNextion + String(waveCount); \/\/ \u0432\u044b\u0431\u043e\u0440 \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u043f\u043e ID       stringToNextion = stringToNextion + String(&quot;,&quot;);       stringToNextion = stringToNextion + String(channelCount); \/\/ \u0432\u044b\u0431\u043e\u0440 \u043a\u0430\u043d\u0430\u043b\u0430 0, 1, 2 \u0438\u043b\u0438 3       stringToNextion = stringToNextion + String(&quot;,&quot;);       if (arrayMin &lt; 0) {         justPoint = (int) (historyArray[arrayCounter][tC01] + abs(arrayMin))*arrayNorm + 0.5;         stringToNextion = stringToNextion + String(justPoint); \/\/ \u043f\u0435\u0440\u0432\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u0438\u0437 \u043f\u0430\u0440\u044b       } else {         justPoint = (int) historyArray[arrayCounter][tC01]*arrayNorm + 0.5;         stringToNextion = stringToNextion + String(justPoint); \/\/ \u043f\u0435\u0440\u0432\u0430\u044f \u0442\u043e\u0447\u043a\u0430 \u0438\u0437 \u043f\u0430\u0440\u044b       }       Serial.print(stringToNextion);       \/\/ \/\/ Serial2.print(&quot;First point, original&quot;);\/\/ Serial2.println(historyArray[arrayCounter][tC01]);       \/\/ \/\/ Serial2.print(&quot;First point: &quot;); \/\/ Serial2.println(stringToNextion);                 sendToNextion();                           for (tC01 = 0; tC01 &lt; 46; tC01++) { \/\/ \u043d\u0430 \u043c\u0435\u0441\u0442\u0435 37 \u0431\u044b\u043b\u043e 46                      lineMulti = (historyArray[arrayCounter][tC01+1] - historyArray[arrayCounter][tC01])\/9; \/\/ \u0440\u0430\u0441\u0447\u0435\u0442 \u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0433\u043e \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u0430 \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043f\u0440\u044f\u043c\u043e\u0439 \u043c\u0435\u0436\u0434\u0443 \u0442\u043e\u0447\u043a\u0430\u043c\u0438 \u0433\u0440\u0430\u0444\u0438\u043a\u0430                      if (arrayMin &lt; 0) {             justPoint = (int) historyArray[arrayCounter][tC01] + abs(arrayMin) + lineMulti+0.5;             interPoint = justPoint;           } else {             justPoint = (int) historyArray[arrayCounter][tC01] + lineMulti + 0.5;             interPoint = justPoint;           }                      for (tC02 = 0; tC02 &lt; 7; tC02++) { \/\/ \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0445 \u0442\u043e\u0447\u0435\u043a, \u043b\u0438\u043d\u0435\u0439\u043d\u0430\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044c, \u0432 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u0435 \u0431\u044b\u043b\u043e 9             stringToNextion = String(&quot;add &quot;); \/\/ \u043d\u0430\u0447\u0430\u043b\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430             stringToNextion = stringToNextion + String(waveCount); \/\/ \u0432\u044b\u0431\u043e\u0440 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0434\u043b\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430 (1, 2, 3 \u0438\u043b\u0438 4 \u043a\u0430\u043d\u0430\u043b\u0430)             stringToNextion = stringToNextion + String(&quot;,&quot;);             stringToNextion = stringToNextion + String(channelCount); \/\/ \u0432\u044b\u0431\u043e\u0440 \u043a\u0430\u043d\u0430\u043b\u0430 0, 1, 2 \u0438\u043b\u0438 3             stringToNextion = stringToNextion + String(&quot;,&quot;);             justPoint = (int) interPoint*arrayNorm;             stringToNextion = stringToNextion + String(justPoint);             interPoint = (int) interPoint + lineMulti;             Serial.print(stringToNextion);               \/\/ \/\/ Serial2.print(&quot;Connecting point: &quot;); \/\/ Serial2.println(stringToNextion);                                            sendToNextion();                                 }           stringToNextion = String(&quot;add &quot;); \/\/ \u043d\u0430\u0447\u0430\u043b\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430           stringToNextion = stringToNextion + String(waveCount); \/\/ \u0432\u044b\u0431\u043e\u0440 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0434\u043b\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430 (1, 2, 3 \u0438\u043b\u0438 4 \u043a\u0430\u043d\u0430\u043b\u0430)           stringToNextion = stringToNextion + String(&quot;,&quot;);           stringToNextion = stringToNextion + String(channelCount); \/\/ \u0432\u044b\u0431\u043e\u0440 \u043a\u0430\u043d\u0430\u043b\u0430 0, 1, 2 \u0438\u043b\u0438 3           stringToNextion = stringToNextion + String(&quot;,&quot;);           if (arrayMin &lt; 0) {             justPoint = (int) (historyArray[arrayCounter][tC01+1] + abs(arrayMin))*arrayNorm + 0.5;             stringToNextion = stringToNextion + String(justPoint); \/\/ \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0442\u043e\u0447\u043a\u0430 \u0438\u0437 \u043f\u0430\u0440\u044b           } else {             justPoint = (int) historyArray[arrayCounter][tC01+1]*arrayNorm + 0.5;             stringToNextion = stringToNextion + String(justPoint); \/\/ \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0442\u043e\u0447\u043a\u0430 \u0438\u0437 \u043f\u0430\u0440\u044b           }                      Serial.print(stringToNextion);          \/\/ \/\/ Serial2.print(&quot;Next\/Last point, original: &quot;);\/\/ Serial2.println(historyArray[arrayCounter][tC01+1]);                          \/\/ \/\/ Serial2.print(&quot;Next\/Last point: &quot;); \/\/ Serial2.println(stringToNextion);                          sendToNextion();                                           }       mySwitch.enableReceive(0);      }          void drawIcon(int where, byte what) {  \/\/\/\/ Serial2.print(&quot;Where: &quot;); \/\/ Serial2.println(where); \/\/\/\/ Serial2.print(&quot;What: &quot;); \/\/ Serial2.println(what);  stringToNextion = String(&quot;xpic &quot;); stringToNextion = stringToNextion + String(&quot;0&quot;); \/\/ String(axisX[page, type]); stringToNextion = stringToNextion + String(&quot;,&quot;); stringToNextion = stringToNextion + String(where-3); \/\/ String(axisY[page, type]); stringToNextion = stringToNextion + String(&quot;,&quot;); stringToNextion = stringToNextion + String(80); \/\/ \u0440\u0430\u0437\u043c\u0435\u0440\u044b \u043f\u0438\u043a\u0442\u043e\u0433\u0440\u0430\u043c\u043c \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 stringToNextion = stringToNextion + String(&quot;,&quot;); stringToNextion = stringToNextion + String(30); stringToNextion = stringToNextion + String(&quot;,&quot;); stringToNextion = stringToNextion + String(what*80); \/\/ \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u044b\u0440\u0435\u0437\u043a\u0438 \u043f\u043e X = 80*\u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u043f\u0438\u043a\u0442\u043e\u0433\u0440\u0430\u043c\u043c\u044b stringToNextion = stringToNextion + String(&quot;,&quot;); \/\/  stringToNextion = stringToNextion + String(&quot;0&quot;); \/\/ \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u043f\u043e Y \u0432\u0441\u0435\u0433\u0434\u0430 0 stringToNextion = stringToNextion + String(&quot;,&quot;); stringToNextion = stringToNextion + String(4); \/\/\/\/ Serial2.println(stringToNextion); Serial.print(stringToNextion); sendToNextion();    }    void toPage(byte pageNum) { mySwitch.disableReceive(); currentPage = pageNum;  \/* \/\/ \u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 stringToNextion = String(&quot;ref page&quot;); stringToNextion = stringToNextion + String(pageNum); Serial.print(stringToNextion); sendToNextion(); *\/  \/\/ \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0448\u0435\u043d\u043d\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443   String stringToNextion = String(&quot;page &quot;);   stringToNextion = stringToNextion + String(pageNum);  \/\/ \/\/ Serial2.print(&quot;Switch to: &quot;); \/\/ Serial2.println(stringToNextion);   Serial.print(stringToNextion);   sendToNextion();    if (pageNum == 0) {   clearSelection();   reDraw(); }  \/\/ \u043f\u0435\u0440\u0435\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0441 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u043c\u0438   if (pageNum &gt; 0) {           if (pageNum == 1 && waveCounter &gt; 1) { \/\/ \u0435\u0441\u043b\u0438 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 \u0441\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u043c\u0438  \/\/     \/\/ Serial2.print(&quot;Draw single, searchCounter-1: &quot;); \/\/ Serial2.println(searchCounter-1);       getMinMax(searchCounter-1, 47); \/\/ \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u043c\u0438\u043d\u0438\u043c\u0443\u043c\u0430 \u0438 \u043c\u0430\u0441\u043a\u0441\u0438\u043c\u0443\u043c\u0430 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435   \/\/    \/\/ Serial2.print(&quot;arrayMax: &quot;); \/\/ Serial2.println(arrayMax);   \/\/    \/\/ Serial2.print(&quot;arrayMin: &quot;); \/\/ Serial2.println(arrayMin);       drawRoutine(pageNum, arrayMax, searchCounter-1, 0, 117); \/\/ 115       drawIcon(145, searchCounter-1);       drawRoutine(pageNum, arrayMin, searchCounter-1, 0, 185); \/\/ 175       drawHistory(searchCounter-1, 1); \/\/ \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u0430: \u043e\u0434\u0438\u043d \u0433\u0440\u0430\u0444\u0438\u043a \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435      } else {                \/\/ \u0432\u044b\u0432\u043e\u0434 \u043f\u0438\u043a\u0442\u043e\u0433\u0440\u0430\u043c\u043c               iconCounter = 0;               for (drawCounter = 0; drawCounter &lt; 7; drawCounter++) {                 if (drawArray[drawCounter] == true) {         \/\/          \/\/ Serial2.print(&quot;pageNum: &quot;); \/\/ Serial2.println(pageNum);        \/\/           \/\/ Serial2.print(&quot;iconCounter: &quot;); \/\/ Serial2.println(iconCounter);       \/\/            \/\/ Serial2.print(&quot;drawCounter: &quot;); \/\/ Serial2.println(drawCounter);                   getMinMax(drawCounter, 39); \/\/ \u043d\u0430 \u043c\u0435\u0441\u0442\u0435 39 \u0431\u044b\u043b\u043e 47       \/\/            \/\/ Serial2.print(&quot;arrayMax: &quot;); \/\/ Serial2.println(arrayMax);      \/\/             \/\/ Serial2.print(&quot;arrayMin: &quot;); \/\/ Serial2.println(arrayMin);                   drawRoutine(pageNum, arrayMax, drawCounter, 0, axisY[pageNum][iconCounter]-22);   \/\/ -30                                  drawIcon(axisY[pageNum][iconCounter], drawCounter);                   drawRoutine(pageNum, arrayMin, drawCounter, 0, axisY[pageNum][iconCounter]+35); \/\/ +30                   iconCounter++;                 }             }                     channelToDraw = 1; \/\/ \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u0443\u0436\u0435 \u043d\u0435 \u043a\u0430\u043d\u0430\u043b, \u0430 \u043d\u043e\u043c\u0435\u0440 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u0430, \u043d\u043e \u043e\u0431\u0440\u0430\u0437\u043d\u043e - \u043a\u0430\u043d\u0430\u043b               for (drawCounter = 0; drawCounter &lt; 7; drawCounter++) { \/\/ \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 &quot;\u0441 \u043d\u0443\u043b\u044f&quot;                 if (drawArray[drawCounter] == true) {                   drawHistory(drawCounter, channelToDraw);            \/\/       \/\/ Serial2.print(&quot;drawCounter \/ channelToDraw &quot;); \/\/ Serial2.print(drawCounter); \/\/ Serial2.print(&quot; | &quot;); \/\/ Serial2.println(channelToDraw);                   channelToDraw++;                  }               }       }     }        mySwitch.enableReceive(0); }    void setup() {    pinMode(ledPower,OUTPUT);  \/\/ pinMode(measurePin, INPUT);   pinMode(4, OUTPUT);  digitalWrite(4, HIGH);        currentPage = 0;   allClear = true;   historyCount = 0; \/\/ \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u043b\u044f \u043e\u0446\u0435\u043d\u043a\u0438 \u0442\u0440\u0435\u043d\u0434\u0430   backLight = true; \/\/ \u043f\u0440\u0438\u0437\u043d\u0430\u043a \u0434\u043b\u044f \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0438 \u043d\u0430 \u043f\u043e\u043b\u043d\u0443\u044e \u044f\u0440\u043a\u043e\u0441\u0442\u044c \u0431\u0435\u0437 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u0440\u0435\u0430\u043a\u0446\u0438\u0438, \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 false    \/\/ \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0438 \u0441\u0442\u0430\u0442\u0443\u0441\u043e\u0432 \/\/ \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432. \u041f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c: tempIn, tempOut, humidityIn, humidityOut, pressure, ppm, pm  for (i = 0; i &lt; 7; i++) {   parameterS[i] = 0;   statusS[i] = 1;  }  \/\/ \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 for (arrayCounter = 0; arrayCounter &lt; 7; arrayCounter++) {  for (i = 0; i&lt;48; i++) {   historyArray[arrayCounter][i]=0;  } }    statusTime = millis();  updateTime = millis();  historyTime = millis();  backLightTime = millis();   Serial.begin(9600);   Serial.print(&quot;baud=57600&quot;);   sendToNextion();  Serial.end();   Serial.begin(57600);  Serial.print(&quot;baud=57600&quot;);  sendToNextion();    \/\/ Serial2.begin(115200);  dht.begin();  mySwitch.enableReceive(0);  delay(2000);  Serial.print(&quot;page 0&quot;);  sendToNextion();  \/\/ Serial2.println(&quot;Ready&quot;);    reDraw(); }    void loop() {   \/\/ \u041f\u041e\u041b\u0423\u0427\u0415\u041d\u0418\u0415 \u0414\u0410\u041d\u041d\u042b\u0425 \u041e\u0422 \u0420\u0410\u0414\u0418\u041e\u0414\u0410\u0422\u0427\u0418\u041a\u041e\u0412     if (mySwitch.available()) { \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0434\u0430\u0442\u0447\u0438\u043a\u0438     int value = mySwitch.getReceivedValue();     if (value != 0) {     \/\/ Serial2.print(&quot;RC-Switch: &quot;); \/\/ Serial2.println(mySwitch.getReceivedValue()); \/\/ \u0412\u041b\u0410\u0416\u041d\u041e\u0421\u0422\u042c \u0418 \u0422\u0415\u041c\u041f\u0415\u0420\u0410\u0422\u0423\u0420\u0410 \u0421\u041d\u0410\u0420\u0423\u0416\u0418       if (mySwitch.getReceivedValue() \/ 100000 == 161) {          weatherData = mySwitch.getReceivedValue() - 16100000;         if (weatherData &gt; 10000) { \/\/ \u043f\u0440\u0438\u0448\u043b\u0430 \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u044c           parameterS[3] = (weatherData - 10000)\/10;           statusS[3] = statusS[3]+1;              statusBoolean[3] = true;           }         else { \/\/ \u043f\u0440\u0438\u0448\u043b\u0430 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430           if (weatherData &gt; 1000) { \/\/ \u043c\u0438\u043d\u0443\u0441\u043e\u0432\u0430\u044f \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430             parameterS[1] = -(weatherData - 1000);             minusOut = true;           }           else { \/\/ \u043f\u043b\u044e\u0441\u043e\u0432\u0430\u044f \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430             parameterS[1] = weatherData;             minusOut = false;           }         }           statusS[1] = statusS[1]+1;           statusBoolean[1] = true;       }  \/\/ \u0414\u0410\u0412\u041b\u0415\u041d\u0418\u0415 \u0418 \u0422\u0415\u041c\u041f\u0415\u0420\u0410\u0422\u0423\u0420\u0410 \u0412\u041d\u0423\u0422\u0420\u0418       if (mySwitch.getReceivedValue() \/ 10000 == 1210) {         parameterS[4] = (mySwitch.getReceivedValue() - 12100000) \/ 1.33; \/\/ \u043f\u0440\u0438\u0448\u043b\u043e \u0434\u0430\u0432\u043b\u0435\u043d\u0438\u0435         statusS[4] = statusS[4]+1;            statusBoolean[4] = true;            \/\/ Serial2.print(&quot;Pressure: &quot;); \/\/ Serial2.println(parameterS[4]);            }        if (mySwitch.getReceivedValue() \/ 100000 == 131) {         weatherData = mySwitch.getReceivedValue() - 13100000;         if (weatherData &gt; 1000) { \/\/ \u043c\u0438\u043d\u0443\u0441\u043e\u0432\u0430\u044f \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430           parameterS[0] = -(weatherData - 1000);           minusIn = true;         }         else { \/\/ \u043f\u043b\u044e\u0441\u043e\u0432\u0430\u044f \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430           parameterS[0] = weatherData;           minusIn = false;         }           statusS[0] = statusS[0]+1;           statusBoolean[0] = true;       }  \/\/ \u0412\u041b\u0410\u0416\u041d\u041e\u0421\u0422\u042c \u0412\u041d\u0423\u0422\u0420\u0418              if (mySwitch.getReceivedValue() \/ 10000 == 1212) {         parameterS[2] = (mySwitch.getReceivedValue() - 12120000); \/\/ \u0432\u043b\u0430\u0436\u043d\u043e\u0441\u0442\u044c         statusS[2] = statusS[2]+1;            statusBoolean[2] = true;            \/\/ Serial2.print(&quot;HumidityIn: &quot;); \/\/ Serial2.println(parameterS[2]);            } \/\/ CO2 PPM       if (mySwitch.getReceivedValue() \/ 10000 == 1213) {         parameterS[5] = (mySwitch.getReceivedValue() - 12130000); \/\/ CO2         statusS[5] = statusS[5]+1;            statusBoolean[5] = true;            \/\/ Serial2.print(&quot;CO2 PPM: &quot;); \/\/ Serial2.println(parameterS[5]);            }       \/\/ PM2.5       if (mySwitch.getReceivedValue() \/ 10000 == 1214) {         parameterS[6] = (mySwitch.getReceivedValue() - 12140000); \/\/ PM2.5         statusS[6] = statusS[6]+1;            statusBoolean[6] = true;            \/\/ Serial2.print(&quot;PM2.5: &quot;); \/\/ Serial2.println(parameterS[6]);            }       }     mySwitch.resetAvailable();     \/\/    mySwitch.enableReceive(0); \/\/ \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 RC Switch   }        \/\/ \u043e\u0447\u0438\u0441\u0442\u043a\u0430 \u043c\u0435\u0442\u043e\u043a \u043f\u0440\u0438 \u0431\u0435\u0437\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0438 if (currentPage == 0) {   if ((millis() - selectionTime) &gt; selectionTimeOut) {      if (allClear == false) {       clearSelection();     }   }  }    if (Serial.available())   {     bool moretocome = true;     int endcount = 0;     int bytesread = 0;     byte inbyte;     \/\/bool isascii = false;      while (moretocome)     {       inbyte = Serial.read();          delay(2);                if (inbyte == 0xFF)       {         endcount++;         if (endcount == 3)         {           moretocome = false;           \/\/ Serial2.println(&quot;&quot;);         }       }       else       {         endcount = 0;       }       buffer[bytesread] = inbyte;       bytesread++;      }      for (int x = 0; x &lt; bytesread; x++)     {       \/\/ Serial2.print(buffer[x], HEX);       \/\/ Serial2.print(&quot; &quot;);     }      \/\/\/\/ Serial2.println(bytesread, DEC);     \/\/ Serial2.println(&quot;&quot;);    }    if (buffer[0] == 101) { \/\/ \u0435\u0441\u043b\u0438 \u0441\u043e\u0431\u044b\u0442\u0438\u0435 \u043a\u043d\u043e\u043f\u043a\u0430    backLightTime = millis(); \/\/ \u0441\u0431\u0440\u043e\u0441 \u0442\u0430\u0439\u043c\u0435\u0440\u0430 \u0434\u043b\u044f \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0438 \u043f\u043e\u043a\u0430 \u043d\u0430\u0436\u0438\u043c\u0430\u044e\u0442\u0441\u044f \u043a\u043d\u043e\u043f\u043a\u0438\u044b    if (backLight == false) { \/\/ \u0435\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u0430 \u043b\u044e\u0431\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430, \u0430 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0430 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0430     \/\/ Serial2.println(&quot;Backlight 50%&quot;);     Serial.print(&quot;dim=100&quot;); \/\/ \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0438     sendToNextion();     backLight = true; \/\/ \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0439 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0438    } else { \/\/ \u0438\u043d\u0430\u0447\u0435 \u0438\u0441\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u043e \u043a\u043d\u043e\u043f\u043a\u0435          if (buffer[1] == 0) { \/\/ \u0435\u0441\u043b\u0438 \u043d\u0430 \u043d\u0443\u043b\u0435\u0432\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435       selectionTime = millis();       if (buffer[2] &lt; 8) { \/\/ \u0435\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0430 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f       if (waveCounter &lt; 4) { \/\/ \u0435\u0441\u043b\u0438 \u0432\u044b\u0431\u0440\u0430\u043d\u043e \u043c\u0435\u043d\u0435\u0435 4 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439         if (drawArray[buffer[2]-1] == false) { \/\/ \u0435\u0441\u043b\u0438 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d           drawArray[buffer[2]-1] = true; \/\/ \u043f\u043e\u043c\u0435\u0442\u043a\u0430 \u043d\u0430 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043c\u0430\u0441\u0441\u0438\u0432\u0430, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u043d\u0430\u0436\u0430\u0442\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0435           drawMark(1, buffer[2]-1);           waveCounter = waveCounter + 1; \/\/ \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432          \/\/     \/\/ Serial2.print(&quot;Set button: &quot;); \/\/ Serial2.println(buffer[2]);                \/\/     \/\/ Serial2.print(&quot;Total buttons: &quot;); \/\/ Serial2.println(waveCounter);         } else {           drawArray[buffer[2]-1] = false; \/\/ \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u043c\u0435\u0442\u043a\u0438 \u043d\u0430 \u0432\u0438\u0437\u0430\u0443\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043c\u0430\u0441\u0441\u0438\u0432\u0430           drawMark(0, buffer[2]-1);           if (waveCounter &gt; 0) {             waveCounter = waveCounter - 1;           }      \/\/     \/\/ Serial2.print(&quot;Clear button: &quot;); \/\/ Serial2.println(buffer[2]);                \/\/     \/\/ Serial2.print(&quot;Total buttons: &quot;); \/\/ Serial2.println(waveCounter);                   }       } else { \/\/ \u0435\u0441\u043b\u0438 \u0443\u0436\u0435 \u043f\u043e\u043c\u0435\u0447\u0435\u043d\u043e \u0447\u0435\u0442\u044b\u0440\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u0430         if (drawArray[buffer[2]-1] == true) { \/\/ \u0435\u0441\u043b\u0438 \u0441\u043d\u043e\u0432\u0430 \u043d\u0430\u0436\u0430\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0430, \u043d\u0430\u0436\u0430\u0442\u0430\u044f \u0440\u0430\u043d\u0435\u0435           drawArray[buffer[2]-1] = false; \/\/ \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u043c\u0435\u0442\u043a\u0438 \u043d\u0430 \u0432\u0438\u0437\u0430\u0443\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043c\u0430\u0441\u0441\u0438\u0432\u0430           drawMark(0, buffer[2]-1);           waveCounter = waveCounter - 1; \/\/ \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u0435 \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0430 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432      \/\/     \/\/ Serial2.print(&quot;Clear button: &quot;); \/\/ Serial2.println(buffer[2]);                \/\/     \/\/ Serial2.print(&quot;Total buttons: &quot;); \/\/ Serial2.println(waveCounter);                   }       }     } else { \/\/ \u0435\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0430 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043a \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u043c         currentPage = waveCounter;         toPage(waveCounter);           }     }     else {        if (currentPage &gt; 1) { \/\/ \u0435\u0441\u043b\u0438 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u0433\u0440\u0430\u0444\u0438\u043a\u0430, \u0438 \u043d\u0430\u0436\u0430\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0430 ID = 5 \u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 0         if (buffer[2] == 5) {           toPage(0);         }       }        if (currentPage == 1) { \/\/ \u0435\u0441\u043b\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 1 \u0438 \u043e\u0434\u0438\u043d \u0433\u0440\u0430\u0444\u0438\u043a, \u0438 \u043d\u0430\u0436\u0430\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0430 ID = 5 \u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 0         if (buffer[2] == 5) {           if (waveCounter == 1) {             toPage(0);           } else {             toPage(waveCounter); \/\/ \u0438\u043d\u0430\u0447\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0442 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u043f\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432           }         }       }        if (currentPage == 1) { \/\/ \u0435\u0441\u043b\u0438 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 1 \u0438 \u043d\u0430\u0436\u0430\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0430 \u0441 ID = 6 - \u0434\u043b\u044f \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u044d\u043a\u0440\u0430\u043d \u0431\u0435\u0437 \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u043a \u0433\u0440\u0430\u0444\u0438\u043a\u0430\u043c         if (buffer[2] == 6) {           toPage(0);         }       }                    \/\/ \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043f\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u043c      if (currentPage &gt; 1) { \/\/ \u0435\u0441\u043b\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0431\u043e\u043b\u044c\u0448\u0435 1, \u0442.\u0435 \u0433\u0440\u0430\u0444\u0438\u043a\u043e\u0432 \u0431\u043e\u043b\u044c\u0448\u0435 1       if (buffer[2] &gt; 5) { \/\/ \u0435\u0441\u043b\u0438 \u043d\u0430\u0436\u0430\u0442\u0430 \u043a\u043d\u043e\u043f\u043a\u0430 \u0441 ID &gt; 2, \u0442.\u0435. \u0432\u044b\u0431\u0440\u0430\u043d \u0433\u0440\u0430\u0444\u0438\u043a    \/\/     \/\/ Serial2.print(&quot;Buffer[2]: &quot;);    \/\/     \/\/ Serial2.println(buffer[2]);    \/\/     \/\/ Serial2.print(&quot;Normalized button: &quot;);         searchTarget = buffer[2] - 5; \/\/ &quot;\u043d\u043e\u0440\u043c\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f&quot; \u043d\u043e\u043c\u0435\u0440\u0430 \u043a\u043d\u043e\u043f\u043a\u0438, \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0443\u0436\u043d\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c: \u043a\u043d\u043e\u043f\u043a\u0430 1 - \u043f\u0435\u0440\u0432\u044b\u0439 \u0433\u0440\u0430\u0444\u0438\u043a - \u043f\u043e\u0434\u0441\u0447\u0435\u0442 true \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 drawarray \u0434\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f 1         searchNumber = 0;         searchCounter = 0;    \/\/     \/\/ Serial2.println(searchTarget);          while ((searchCounter &lt; 7) && (searchNumber &lt; searchTarget)) {           if (drawArray[searchCounter] == true) {             searchNumber++;           }           searchCounter++;         }             \/\/     \/\/ Serial2.print(&quot;searchCounter: &quot;); \/\/ Serial2.println(searchCounter);         toPage(1); \/\/ \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0433\u0440\u0430\u0444\u0438\u043a\u0430       }     }               }     }   }   buffer[0] = 0;  \/\/ \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f *Status \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 1 \u043f\u0440\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \/\/ \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u0435 \u0437\u0430\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e  \/\/ \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0442\u0430\u0442\u0443\u0441\u043e\u0432: \u0435\u0441\u043b\u0438 \u043f\u043e \u043e\u043a\u043e\u043d\u0447\u0430\u043d\u0438\u0438 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430 \u0441\u0447\u0435\u0442\u0447\u0438\u043a \u043d\u0430 \u043d\u0443\u043b\u0435, \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0435\u0433\u043e \u043d\u0430 9 if ((millis() - statusTime) &gt; statusTimeOut) {     for (i = 0; i &lt; 7; i++) { \/\/ \u043f\u043e \u0432\u0441\u0435\u043c \u0441\u0435\u043c\u0438   \/\/ Serial2.print(&quot;Status of &quot;); \/\/ Serial2.print(i); \/\/ Serial2.print(&quot; is: &quot;); \/\/ Serial2.println(statusS[i]);     if (statusS[i] == 0) {statusBoolean[i] = false;     \/\/ Serial2.print(&quot;As StatusS &quot;); \/\/ Serial2.print(i); \/\/ Serial2.print(&quot; is &quot;); \/\/ Serial2.print(statusS[i]); \/\/ Serial2.println(&quot; StatusBoolean set to false&quot;);     }     statusS[i] = 0; \/\/ \u0441\u0431\u0440\u043e\u0441 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043f\u0440\u0438\u043d\u044f\u0442\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445  }   statusTime = millis();    }  if (currentPage == 0) { \/\/ \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0443\u0449\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0430 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u043c \u044d\u043a\u0440\u0430\u043d\u0435    \/\/ \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u0434\u0438\u0441\u043f\u043b\u0435\u0435 if ((millis() - updateTime) &gt; updateTimeOut) {    reDraw();   updateTime = millis();  }      }  \/\/ \u0412\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0438 \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0433\u043b\u0430\u0432\u043d\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 if ((millis() - backLightTime) &gt; backLightTimeOut) {  if (backLight == true) {   backLight = false;   \/\/ Serial2.println(&quot;Backlight 15%&quot;);   \/\/Serial.print(&quot;page 0&quot;);   \/\/ sendToNextion();   currentPage = 0;   clearSelection();   reDraw();   Serial.print(&quot;dim=15&quot;);   sendToNextion();  }     }  \/\/ \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 if ((millis() - historyTime) &gt; historyTimeOut) {   updateHistory();      historyCount++;     \/\/ Serial2.print(&quot;History Q: &quot;); \/\/ Serial2.println(historyCount);     historyTime = millis();   }  }  <\/code><\/pre>\n<\/p><\/div>\n<\/div>\n<p>  <a href=\"http:\/\/www.thingiverse.com\/thing:1905956\">\u041c\u043e\u0434\u0435\u043b\u044c \u043a\u043e\u0440\u043f\u0443\u0441\u0430 (\u043e\u0441\u0442\u043e\u0440\u043e\u0436\u043d\u043e \u2014 \u043c\u043e\u0436\u043d\u043e \u0441\u043b\u043e\u043c\u0430\u0442\u044c \u044d\u043a\u0440\u0430\u043d)<\/a><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/geektimes.ru\/post\/282816\/\"> https:\/\/geektimes.ru\/post\/282816\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/4ce\/918\/71b\/4ce91871b01040ecb8a968131e3c4f32.jpg\"\/><\/p>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u0441\u0442\u044b\u0447\u043a\u0438 \u0441 \u0414\u044d\u0439\u0432\u043e\u043c \u0411\u043e\u0443\u043c\u0435\u043d\u043e\u043c \u043e\u0441\u0442\u0430\u0442\u043a\u043e\u0432 \u043d\u0435\u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0433\u0443\u0447\u0435\u0433\u043e \u0438\u043d\u0442\u0435\u043b\u043b\u0435\u043a\u0442\u0430 <a href=\"https:\/\/en.wikipedia.org\/wiki\/HAL_9000\">HAL 9000<\/a> \u0445\u0432\u0430\u0442\u0438\u043b\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u0435\u0440\u043d\u0443\u0442\u044c Discovery One \u043a \u0417\u0435\u043c\u043b\u0435 \u0438 \u043f\u043e\u0434 \u043b\u043e\u0437\u0443\u043d\u0433\u043e\u043c \u00ab\u0441\u043c\u0435\u0440\u0442\u044c \u0432\u0441\u0435\u043c \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430\u043c\u00bb \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u0435\u0433\u043e \u043e \u043f\u043b\u0430\u043d\u0435\u0442\u0443, \u0447\u0442\u043e\u0431\u044b \u0432\u043f\u0440\u0435\u0434\u044c \u043d\u0435\u043f\u043e\u0432\u0430\u0434\u043d\u043e \u0431\u044b\u043b\u043e \u0442\u0430\u043a \u043f\u043e\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u0441 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430\u043c\u0438.<\/p>\n<p>  \u0420\u0430\u0437\u0440\u0430\u0437\u0438\u0432\u0448\u0438\u0439\u0441\u044f \u043a\u0430\u0442\u0430\u043a\u043b\u0438\u0437\u043c, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0438\u043b \u0432\u0441\u0435 \u0440\u0430\u0437\u0443\u043c\u043d\u043e\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u0442\u0432\u043e, \u0438 \u043e\u0441\u0442\u0430\u043b\u0438\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0441\u043e\u0431\u0438 \u0432\u0440\u043e\u0434\u0435 \u043c\u0435\u043d\u044f \u2014 \u0441 \u043c\u043e\u043b\u043e\u0442\u043a\u043e\u043c \u0432 \u043e\u0434\u043d\u043e\u0439 \u0440\u0443\u043a\u0435 \u0438 Arduino \u2014 \u0432 \u0434\u0440\u0443\u0433\u043e\u0439. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435\u0443\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0447\u0442\u043e \u043d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0439 \u0432 \u0433\u043e\u0440\u0435 \u0435\u0449\u0435 \u0434\u044b\u043c\u044f\u0449\u0438\u0445\u0441\u044f \u043e\u0441\u0442\u0430\u0442\u043a\u043e\u0432 \u043a\u043e\u0441\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u0440\u0430\u0431\u043b\u044f \u0442\u0430\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u0438\u0431\u043e\u0440 \u043e\u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u0435\u043b\u044c \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u0442\u0432\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0440\u0430\u0437\u0432\u0435 \u0447\u0442\u043e \u0432 \u043c\u0435\u0442\u0435\u043e\u0441\u0442\u0430\u043d\u0446\u0438\u0438. \u041d\u0443 \u0438 \u043f\u043e\u0434\u0435\u043b\u043e\u043c \u0435\u043c\u0443!  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-281259","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/281259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=281259"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/281259\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=281259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=281259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=281259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}