{"id":351717,"date":"2024-05-20T21:54:05","date_gmt":"2024-05-20T21:54:05","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=351717"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=351717","title":{"rendered":"<span>2-\u043a\u0430\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0438 \u0441\u0434\u0432\u0438\u0433\u0430 \u0444\u0430\u0437 \u043d\u0430 Arduino \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 GyverTimers.h<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h2>\u0412\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435<\/h2>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/e2f\/1e5\/8e5\/e2f1e58e52fa70afd693be81b47d7216.JPG\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 1 - \u0423\u0441\u043b\u043e\u0432\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 1 - \u0423\u0441\u043b\u043e\u0432\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f\" width=\"1377\" height=\"886\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 1 &#8212; \u0423\u0441\u043b\u043e\u0432\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/b69\/e53\/19a\/b69e5319a5790c437c30f517939283ef.JPG\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 2 - \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 2 - \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430\" width=\"1129\" height=\"875\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 2 &#8212; \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430<\/figcaption><\/div>\n<\/figure>\n<h2>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/h2>\n<p>\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u043a\u043d\u043e\u043f\u043a\u0430\u043c\u0438 S1-S3 \u0414\u0432\u0443\u0445 \u0444\u0430\u0437\u043d\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043e\u0442 1\u0413\u0446 \u0434\u043e 9999\u0413\u0446, \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u044c\u043d\u044b\u0439 LCD1602. \u0412 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043e\u0431\u0430 \u043a\u0430\u043d\u0430\u043b\u0430  16-\u0431\u0438\u0442\u043d\u043e\u0433\u043e \u0442\u0430\u0439\u043c\u0435\u0440\u0430 (\u0441\u043c. \u0440\u0438\u0441\u0443\u043d\u043e\u043a 3 &#8212; Timer1). \u0421\u0434\u0432\u0438\u0433 \u0444\u0430\u0437\u044b \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0443 \u043a\u0430\u043d\u0430\u043b\u0430 \u0412. Arduino UNO \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430 NANO \u0438\u043b\u0438 \u043b\u044e\u0431\u0443\u044e \u0434\u0440\u0443\u0433\u0443\u044e \u043e\u0441\u043e\u0431\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442, \u043d\u043e \u0431\u0443\u0434\u044c\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u044b!<\/p>\n<p><a href=\"https:\/\/www.tinkercad.com\/things\/ihfy5TWwBBv-incredible-jofo\/editel\" rel=\"noopener noreferrer nofollow\">C\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0435\u043a\u0442<\/a>.<\/p>\n<p>*\u0431\u0443\u0434\u0435\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u044b <a href=\"https:\/\/www.tinkercad.com\/\" rel=\"noopener noreferrer nofollow\">https:\/\/www.tinkercad.com\/<\/a> \u043d\u0435\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 GyverTimers.h.<\/p>\n<p>\u0412 \u0441\u0445\u0435\u043c\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0430 \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0430, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e &#171;\u0428\u0418\u041c&#187;, \u044f\u0440\u043a\u043e\u0441\u0442\u0438 \u0438 \u043a\u043e\u043d\u0442\u0440\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 (\u0444\u0443\u043d\u043a\u0446\u0438\u044f DISPLAY_AND_CONTRAST() &#8212;  \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438). \u0422\u0430\u043a \u0436\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e  \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0434\u0432\u0438\u0433 \u0444\u0430\u0437\u044b \u0443 \u043e\u0431\u043e\u0438\u0445 \u043a\u0430\u043d\u0430\u043b\u043e\u0432, \u043d\u043e \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u0434\u043b\u044f \u043e\u0431\u043e\u0438\u0445 \u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0430 (\u0442\u0430\u043a \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f 1 \u0442\u0430\u0439\u043c\u0435\u0440), \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u043e\u0431\u0430 \u043a\u0430\u043d\u0430\u043b\u0430 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u044b, \u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043a\u0430\u043d\u0430\u043b\u044b \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f, \u0447\u0442\u043e \u0441\u0432\u0438\u0434\u0435\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0432 \u043f\u0440\u0430\u0432\u043e\u043c \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u0443\u0433\u043b\u0443 &#171;ON&#187; \u0438 &#171;OFF&#187;.<\/p>\n<p>\u0414\u043b\u044f \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0438 \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u0430\u043d\u0430\u043b\u0430 &#8212;  \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u0432\u043d\u0435\u0441\u0442\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f:<\/p>\n<ol>\n<li>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043b\u044f 2 \u0432\u044b\u0445\u043e\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u0442\u0430\u0439\u043c\u0435\u0440 (\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043a\u0430\u043d\u0430\u043b B \u0435\u0441\u043b\u0438 \u043d\u0435 \u0432\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u0438) \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u0443\u044f\u0441\u044c \u043f\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0435 (\u0441\u0441\u044b\u043b\u043a\u0430 \u043e\u0442 \u0430\u0432\u0442\u043e\u0440\u0430 GyverTimers.h) &#8212; <a href=\"https:\/\/alexgyver.ru\/gyvertimers\/\" rel=\"noopener noreferrer nofollow\">https:\/\/alexgyver.ru\/gyvertimers\/<\/a><\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/db7\/770\/91f\/db777091f2f372088ec4553c5cd9655b.png\" alt=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 3 - \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0442\u0430\u0439\u043c\u0435\u0440\u043e\u0432 ATmega328p\" title=\"\u0420\u0438\u0441\u0443\u043d\u043e\u043a 3 - \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0442\u0430\u0439\u043c\u0435\u0440\u043e\u0432 ATmega328p\" width=\"814\" height=\"269\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/db7\/770\/91f\/db777091f2f372088ec4553c5cd9655b.png\"\/><\/p>\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 3 &#8212; \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0442\u0430\u0439\u043c\u0435\u0440\u043e\u0432 ATmega328p<\/figcaption><\/div>\n<\/figure>\n<p>*\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u0442\u0430\u0439\u043c\u0435\u0440\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p> \u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u00ab\u043a\u043e\u043d\u0442\u0435\u043d\u0442\u00bb \u043d\u0430\u00a0LCD, \u043f\u0440\u043e\u0449\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c LCD1604, \u0438\u043b\u0438 \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u043e\u0435 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u0434\u043b\u044f  \u0440\u0443\u0447\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u0438 \u0441\u0434\u0432\u0438\u0433\u0430 \u043e\u0431\u043e\u0438\u0445 \u0442\u0430\u0439\u043c\u0435\u0440\u043e\u0432.<\/p>\n<p>*\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0441\u0434\u0432\u0438\u0433 \u0444\u0430\u0437\u044b \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0430\u043c\u043e\u0433\u043e \u0442\u0430\u0439\u043c\u0435\u0440\u0430 (\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0433\u043e \u043a\u0430\u043d\u0430\u043b\u0430), \u0430 \u043d\u0435 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 (\u043c\u0435\u0436\u0434\u0443 \u0442\u0430\u0439\u043c\u0435\u0440\u0430\u043c\u0438). \u0425\u043e\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044f \u043e\u0431\u0430 \u0442\u0430\u0439\u043c\u0435\u0440\u0430 \u0443\u0441\u043b\u043e\u0432\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u043d\u0430 \u0432\u0435\u0440\u0443 \u0438\u0445 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0441\u0442\u044c, \u043e\u0434\u043d\u0430\u043a\u043e \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e.<\/p>\n<\/li>\n<li>\n<p>\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043a\u0430\u0440\u0442\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u043a\u0443\u0440\u0441\u043e\u0440\u0430, \u0435\u0433\u043e \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043a\u043e\u0434 \u043e\u0431\u044f\u0437\u0430\u043d \u0441\u043f\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0441 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043d\u0430 LCD, \u043a\u0430\u043a\u043e\u0435 \u0443\u0434\u043e\u0431\u043d\u043e \u0412\u0430\u043c, \u0430 \u0442\u0430\u043a \u0436\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043a\u0443\u0440\u0441\u043e\u0440\u0430 \u0438\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u044b.<\/p>\n<\/li>\n<\/ol>\n<p>\u0414\u043b\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c &#171;c\u0435\u0433\u043c\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c&#187; (\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u0440\u044f\u0434\u043e\u0432) \u0438\u043b\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0441 \u0413\u0446 \u043d\u0430 \u041a\u0413\u0446, \u043d\u043e \u043f\u043e\u043c\u043d\u0438\u0442\u0435 \u0447\u0442\u043e \u043c\u0430\u043a\u0441 \u0447\u0430\u0441\u0442\u043e\u0442\u0430 1\u041c\u0413\u0446(\u0441\u043c. \u0420\u0438\u0441\u0443\u043d\u043e\u043a 3)., \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0442\u0430\u043a \u0436\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0435\u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043a\u043e\u0434, \u0441 \u0442\u0435\u043c\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u0412\u0430\u043c, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443:<\/p>\n<ol>\n<li>\n<p>\u041f\u043e \u043d\u0430\u0436\u0430\u0442\u0438\u044e \u043d\u0430 Hz \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430 KHz,<\/p>\n<\/li>\n<li>\n<p>\u0412 \u043a\u043e\u0434\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0430 KHz<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e \u0432\u0430\u0448\u0435\u043c\u0443 \u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044e.<\/p>\n<\/li>\n<\/ol>\n<p>\u0418\u0422\u041e\u0413<\/p>\n<p>\u041f\u0440\u043e\u0441\u0442\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u0430\u0440\u0430\u0437\u0438\u0442\u0438\u0440\u0443\u044e\u0449\u0435\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 &#171;GyverTimers.h&#187;, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0438\u043b\u044c\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0442\u0430\u0439\u043c\u0435\u0440\u043e\u043c. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043a\u043e\u0434 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0445 \u0431\u043b\u043e\u043a\u043e\u0432 &#171;\u0440\u0430\u0431\u043e\u0442\u0430 \u0441 LCD&#187; \u0438 &#171;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0442\u0430\u0439\u043c\u0435\u0440\u0430&#187;. <\/p>\n<p>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043a\u043e\u0434 (<strong>Arduino C<\/strong> ):<\/p>\n<p>*\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0447\u0442\u043e \u0441 \u0432\u043a\u043b LCD, \u043f\u0438\u0442\u0430\u044f \u0432\u0441\u044e \u043f\u043b\u0430\u0442\u0443 \u043e USB \u043f\u043e\u0440\u0442\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430, \u0432\u043f\u043e\u043b\u043d\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0434\u0435\u0442 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f, \u0447\u0442\u043e Arduino \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0448\u0438\u0432\u0430\u0442\u044c\u0441\u044f, \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u0435 LCD, \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438.<\/p>\n<pre><code class=\"cpp\">\/****************************************************\/ \/*               2-\u0445 \u0444\u0430\u0437\u043d\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440               *\/ \/*                                                  *\/ \/*                                                  *\/ \/*                                                  *\/ \/****************************************************\/ \/\/ \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a #include &lt;GyverTimers.h>    \/\/ \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 GyverTimers (\u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0442\u0430\u0439\u043c\u0435\u0440\u043e\u043c \u0418! \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0441\u0434\u0432\u0438\u0433 \u0444\u0430\u0437\u044b) #include &lt;LiquidCrystal.h>  \/\/ \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 LiquidCrystal  \/****************************************************\/ \/\/ \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442-\u044d\u043a\u0440\u0430\u043d, \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 LiquidCrystal lcd(8, 7, 15, 14, 11, 12);  \/\/ RS, E, D4, D5, D6, D7 *\/  \/****************************************************\/ \/\/ \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0438\u043d\u043e\u0432 #define LEFT_BUTTON 4                \/\/ \u043b\u0435\u0432\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430   #define RIGHT_BUTTON 2               \/\/ \u043f\u0440\u0430\u0432\u0430 \u043a\u043d\u043e\u043f\u043a\u0430            #define CENTRE_BUTTON 3              \/\/ \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430  #define DISPLAY_CONTRAST_ON 5        \/\/ \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0440\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e \u0428\u0418\u041c #define DISPLAY_LIGHT_ON 6           \/\/ \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u043e\u0439 \u0428\u0418\u041c  #define CHANNEL_TIMER_A 9            \/\/ \u0432\u044b\u0445\u043e\u0434 \u043a\u0430\u043d\u0430\u043b\u0430 \u0410 1 \u0442\u0430\u0439\u043c\u0435\u0440\u0430 #define CHANNEL_TIMER_B 10           \/\/ \u0432\u044b\u0445\u043e\u0434 \u043a\u0430\u043d\u0430\u043b\u0430 \u0412 1 \u0442\u0430\u0439\u043c\u0435\u0440\u0430  \/****************************************************\/ \/\/\u0442\u0430\u0439\u043c\u0435\u0440 #define AMOUNT_VALUE_FREQUENCY_NUMBER 4      \/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u043d\u0430\u043a\u043e\u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043e\u0431\u043e\u0438\u0445 \u043a\u0430\u043d\u0430\u043b\u043e\u0432 #define AMOUNT_VALUE_FREQUENCY_DEVIATION 2   \/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u043d\u0430\u043a\u043e\u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043a\u0430\u043d\u0430\u043b\u0430 \u0412 #define ON_TEXT \"ON \"                        \/\/ \u0422\u0435\u043a\u0441\u0442 \u043d\u0430 LCD \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u043a\u0430\u043d\u0430\u043b\u043b\u044b \u0432\u043a\u043b #define OFF_TEXT \"OFF\"                       \/\/ \u0422\u0435\u043a\u0441\u0442 \u043d\u0430 LCD \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u043a\u0430\u043d\u0430\u043b\u043b\u044b \u0432\u044b\u043a\u043b    \/****************************************************\/ \/\/ \u041f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043a\u0443\u0440\u0441\u043e\u0440\u0430  int cur_col = 0;                     \/\/ \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f (\u0441\u0442\u043e\u043b\u0431\u0435\u0446) int cur_row = 0;                     \/\/ \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f (\u0441\u0442\u0440\u043e\u043a\u0430)    \/****************************************************\/ \/\/ LCD \/\/ \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c: #define NUMBER_COL_USE_LCD 16        \/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0442\u0441\u0432\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 (\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u0442 1) \u043d\u043e \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0442 0 #define NUMBER_ROW_USE_LCD 2         \/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0442\u0441\u0432\u043e \u0441\u0442\u0440\u043e\u043a (\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u0442 1) \u043d\u043e \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0442 0 int number_row[]  =                  \/\/ \u043d\u043e\u043c\u0435\u0440\u0430 \u0441\u0442\u0440\u043e\u043a LCD ( \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043a\u0443\u0440\u0441\u043e\u0440\u0430) { 0, 1};  \/****************************************************\/ \/\/ \u043a\u043e\u043d\u0442\u0435\u043d\u0442 LCD \/\/ **\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 1** \/\/ \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b 1 String content_page_one[] =          \/\/ \u043c\u0430\u0441\u0441\u0438\u0432 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 1 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b { \"Ch1:0100Hz ->ON \",                \/\/ 0 \u0441\u0442\u0440\u043e\u043a\u0430   \"F1:180'\"};                        \/\/ 1 \u0441\u0442\u0440\u043e\u043a\u0430  int position_cursor_page_one[4][4] = \/\/ \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0442\u0430\u044b \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0442\u044c \u043a\u0443\u0440\u0441\u043e\u0440( 1 \u0438\u043d\u0434\u0435\u043a\u0441 = \u0441\u0442\u0440\u043e\u043a\u0430) (2 \u0438\u043d\u0434\u0435\u043a\u0441 = \u0441\u0442\u043e\u043b\u0431\u0435\u0446)                   {   { 4, 5, 6, 7},                     \/\/ \u041a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b 1 \u0440\u044f\u0434\u0430 1 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b (0-3)   { 3, 4, 5},                        \/\/ \u041a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b 2 \u0440\u044f\u0434\u0430 1 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b (4-5)  };   int amount_position_page_one[] =     \/\/ \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e(\u0440\u0430\u0437\u043c\u0435\u0440 \u043c\u0430\u0441\u0441\u0438\u0432\u0430) \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u043b\u0438\u043d\u0438\u0438   { 3, 2};                           \/\/( \u0442\u0430\u043a \u043a\u0430\u043a \u0441\u0430\u043c\u043e\u0433\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d)( sizeoof - \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u0430 \u043d\u0435 \u043a\u043e\u0434\u0430)       \/\/ \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f(VALUE) \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 1 (\u0438\u043d\u0434\u0435\u043a\u0441 = \u0440\u0430\u0437\u0440\u044f\u0434\u0443( \u043d\u0430\u0447\u0430\u043b\u043e \u0441 \u043a\u043e\u043d\u0446\u0430) int value_content_one_page[][4] =  {   { 0, 1, 0, 0},                     \/\/ \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u043a\u0430\u043d\u0430\u043b\u0430 A \u0438 B   { 1, 8, 0},                        \/\/ \u0441\u0434\u0432\u0438\u0433 \u043f\u043e \u0444\u0430\u0437\u0435 \u043a\u0430\u043d\u0430\u043b\u0430  B }; int amount_value_page_one[] =        \/\/ \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e(\u0440\u0430\u0437\u043c\u0435\u0440 \u043c\u0430\u0441\u0441\u0438\u0432\u0430) \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u043b\u0438\u043d\u0438\u0438   { 3, 2};    \/****************************************************\/ \/\/ \u0421\u0438\u043c\u0432\u043e\u043b\u044b ASCII \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 0  #define translate_to_ASC 48          \/\/ 0  \u0432 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0435 ASCII  \/****************************************************\/ \/\/ \u0420\u0430\u0431\u043e\u0442\u0430 \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043c #define last_press_For_buttom  200   \/\/ \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u0430\u043d\u0442\u0438\u0434\u0440\u0435\u0431\u0435\u0437\u0433 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432 #define micros_work 300              \/\/ \u0432\u0440\u0435\u043c\u044f 1 \u0446\u0438\u043a\u043b\u0430 (loop)( \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043a\u0443\u0440\u0441\u043e\u0440\u0430 \u0438\u043b\u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435) unsigned long Work;                  \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0434\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0438\u0441\u0442\u0435\u043a\u0448\u0435\u0433\u043e \u043e\u0442\u0440\u0435\u0437\u043a\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432 loop unsigned long last_press;            \/\/ \u0412\u0440\u0435\u043c\u044f \u041f\u0440\u043e\u0448\u043b\u043e\u0433\u043e \u043d\u0430\u0436\u0430\u0442\u0438\u044f \/****************************************************\/ \/\/ \u0424\u043b\u0430\u0433\u0438  boolean flag_editor_enable ;         \/\/ \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u043d\u0430 lcd \/****************************************************\/  \/****************************************************\/ \/****************  \u0420\u0410\u0411\u041e\u0422\u0410 \u0421 LCD  ********************\/ \/****************************************************\/ \/\/--------------------------------------------------\/\/ \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 int \u0432 \u0447\u0438\u0441\u043b\u043e \u0438\u0437 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438 ASCII  char func_change_int_to_ASC(int param0){return param0 + translate_to_ASC;} \/\/--------------------------------------------------\/\/ \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0438\u0437 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438 ASCII \u0432 int int change_ASC_to_int(char param){return param - translate_to_ASC;} \/\/--------------------------------------------------\/\/  \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u043d\u0430 LCD                                           void load_page_to_lcd(String *array_content){       \/\/ \u043c\u0430\u0441\u0441\u0438\u0432 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u043a\u043e\u043d\u0442\u0435\u043d\u0442    lcd.clear();                                      \/\/ \u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c LCD   for (int i=0; i &lt; NUMBER_ROW_USE_LCD ;i++){       \/\/ \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u0442\u0435\u043a\u0441\u0442 \u0440\u0430\u0432\u043d\u044b\u0439 ( \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0434\u043b\u044f LCD)     lcd.setCursor(0,i);     lcd.print(array_content[i]);   } }  \/\/--------------------------------------------------\/\/ \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u043f\u0440\u043e\u0441\u0430 \u043a\u043d\u043e\u043f\u043a\u0438  boolean ask_button(int number_pin){   boolean is_button_press = false;   if (!digitalRead(number_pin) &amp;&amp; (millis() - last_press > last_press_For_buttom)){  \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u043d\u0430\u0436\u0430\u0442\u0438\u0435  \u0437\u0430\u0449\u0438\u0442\u0430 \u043e\u0442 \u0430\u043d\u0442\u0438\u0434\u0440\u0435\u0431\u0435\u0437\u0433 + \u043c\u043d\u043e\u0436\u0435\u0442\u0441\u0432\u0435\u043d\u043d\u043e\u0435 \u043d\u0430\u0436\u0430\u0442\u0438\u0435     is_button_press = true;     last_press = millis();   }   return is_button_press; } \/\/--------------------------------------------------\/\/ \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043a\u0443\u0440\u0441\u043e\u0440\u0430 void set_cursor(int param0,int param1){             \/\/ param0 = col, param1 = row   lcd.setCursor(param0,param1);   lcd.cursor();                 \/\/ \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u0438\u0432\u0430\u043d\u0438\u0435 } \/\/--------------------------------------------------\/\/ \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u043a\u0443\u0440\u0441\u043e\u0440\u0430 void move_cursor(){   if(ask_button(LEFT_BUTTON)){       \/\/ \u043d\u0430\u0436\u0430\u0442\u0430 \u043b\u0435\u0432\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430      int cur_index_col = find_index(position_cursor_page_one[cur_row],       amount_position_page_one[cur_row],cur_col);                       \/\/ \u043d\u0430\u0439\u0442\u0438  \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0438\u043d\u0434\u0435\u043a\u0441 \u0447\u0438\u0441\u043b\u0430 (\u0441\u0442\u043e\u043b\u0431\u0446\u0430)      cur_index_col --;                                                   \/\/ \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0438\u043d\u0434\u0435\u043a\u0441     if(is_index_exp(amount_position_page_one[cur_row],cur_index_col)){  \/\/ \u0435\u0441\u043b\u0438 \u043d\u0430\u0434\u043e \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0441\u0442\u0440\u043e\u043a\u0443       cur_row --;                                                       \/\/ \u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043a\u0443\u0440\u0441\u043e\u0440 \u0432\u044b\u0448\u0435       if(is_index_exp(NUMBER_ROW_USE_LCD - 1, cur_row)){                \/\/ \u043d\u0430\u0434\u043e \u043b\u0438 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u043d\u0430\u0447\u0430\u043b\u043e \u0438\u043b\u0438 \u043a\u043e\u043d\u0435\u0446 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b         cur_row = number_row[NUMBER_ROW_USE_LCD - 1];                   \/\/ \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u0441\u0442\u0440\u043e\u043a\u0443       }       cur_col = position_cursor_page_one[cur_row][                       amount_position_page_one[cur_row]];                             \/\/ \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043d\u0434\u0435\u043a\u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 ({[\u0442\u0435\u043a\u0443\u0449\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430] [\u0440\u0430\u0437\u043c\u0435\u0440 \u043c\u0430\u0441\u0441\u0438\u0432\u0430])                            }     else{                                                               \/\/ \u0435\u0441\u043b\u0438 \u041d\u0415 \u043d\u0430\u0434\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0438\u0442\u044c \u0432 \u043d\u0430\u0447\u0430\u043b\u043e \u0438\u043b\u0438 \u043a\u043e\u043d\u0435\u0446       cur_col= position_cursor_page_one[cur_row][cur_index_col];        \/\/ \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c \u043d\u043e\u0432\u043e\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435     }     set_cursor(cur_col,cur_row);     \/\/ \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0434\u043b\u044f \u043a\u0443\u0440\u0441\u043e\u0440\u0430   }      else if(ask_button(RIGHT_BUTTON)){ \/\/ \u043d\u0430\u0436\u0430\u0442\u0430 \u043f\u0440\u0430\u0432\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430      int cur_index_col = find_index(position_cursor_page_one[cur_row],       amount_position_page_one[cur_row],cur_col);                       \/\/ \u043d\u0430\u0439\u0442\u0438  \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0438\u043d\u0434\u0435\u043a\u0441 \u0447\u0438\u0441\u043b\u0430 (\u0441\u0442\u043e\u043b\u0431\u0446\u0430)      cur_index_col ++;                                                   \/\/ \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0438\u043d\u0434\u0435\u043a\u0441     if(is_index_exp(amount_position_page_one[cur_row],cur_index_col)){  \/\/ \u0435\u0441\u043b\u0438 \u043d\u0430\u0434\u043e \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0441\u0442\u0440\u043e\u043a\u0443       cur_row ++;                                                       \/\/ \u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043a\u0443\u0440\u0441\u043e\u0440 \u043d\u0438\u0436\u0435       if(is_index_exp(NUMBER_ROW_USE_LCD - 1, cur_row)){                \/\/ \u043d\u0430\u0434\u043e \u043b\u0438 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u043d\u0430\u0447\u0430\u043b\u043e \u0438\u043b\u0438 \u043a\u043e\u043d\u0435\u0446 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b         cur_row = number_row[0];                                        \/\/ \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043d\u0430 \u043f\u0435\u0440\u0432\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443       }       cur_col = position_cursor_page_one[cur_row][0];                   \/\/ \u0438\u043d\u0434\u0435\u043a\u0441 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 ({[\u0442\u0435\u043a\u0443\u0449\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430] [\u0440\u0430\u0437\u043c\u0435\u0440 \u043c\u0430\u0441\u0441\u0438\u0432\u0430])                              }     else{                                                               \/\/ \u0435\u0441\u043b\u0438 \u041d\u0415 \u043d\u0430\u0434\u043e \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 \u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0438\u0442\u044c \u0432 \u043d\u0430\u0447\u0430\u043b\u043e \u0438\u043b\u0438 \u043a\u043e\u043d\u0435\u0446       cur_col= position_cursor_page_one[cur_row][cur_index_col];        \/\/ \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c \u043d\u043e\u0432\u043e\u0435 \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435     }     set_cursor(cur_col,cur_row);     \/\/ \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0434\u043b\u044f \u043a\u0443\u0440\u0441\u043e\u0440\u0430   } } \/\/--------------------------------------------------\/\/ \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0438\u043d\u0434\u0435\u043a\u0441\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 int( \u0435\u0441\u043b\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u0442 \u0432\u0435\u0440\u043d\u0435\u0442 9999 - \u0443\u0441\u043b\u043e\u0432\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430) int find_index(int *received_array,int syze_array,int number){   for(int i=0 ;i &lt;= syze_array;i++)if(received_array[i] == number)return i;   return 9999; } \/\/--------------------------------------------------\/\/ \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0435\u0441\u043b\u0438 \u0438\u043d\u0434\u0435\u043a\u0441 \u0432\u044b\u0448\u0435\u043b \u0438\u0437 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430( IndexOutOfRangeException ) boolean is_index_exp(int syze_array, int index){   if(syze_array &lt; index or index &lt; 0) return true;   else {return false;} } \/\/--------------------------------------------------\/\/ \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f 1 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f(\u0440\u0430\u0437\u0440\u044f\u0434\u0430) \u043d\u0430 LCD void change_one_segment_on_lcd(){   if(ask_button(LEFT_BUTTON)){                            \/\/ \u043d\u0430\u0436\u0430\u0442\u0430 \u043b\u0435\u0432\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430         int buff = value_content_one_page[cur_row][       find_index(position_cursor_page_one[cur_row],         amount_value_page_one[cur_row],cur_col)];         \/\/ \u0432\u0437\u044f\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435      buff++;                                               \/\/ \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043d\u0430 1     buff = func_zero_nine(buff);                          \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c     lcd.print(func_change_int_to_ASC(buff));              \/\/ \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c     set_cursor(cur_row,cur_col);                          \/\/ \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043a\u0443\u0440\u0441\u043e\u0440     value_content_one_page[cur_row][       find_index(position_cursor_page_one[cur_row],         amount_value_page_one[cur_row],cur_col)] = buff;  \/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c   }   else if(ask_button(RIGHT_BUTTON)){                      \/\/ \u043d\u0430\u0436\u0430\u0442\u0430 \u043f\u0440\u0430\u0432\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430     int buff = value_content_one_page[cur_row][       find_index(position_cursor_page_one[cur_row],         amount_value_page_one[cur_row],cur_col)];         \/\/ \u0432\u0437\u044f\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435      buff--;                                               \/\/ \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043d\u0430 1     buff = func_zero_nine(buff);                          \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c     lcd.print(func_change_int_to_ASC(buff));              \/\/ \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c     set_cursor(cur_row,cur_col);                          \/\/ \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043a\u0443\u0440\u0441\u043e\u0440     value_content_one_page[cur_row][       find_index(position_cursor_page_one[cur_row],         amount_value_page_one[cur_row],cur_col)] = buff;  \/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c   } } \/\/--------------------------------------------------\/\/ \/\/ \u0444\u0443\u043a\u0446\u0438\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0447\u0438\u0441\u043b\u0430(\u0446\u0438\u043a\u043b\u0430) 0-9  int func_zero_nine(int number){   switch(number){     case 10: return 0; break;     case -1: return 9; break;     default: return number; break;   } } \/\/--------------------------------------------------\/\/ void on_off_lcd_for_page_one(String param0){   lcd.setCursor(13,0);   lcd.print(param0); } \/\/--------------------------------------------------\/\/ \/\/ \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u043e\u0439 \u0438 \u043a\u043e\u043d\u0442\u0440\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u044c\u044e ( \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f ) void DISPLAY_AND_CONTRAST()  {    \/\/analogWrite(DISPLAY_LIGHT_ON,0);     \/\/ \u0412\u043a\u043b \u0428\u0418\u041c \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0438   \/\/analogWrite(DISPLAY_CONTRAST_ON,0);  \/\/ \u0412\u043a\u043b \u0428\u0418\u041c \u043a\u043e\u043d\u0442\u0440\u0430\u0441\u043d\u043e\u0441\u0442\u0438           } \/****************************************************\/ \/*********************  \u0413\u0415\u041d\u0415\u0420\u0410\u0422\u041e\u0420  ******************\/ \/****************************************************\/ \/\/--------------------------------------------------\/\/ \/\/ \u0437\u0430\u043f\u0443\u0441\u043a \u0442\u0430\u0439\u043c\u0435\u0440\u0430 void start_timer(){   Timer1.enableISR(CHANNEL_A);                      \/\/ \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0442\u0430\u0439\u043c\u0435\u0440 1 \u043a\u0430\u043d\u0430\u043b \u0410   Timer1.enableISR(CHANNEL_B);                      \/\/ \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0442\u0430\u0439\u043c\u0435\u0440 1 \u043a\u0430\u043d\u0430\u043b B   Timer1.setFrequency(get_freq());                  \/\/ \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0447\u0430\u0441\u0442\u043e\u0442\u0443   Timer1.phaseShift(CHANNEL_B,get_dem_freq());      \/\/ \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0434\u0432\u0438\u0433 \u0444\u0430\u0437\u044b } \/\/--------------------------------------------------\/\/ \/\/ \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0442\u0430\u0439\u043c\u0435\u0440\u0430 void set_timer(){   Timer1.outputEnable(CHANNEL_A, TOGGLE_PIN);       \/\/ \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0442\u0430\u0439\u043c\u0435\u0440\u0430 \u043f\u0438\u043d \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f   Timer1.outputEnable(CHANNEL_B, TOGGLE_PIN);       \/\/ \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0442\u0430\u0439\u043c\u0435\u0440\u0430 \u043f\u0438\u043d \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f   Timer1.outputState(CHANNEL_A, HIGH);              \/\/ \u0437\u0430\u0434\u0430\u0451\u043c \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u0438\u043d\u0430 11   Timer1.outputState(CHANNEL_B, HIGH);              \/\/ \u0437\u0430\u0434\u0430\u0451\u043c \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043f\u0438\u043d\u0430 3 } \/\/--------------------------------------------------\/\/ \/\/ \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0442\u0430\u0439\u043c\u0435\u0440\u0430 TIMER1_A ISR(TIMER1_A) {   \/\/ \u043a\u043e\u0434 \u043f\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f   \/\/ \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0442\u0435\u043b\u043e \u043f\u0443\u0441\u0442\u043e\u0435 \u0434\u043b\u044f GyverTimers.h } \/\/--------------------------------------------------\/\/ \/\/ \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u0435 \u0442\u0430\u0439\u043c\u0435\u0440\u0430 TIMER1_B ISR(TIMER1_B) {   \/\/ \u043a\u043e\u0434 \u043f\u043e \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043f\u0440\u0435\u0440\u044b\u0432\u0430\u043d\u0438\u044f   \/\/ \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0442\u0435\u043b\u043e \u043f\u0443\u0441\u0442\u043e\u0435 \u0434\u043b\u044f GyverTimers.h } \/\/--------------------------------------------------\/\/ \/\/ \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u044b int get_freq(){   return (value_content_one_page[0][0] * 1000 +     value_content_one_page[0][1] * 100 +       value_content_one_page[0][2] * 10 +         value_content_one_page[0][3]) * 2;         \/\/ \u043d\u0435\u043e\u0431\u043e\u0434\u0438\u043c\u043e \u0443\u043c\u043d\u043e\u0436\u0430\u0442\u044c \u043d\u0430 2 \u0447\u0430\u0441\u0442\u043e\u0442\u0443( \u0435\u0441\u043b\u0438 \u043c\u0435\u0430\u043d\u0434)         \/\/ \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0442\u0430\u0439\u043c\u0435\u0440\u0430 \u0438 GyverTimers.h } \/\/ \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u0434\u0432\u0438\u0433\u0430 \u0444\u0430\u0437\u044b \/\/--------------------------------------------------\/\/ int get_dem_freq(){   return value_content_one_page[1][0] * 100 +     value_content_one_page[1][1] * 10 +       value_content_one_page[1][2]; }  \/****************************************************\/ \/********************  MAIN  ************************\/ \/****************************************************\/ \/\/--------------------------------------------------\/\/ \/\/ SETUP void setup() {   lcd.begin(NUMBER_COL_USE_LCD, NUMBER_ROW_USE_LCD);  \/\/ \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0434\u0438\u0441\u043f\u043b\u0435\u0439:    pinMode(LEFT_BUTTON, INPUT);                        \/\/ \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0438:   pinMode(RIGHT_BUTTON, INPUT);         pinMode(CENTRE_BUTTON, INPUT);             pinMode(DISPLAY_CONTRAST_ON, OUTPUT);               \/\/ \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u043e\u0439    pinMode(DISPLAY_LIGHT_ON, OUTPUT);                  \/\/ \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0440\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e     pinMode(CHANNEL_TIMER_B, OUTPUT);                   \/\/ \u0412\u044b\u0445\u043e\u0434 \u0442\u0430\u0439\u043c\u0435\u0440\u0430 \u043a\u0430\u043d\u0430\u043b B   pinMode(CHANNEL_TIMER_A, OUTPUT);                   \/\/ \u0412\u044b\u0445\u043e\u0434 \u0442\u0430\u0439\u043c\u0435\u0440\u0430 \u043a\u0430\u043d\u0430\u043b A     digitalWrite(14, LOW);                              \/\/ ( \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0432 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c 0) \u043f\u0438\u043d\u0430 14(\u04100)   digitalWrite(15, LOW);                              \/\/ ( \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u0432 \u0446\u0438\u0444\u0440\u043e\u0432\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c 0) \u043f\u0438\u043d\u0430 15(\u04101)     set_timer();                                        \/\/ \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0442\u0430\u0439\u043c\u0435\u0440\u0430    start_timer();                                      \/\/ \u0437\u0430\u043f\u0443\u0441\u043a \u0442\u0430\u0439\u043c\u0435\u0440\u0430 ( \u0441 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u043e\u0439 \u0438 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435\u043c )     load_page_to_lcd(content_page_one);                 \/\/ \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c 1(\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u0443\u044e) \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443   cur_row = number_row[0];                            \/\/ \u0437\u0430\u0434\u0430\u0442\u044c \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043a\u0443\u0440\u0441\u043e\u0440\u0430 (\u0441\u0442\u0440\u043e\u043a\u0430)   cur_col = position_cursor_page_one[0][0];           \/\/ \u0437\u0430\u0434\u0430\u0442\u044c \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u043a\u0443\u0440\u0441\u043e\u0440\u0430 (\u0441\u0442\u043e\u043b\u0431\u0435\u0446)   set_cursor(cur_col,cur_row);                        \/\/ \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u0443\u0440\u0441\u043e\u0440    flag_editor_enable = false;                         \/\/ \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (\u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043a\u0443\u0440\u0441\u043e\u0440\u0430) } \/****************************************************\/ \/\/--------------------------------------------------\/\/ \/\/ LOOP void loop() {   if (micros() - Work > micros_work){     \/\/ \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0446\u0438\u043a\u043b \u0440\u0430\u0437 \u0432 (micros_work)  (\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 LCD \u0434\u0438\u0441\u043f\u043b\u0435\u0435\u043c)     if(flag_editor_enable){               \/\/ \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 1 \u0441\u0435\u0433\u043c\u0435\u043d\u0442\u0430          lcd.blink();                        \/\/ \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043c\u0438\u0433\u0430\u043d\u0438\u0435       set_cursor(cur_col,cur_row);        \/\/ \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u0443\u0440\u0441\u043e\u0440        change_one_segment_on_lcd();        \/\/ \u041e\u043f\u0440\u043e\u0441 \u0431\u043e\u043a\u043e\u0432\u044b\u0445 \u043a\u043d\u043e\u043f\u043e\u043a ( \u0434\u043b\u044f \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f)       if(ask_button(CENTRE_BUTTON)){      \/\/ \u043e\u043f\u0440\u043e\u0441 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0438         flag_editor_enable = false;       \/\/ \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435         on_off_lcd_for_page_one(ON_TEXT); \/\/ \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u043d\u0430 \u0434\u0438\u0441\u043f\u043b\u0435\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435         Timer1.setFrequency(get_freq());  \/\/ \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0442\u0430\u0439\u043c\u0435\u0440         Timer1.phaseShift(           CHANNEL_B,get_dem_freq());      \/\/ \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0434\u0432\u0438\u0433 \u0444\u0430\u0437\u044b       }     }     else{                                 \/\/\u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043a\u0443\u0440\u0441\u043e\u0440\u0430       lcd.noBlink();                      \/\/ \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043c\u0438\u0433\u0430\u043d\u0438\u0435       set_cursor(cur_col,cur_row);        \/\/ \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043a\u0443\u0440\u0441\u043e\u0440        move_cursor();                      \/\/ \u041e\u043f\u0440\u043e\u0441 \u0431\u043e\u043a\u043e\u0432\u044b\u0445 \u043a\u043d\u043e\u043f\u043e\u043a ( \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f)       if(ask_button(CENTRE_BUTTON)){      \/\/ \u043e\u043f\u0440\u043e\u0441 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u0438         flag_editor_enable = true;        \/\/ \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435         on_off_lcd_for_page_one(OFF_TEXT);\/\/ \u043e\u0442\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u044c \u043d\u0430 \u0434\u0438\u0441\u043f\u043b\u0435\u0435 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435         \/\/Timer1.pause();                 \/\/ \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c         Timer1.stop();                    \/\/ \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438 \u0441\u0431\u0440\u043e\u0441\u0438\u0442\u044c       }     }     Work = micros();                      \/\/ \u044d\u0442\u043e\u0442 \u0446\u0438\u043a\u043b \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d     }   }  \/****************************************************\/<\/code><\/pre>\n<p>\u041f\u0440\u0438\u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u0432\u0441\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043b\u0443\u0447\u0448\u0435, \u043d\u043e \u044f \u0441\u0435\u0431\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043b \u0437\u0430\u0434\u0430\u0447\u0443 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e &#171;more universal&#187; &#8212;  \u043f\u043e \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439. \u041d\u0430\u0434\u0435\u044e\u0441\u044c \u043d\u0430 3+ \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043b.=)<\/p>\n<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><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:\/\/habr.com\/ru\/articles\/753508\/\"> https:\/\/habr.com\/ru\/articles\/753508\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<h2>\u0412\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435<\/h2>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 1 &#8212; \u0423\u0441\u043b\u043e\u0432\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f<\/figcaption><\/div>\n<\/figure>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 2 &#8212; \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430<\/figcaption><\/div>\n<\/figure>\n<h2>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/h2>\n<p>\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u0443\u0435\u043c\u044b\u0439 \u043a\u043d\u043e\u043f\u043a\u0430\u043c\u0438 S1-S3 \u0414\u0432\u0443\u0445 \u0444\u0430\u0437\u043d\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043e\u0442 1\u0413\u0446 \u0434\u043e 9999\u0413\u0446, \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u044c\u043d\u044b\u0439 LCD1602. \u0412 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u043c \u043a\u043e\u0434\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043e\u0431\u0430 \u043a\u0430\u043d\u0430\u043b\u0430  16-\u0431\u0438\u0442\u043d\u043e\u0433\u043e \u0442\u0430\u0439\u043c\u0435\u0440\u0430 (\u0441\u043c. \u0440\u0438\u0441\u0443\u043d\u043e\u043a 3 &#8212; Timer1). \u0421\u0434\u0432\u0438\u0433 \u0444\u0430\u0437\u044b \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0443 \u043a\u0430\u043d\u0430\u043b\u0430 \u0412. Arduino UNO \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430 NANO \u0438\u043b\u0438 \u043b\u044e\u0431\u0443\u044e \u0434\u0440\u0443\u0433\u0443\u044e \u043e\u0441\u043e\u0431\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442, \u043d\u043e \u0431\u0443\u0434\u044c\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u044b!<\/p>\n<p><a href=\"https:\/\/www.tinkercad.com\/things\/ihfy5TWwBBv-incredible-jofo\/editel\" rel=\"noopener noreferrer nofollow\">C\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043f\u0440\u043e\u0435\u043a\u0442<\/a>.<\/p>\n<p>*\u0431\u0443\u0434\u0435\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u044b <a href=\"https:\/\/www.tinkercad.com\/\" rel=\"noopener noreferrer nofollow\">https:\/\/www.tinkercad.com\/<\/a> \u043d\u0435\u0442 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 GyverTimers.h.<\/p>\n<p>\u0412 \u0441\u0445\u0435\u043c\u0435 \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0430 \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0430, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e &#171;\u0428\u0418\u041c&#187;, \u044f\u0440\u043a\u043e\u0441\u0442\u0438 \u0438 \u043a\u043e\u043d\u0442\u0440\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 (\u0444\u0443\u043d\u043a\u0446\u0438\u044f DISPLAY_AND_CONTRAST() &#8212;  \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438). \u0422\u0430\u043a \u0436\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e  \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0441\u0434\u0432\u0438\u0433 \u0444\u0430\u0437\u044b \u0443 \u043e\u0431\u043e\u0438\u0445 \u043a\u0430\u043d\u0430\u043b\u043e\u0432, \u043d\u043e \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u0434\u043b\u044f \u043e\u0431\u043e\u0438\u0445 \u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0430 (\u0442\u0430\u043a \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f 1 \u0442\u0430\u0439\u043c\u0435\u0440), \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u043e\u0431\u0430 \u043a\u0430\u043d\u0430\u043b\u0430 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u044b, \u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043a\u0430\u043d\u0430\u043b\u044b \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f, \u0447\u0442\u043e \u0441\u0432\u0438\u0434\u0435\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0443\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0432 \u043f\u0440\u0430\u0432\u043e\u043c \u0432\u0435\u0440\u0445\u043d\u0435\u043c \u0443\u0433\u043b\u0443 &#171;ON&#187; \u0438 &#171;OFF&#187;.<\/p>\n<p>\u0414\u043b\u044f \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0438 \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u0430\u043d\u0430\u043b\u0430 &#8212;  \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u0432\u043d\u0435\u0441\u0442\u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f:<\/p>\n<ol>\n<li>\n<p>\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043b\u044f 2 \u0432\u044b\u0445\u043e\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u0442\u0430\u0439\u043c\u0435\u0440 (\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u043a\u0430\u043d\u0430\u043b B \u0435\u0441\u043b\u0438 \u043d\u0435 \u0432\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u0438) \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u0443\u044f\u0441\u044c \u043f\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u0435 (\u0441\u0441\u044b\u043b\u043a\u0430 \u043e\u0442 \u0430\u0432\u0442\u043e\u0440\u0430 GyverTimers.h) &#8212; <a href=\"https:\/\/alexgyver.ru\/gyvertimers\/\" rel=\"noopener noreferrer nofollow\">https:\/\/alexgyver.ru\/gyvertimers\/<\/a><\/p>\n<figure class=\"full-width\">\n<div><figcaption>\u0420\u0438\u0441\u0443\u043d\u043e\u043a 3 &#8212; \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0442\u0430\u0439\u043c\u0435\u0440\u043e\u0432 ATmega328p<\/figcaption><\/div>\n<\/figure>\n<p>*\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u043e\u0442\u0443 \u0442\u0430\u0439\u043c\u0435\u0440\u043e\u0432.<\/p>\n<\/li>\n<li>\n<p> \u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u00ab\u043a\u043e\u043d\u0442\u0435\u043d\u0442\u00bb \u043d\u0430\u00a0LCD, \u043f\u0440\u043e\u0449\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c LCD1604, \u0438\u043b\u0438 \u043f\u0440\u0438\u0434\u0443\u043c\u0430\u0442\u044c \u0443\u0434\u043e\u0431\u043d\u043e\u0435 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435, \u0434\u043b\u044f  \u0440\u0443\u0447\u043d\u043e\u0439 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u0438 \u0441\u0434\u0432\u0438\u0433\u0430 \u043e\u0431\u043e\u0438\u0445 \u0442\u0430\u0439\u043c\u0435\u0440\u043e\u0432.<\/p>\n<p>*\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0441\u0434\u0432\u0438\u0433 \u0444\u0430\u0437\u044b \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0430\u043c\u043e\u0433\u043e \u0442\u0430\u0439\u043c\u0435\u0440\u0430 (\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0433\u043e \u043a\u0430\u043d\u0430\u043b\u0430), \u0430 \u043d\u0435 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438 (\u043c\u0435\u0436\u0434\u0443 \u0442\u0430\u0439\u043c\u0435\u0440\u0430\u043c\u0438). \u0425\u043e\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044f \u043e\u0431\u0430 \u0442\u0430\u0439\u043c\u0435\u0440\u0430 \u0443\u0441\u043b\u043e\u0432\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043d\u044f\u0442\u044c \u043d\u0430 \u0432\u0435\u0440\u0443 \u0438\u0445 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0441\u0442\u044c, \u043e\u0434\u043d\u0430\u043a\u043e \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e.<\/p>\n<\/li>\n<li>\n<p>\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043a\u0430\u0440\u0442\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u043a\u0443\u0440\u0441\u043e\u0440\u0430, \u0435\u0433\u043e \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043a\u043e\u0434 \u043e\u0431\u044f\u0437\u0430\u043d \u0441\u043f\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0441 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445, \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0442\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043d\u0430 LCD, \u043a\u0430\u043a\u043e\u0435 \u0443\u0434\u043e\u0431\u043d\u043e \u0412\u0430\u043c, \u0430 \u0442\u0430\u043a \u0436\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043a\u0443\u0440\u0441\u043e\u0440\u0430 \u0438\u043b\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u044b.<\/p>\n<\/li>\n<\/ol>\n<p>\u0414\u043b\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430 \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c &#171;c\u0435\u0433\u043c\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c&#187; (\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0437\u0440\u044f\u0434\u043e\u0432) \u0438\u043b\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0441 \u0413\u0446 \u043d\u0430 \u041a\u0413\u0446, \u043d\u043e \u043f\u043e\u043c\u043d\u0438\u0442\u0435 \u0447\u0442\u043e \u043c\u0430\u043a\u0441 \u0447\u0430\u0441\u0442\u043e\u0442\u0430 1\u041c\u0413\u0446(\u0441\u043c. \u0420\u0438\u0441\u0443\u043d\u043e\u043a 3)., \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u0442\u0430\u043a \u0436\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0435\u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043a\u043e\u0434, \u0441 \u0442\u0435\u043c\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u0412\u0430\u043c, \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u0443:<\/p>\n<ol>\n<li>\n<p>\u041f\u043e \u043d\u0430\u0436\u0430\u0442\u0438\u044e \u043d\u0430 Hz \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430 KHz,<\/p>\n<\/li>\n<li>\n<p>\u0412 \u043a\u043e\u0434\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0430 KHz<\/p>\n<\/li>\n<li>\n<p>\u041f\u043e \u0432\u0430\u0448\u0435\u043c\u0443 \u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044e.<\/p>\n<\/li>\n<\/ol>\n<p>\u0418\u0422\u041e\u0413<\/p>\n<p>\u041f\u0440\u043e\u0441\u0442\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043f\u0430\u0440\u0430\u0437\u0438\u0442\u0438\u0440\u0443\u044e\u0449\u0435\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 &#171;GyverTimers.h&#187;, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0438\u043b\u044c\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0442\u0430\u0439\u043c\u0435\u0440\u043e\u043c. \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043a\u043e\u0434 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0445 \u0431\u043b\u043e\u043a\u043e\u0432 &#171;\u0440\u0430\u0431\u043e\u0442\u0430 \u0441 LCD&#187; \u0438 &#171;\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0442\u0430\u0439\u043c\u0435\u0440\u0430&#187;. <\/p>\n<p>\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 \u043a\u043e\u0434 (<strong>Arduino C<\/strong> ):<\/p>\n<p>*\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0447\u0442\u043e \u0441 \u0432\u043a\u043b LCD, \u043f\u0438\u0442\u0430\u044f \u0432\u0441\u044e \u043f\u043b\u0430\u0442\u0443 \u043e USB \u043f\u043e\u0440\u0442\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430, \u0432\u043f\u043e\u043b\u043d\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0434\u0435\u0442 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f, \u0447\u0442\u043e Arduino \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0448\u0438\u0432\u0430\u0442\u044c\u0441\u044f, \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u0435 LCD, \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438.<\/p>\n<pre><code class=\"cpp\">\/****************************************************\/ \/*               2-\u0445 \u0444\u0430\u0437\u043d\u044b\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440               *\/ \/*                                                  *\/ \/*                                                  *\/ \/*                                                  *\/ \/****************************************************\/ \/\/ \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a #include &lt;GyverTimers.h>    \/\/ \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 GyverTimers (\u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0442\u0430\u0439\u043c\u0435\u0440\u043e\u043c \u0418! \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0441\u0434\u0432\u0438\u0433 \u0444\u0430\u0437\u044b) #include &lt;LiquidCrystal.h>  \/\/ \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 LiquidCrystal  \/****************************************************\/ \/\/ \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u043e\u0431\u044a\u0435\u043a\u0442-\u044d\u043a\u0440\u0430\u043d, \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 LiquidCrystal lcd(8, 7, 15, 14, 11, 12);  \/\/ RS, E, D4, D5, D6, D7 *\/  \/****************************************************\/ \/\/ \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0438\u043d\u043e\u0432 #define LEFT_BUTTON 4                \/\/ \u043b\u0435\u0432\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430   #define RIGHT_BUTTON 2               \/\/ \u043f\u0440\u0430\u0432\u0430 \u043a\u043d\u043e\u043f\u043a\u0430            #define CENTRE_BUTTON 3              \/\/ \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430  #define DISPLAY_CONTRAST_ON 5        \/\/ \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0442\u0440\u0430\u0441\u043d\u043e\u0441\u0442\u044c\u044e \u0428\u0418\u041c #define DISPLAY_LIGHT_ON 6           \/\/ \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u043e\u0439 \u0428\u0418\u041c  #define CHANNEL_TIMER_A 9            \/\/ \u0432\u044b\u0445\u043e\u0434 \u043a\u0430\u043d\u0430\u043b\u0430 \u0410 1 \u0442\u0430\u0439\u043c\u0435\u0440\u0430 #define CHANNEL_TIMER_B 10           \/\/ \u0432\u044b\u0445\u043e\u0434 \u043a\u0430\u043d\u0430\u043b\u0430 \u0412 1 \u0442\u0430\u0439\u043c\u0435\u0440\u0430  \/****************************************************\/ \/\/\u0442\u0430\u0439\u043c\u0435\u0440 #define AMOUNT_VALUE_FREQUENCY_NUMBER 4      \/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u043d\u0430\u043a\u043e\u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043e\u0431\u043e\u0438\u0445 \u043a\u0430\u043d\u0430\u043b\u043e\u0432 #define AMOUNT_VALUE_FREQUENCY_DEVIATION 2   \/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u043d\u0430\u043a\u043e\u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u044f \u0447\u0430\u0441\u0442\u043e\u0442\u044b \u043a\u0430\u043d\u0430\u043b\u0430 \u0412 #define ON_TEXT \"ON \"                        \/\/ \u0422\u0435\u043a\u0441\u0442 \u043d\u0430 LCD \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u043a\u0430\u043d\u0430\u043b\u043b\u044b \u0432\u043a\u043b #define OFF_TEXT \"OFF\"                       \/\/ \u0422\u0435\u043a\u0441\u0442 \u043d\u0430 LCD \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e \u043a\u0430\u043d\u0430\u043b\u043b\u044b \u0432\u044b\u043a\u043b    \/****************************************************\/ \/\/ \u041f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043a\u0443\u0440\u0441\u043e\u0440\u0430  int cur_col = 0;                     \/\/ \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f (\u0441\u0442\u043e\u043b\u0431\u0435\u0446) int cur_row = 0;                     \/\/ \u0442\u0435\u043a\u0443\u0449\u0430\u044f \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044f (\u0441\u0442\u0440\u043e\u043a\u0430)    \/****************************************************\/ \/\/ LCD \/\/ \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0442\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c: #define NUMBER_COL_USE_LCD 16        \/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0442\u0441\u0432\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 (\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u0442 1) \u043d\u043e \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0442 0 #define NUMBER_ROW_USE_LCD 2         \/\/ \u043a\u043e\u043b\u0438\u0447\u0435\u0442\u0441\u0432\u043e \u0441\u0442\u0440\u043e\u043a (\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u0442 1) \u043d\u043e \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043e\u0442 0 int number_row[]  =                  \/\/ \u043d\u043e\u043c\u0435\u0440\u0430 \u0441\u0442\u0440\u043e\u043a LCD ( \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043a\u0443\u0440\u0441\u043e\u0440\u0430) { 0, 1};  \/****************************************************\/ \/\/ \u043a\u043e\u043d\u0442\u0435\u043d\u0442 LCD \/\/ **\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 1** \/\/ \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b 1 String content_page_one[] =          \/\/ \u043c\u0430\u0441\u0441\u0438\u0432 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 1 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b { \"Ch1:0100Hz ->ON \",                \/\/ 0 \u0441\u0442\u0440\u043e\u043a\u0430   \"F1:180'\"};                        \/\/ 1 \u0441\u0442\u0440\u043e\u043a\u0430  int position_cursor_page_one[4][4] = \/\/ \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0442\u0430\u044b \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0442\u044c \u043a\u0443\u0440\u0441\u043e\u0440( 1 \u0438\u043d\u0434\u0435\u043a\u0441 = \u0441\u0442\u0440\u043e\u043a\u0430) (2 \u0438\u043d\u0434\u0435\u043a\u0441 = \u0441\u0442\u043e\u043b\u0431\u0435\u0446)                   {   { 4, 5, 6, 7},                     \/\/ \u041a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b 1 \u0440\u044f\u0434\u0430 1 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b (0-3)   { 3, 4, 5},                        \/\/ \u041a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b 2 \u0440\u044f\u0434\u0430 1 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b (4-5)  };   int amount_position_page_one[] =     \/\/ \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e(\u0440\u0430\u0437\u043c\u0435\u0440 \u043c\u0430\u0441\u0441\u0438\u0432\u0430) \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u043b\u0438\u043d\u0438\u0438   { 3, 2};                           \/\/( \u0442\u0430\u043a \u043a\u0430\u043a \u0441\u0430\u043c\u043e\u0433\u043e \u043d\u0430\u0447\u0430\u043b\u0430 \u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0438\u0437\u0432\u0435\u0441\u0442\u0435\u043d)( sizeoof - \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438, \u0430 \u043d\u0435 \u043a\u043e\u0434\u0430)       \/\/ \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f(VALUE) \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 1 (\u0438\u043d\u0434\u0435\u043a\u0441 = \u0440\u0430\u0437\u0440\u044f\u0434\u0443( \u043d\u0430\u0447\u0430\u043b\u043e \u0441 \u043a\u043e\u043d\u0446\u0430) int value_content_one_page[][4] =  {   { 0, 1, 0, 0},                     \/\/ \u0447\u0430\u0441\u0442\u043e\u0442\u0430 \u043a\u0430\u043d\u0430\u043b\u0430 A \u0438 B   { 1, 8, 0},                        \/\/ \u0441\u0434\u0432\u0438\u0433 \u043f\u043e \u0444\u0430\u0437\u0435 \u043a\u0430\u043d\u0430\u043b\u0430  B }; int amount_value_page_one[] =        \/\/ \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e(\u0440\u0430\u0437\u043c\u0435\u0440 \u043c\u0430\u0441\u0441\u0438\u0432\u0430) \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u043b\u0438\u043d\u0438\u0438   { 3, 2};    \/****************************************************\/ \/\/ \u0421\u0438\u043c\u0432\u043e\u043b\u044b ASCII \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 0  #define translate_to_ASC 48          \/\/ 0  \u0432 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0435 ASCII  \/****************************************************\/ \/\/ \u0420\u0430\u0431\u043e\u0442\u0430 \u0441\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043c #define last_press_For_buttom  200   \/\/ \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u0439 \u0430\u043d\u0442\u0438\u0434\u0440\u0435\u0431\u0435\u0437\u0433 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043e\u0432 #define micros_work 300              \/\/ \u0432\u0440\u0435\u043c\u044f 1 \u0446\u0438\u043a\u043b\u0430 (loop)( \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u043a\u0443\u0440\u0441\u043e\u0440\u0430 \u0438\u043b\u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435) unsigned long Work;                  \/\/ \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0434\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u0438\u0441\u0442\u0435\u043a\u0448\u0435\u0433\u043e \u043e\u0442\u0440\u0435\u0437\u043a\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432 loop unsigned long last_press;            \/\/ \u0412\u0440\u0435\u043c\u044f \u041f\u0440\u043e\u0448\u043b\u043e\u0433\u043e \u043d\u0430\u0436\u0430\u0442\u0438\u044f \/****************************************************\/ \/\/ \u0424\u043b\u0430\u0433\u0438  boolean flag_editor_enable ;         \/\/ \u0432\u043a\u043b\u044e\u0447\u0435\u043d \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u043d\u0430 lcd \/****************************************************\/  \/****************************************************\/ \/****************  \u0420\u0410\u0411\u041e\u0422\u0410 \u0421 LCD  ********************\/ \/****************************************************\/ \/\/--------------------------------------------------\/\/ \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 int \u0432 \u0447\u0438\u0441\u043b\u043e \u0438\u0437 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438 ASCII  char func_change_int_to_ASC(int param0){return param0 + translate_to_ASC;} \/\/--------------------------------------------------\/\/ \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0438\u0437 \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0438 ASCII \u0432 int int change_ASC_to_int(char param){return param - translate_to_ASC;} \/\/--------------------------------------------------\/\/  \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u043d\u0430 LCD                                           void load_page_to_lcd(String *array_content){       \/\/ \u043c\u0430\u0441\u0441\u0438\u0432 \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u043a\u043e\u043d\u0442\u0435\u043d\u0442    lcd.clear();                                      \/\/ \u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c LCD   for (int i=0; i &lt; NUMBER_ROW_USE_LCD ;i++){       \/\/ \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u0442\u0435\u043a\u0441\u0442 \u0440\u0430\u0432\u043d\u044b\u0439 ( \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0434\u043b\u044f LCD)     lcd.setCursor(0,i);     lcd.print(array_content[i]);   } }  \/\/--------------------------------------------------\/\/ \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u043f\u0440\u043e\u0441\u0430 \u043a\u043d\u043e\u043f\u043a\u0438  boolean ask_button(int number_pin){   boolean is_button_press = false;   if (!digitalRead(number_pin) &amp;&amp; (millis() - last_press > last_press_For_buttom)){  \/\/ \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u043d\u0430\u0436\u0430\u0442\u0438\u0435  \u0437\u0430\u0449\u0438\u0442\u0430 \u043e\u0442 \u0430\u043d\u0442\u0438\u0434\u0440\u0435\u0431\u0435\u0437\u0433 + \u043c\u043d\u043e\u0436\u0435\u0442\u0441\u0432\u0435\u043d\u043d\u043e\u0435 \u043d\u0430\u0436\u0430\u0442\u0438\u0435     is_button_press = true;     last_press = millis();   }   return is_button_press; } \/\/--------------------------------------------------\/\/ \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043a\u0443\u0440\u0441\u043e\u0440\u0430 void set_cursor(int param0,int param1){             \/\/ param0 = col, param1 = row   lcd.setCursor(param0,param1);   lcd.cursor();                 \/\/ \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u0438\u0432\u0430\u043d\u0438\u0435 } \/\/--------------------------------------------------\/\/ \/\/ \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0435\u043d\u0438\u044f \u043a\u0443\u0440\u0441\u043e\u0440\u0430 void move_cursor(){   if(ask_button(LEFT_BUTTON)){       \/\/ \u043d\u0430\u0436\u0430\u0442\u0430 \u043b\u0435\u0432\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430      int cur_index_col = find_index(position_cursor_page_one[cur_row],       amount_position_page_one[cur_row],cur_col);                       \/\/ \u043d\u0430\u0439\u0442\u0438  \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0438\u043d\u0434\u0435\u043a\u0441 \u0447\u0438\u0441\u043b\u0430 (\u0441\u0442\u043e\u043b\u0431\u0446\u0430)      cur_index_col --;                                                   \/\/ \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u0438\u043d\u0434\u0435\u043a\u0441     if(is_index_exp(amount_position_page_one[cur_row],cur_index_col)){  \/\/ \u0435\u0441\u043b\u0438 \u043d\u0430\u0434\u043e \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u0441\u0442\u0440\u043e\u043a\u0443       cur_row --;                                                       \/\/ \u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043a\u0443\u0440\u0441\u043e\u0440 \u0432\u044b\u0448\u0435       if(is_index_exp(NUMBER_ROW_USE_LCD - 1, cur_row)){                \/\/ \u043d\u0430\u0434\u043e \u043b\u0438 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u0432 \u043d\u0430\u0447\u0430\u043b\u043e \u0438\u043b\u0438 \u043a\u043e\u043d\u0435\u0446 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b         cur_row = number_row[NUMBER_ROW_USE_LCD - 1];                   \/\/<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\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-351717","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/351717","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=351717"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/351717\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=351717"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=351717"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=351717"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}