{"id":126,"date":"2015-12-02T18:54:14","date_gmt":"2015-12-02T15:54:14","guid":{"rendered":"http:\/\/arduinolab.pw\/?p=126"},"modified":"2016-07-05T07:51:57","modified_gmt":"2016-07-05T04:51:57","slug":"irremote-i-obrabotka-uderzhaniya-knopki-pulta-du","status":"publish","type":"post","link":"https:\/\/arduinolab.pw\/index.php\/2015\/12\/02\/irremote-i-obrabotka-uderzhaniya-knopki-pulta-du\/","title":{"rendered":"IRremote \u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u044f \u043a\u043d\u043e\u043f\u043a\u0438 \u043f\u0443\u043b\u044c\u0442\u0430 \u0414\u0423"},"content":{"rendered":"<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/8zjncGfTrgo\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>\u041f\u043e \u043c\u043d\u043e\u0433\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u043c \u043f\u0440\u043e\u0441\u044c\u0431\u0430\u043c, \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u0430\u043a \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u044f\u0440\u043a\u043e\u0441\u0442\u044c \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u043e\u0432 \u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0438 \u043d\u0430 \u043f\u0443\u043b\u044c\u0442\u0435 \u0434\u0438\u0441\u0442\u0430\u043d\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f<\/p>\n<p><!--more--><\/p>\n<p>&nbsp;<\/p>\n<p>\u043a\u043e\u0434 \u0438\u0437 \u0432\u0438\u0434\u0435\u043e<\/p><div class=\"ioiyh6ab4952678b9a\" ><hr>\n<!-- Yandex.RTB R-A-1793072-2 -->\n<div id=\"yandex_rtb_R-A-1793072-2\"><\/div>\n<script>window.yaContextCb.push(()=>{\n  Ya.Context.AdvManager.render({\n    renderTo: 'yandex_rtb_R-A-1793072-2',\n    blockId: 'R-A-1793072-2'\n  })\n})<\/script><\/div><style type=\"text\/css\">\r\n@media screen and (min-width: 1201px) {\r\n.ioiyh6ab4952678b9a {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (min-width: 993px) and (max-width: 1200px) {\r\n.ioiyh6ab4952678b9a {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (min-width: 769px) and (max-width: 992px) {\r\n.ioiyh6ab4952678b9a {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (min-width: 768px) and (max-width: 768px) {\r\n.ioiyh6ab4952678b9a {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (max-width: 767px) {\r\n.ioiyh6ab4952678b9a {\r\ndisplay: block;\r\n}\r\n}\r\n<\/style>\r\n\n<pre>#include\u00a0&lt;IRremote.h&gt;\u00a0<span style=\"color: #7e7e7e;\">\/\/ https:\/\/github.com\/shirriff\/Arduino-IRremote<\/span>\r\n\r\n#define\u00a0RECV_PIN\u00a011\u00a0<span style=\"color: #7e7e7e;\">\/\/ IR \u043f\u0440\u0438\u0435\u043c\u043d\u0438\u043a<\/span>\r\n#define\u00a0OUT1\u00a09<span style=\"color: #7e7e7e;\">\/\/ \u0432\u044b\u0445\u043e\u0434\u0430 \u043d\u0430 \u043c\u043e\u0441\u0444\u0435\u0442\u044b<\/span>\r\n#define\u00a0OUT2\u00a010\r\n\u00a0\r\n\r\n#define\u00a0POWER_KEY\u00a00x40BF30CF\u00a0<span style=\"color: #7e7e7e;\">\/\/ \u043a\u043e\u0434\u044b \u043f\u0443\u043b\u044c\u0442\u0430 \u0414\u0423<\/span>\r\n#define\u00a0KEY1\u00a00x40BF7887\u00a0<span style=\"color: #7e7e7e;\">\/\/ v-<\/span>\r\n#define\u00a0KEY2\u00a00x40BFF807\u00a0<span style=\"color: #7e7e7e;\">\/\/ v+<\/span>\r\n#define\u00a0KEY3\u00a00xC03FC03F\r\n#define\u00a0KEY4\u00a00xC03F40BF\r\n\r\n<span style=\"color: #cc6600;\">byte<\/span> analogData1, analogData2 = 0; <span style=\"color: #7e7e7e;\">\/\/ \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0430\u043d\u0430\u043b\u043e\u0433\u043e\u0432\u043e \u0432\u044b\u0445\u043e\u0434\u0430<\/span>\r\nuint32_t\u00a0val;\u00a0\r\n\r\n<span style=\"color: #cc6600;\">IRrecv<\/span> irrecv(RECV_PIN);\r\n\r\n<span style=\"color: #cc6600;\">decode_results<\/span> results;\r\n\r\n<span style=\"color: #cc6600;\">void<\/span> <span style=\"color: #cc6600;\"><b>setup<\/b><\/span>()\r\n{\r\n\u00a0\u00a0irrecv.<span style=\"color: #cc6600;\">enableIRIn<\/span>();  \r\n<span style=\"color: #7e7e7e;\">\/\/Serial.begin(9600);<\/span>\r\n}\r\n\r\n\r\n<span style=\"color: #cc6600;\">void<\/span> <span style=\"color: #cc6600;\"><b>loop<\/b><\/span>() {\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (irrecv.<span style=\"color: #cc6600;\">decode<\/span>(&amp;results)) { <span style=\"color: #7e7e7e;\">\/\/ \u0435\u0441\u043b\u0438 \u043f\u0440\u0438\u0448\u0435\u043b \u043f\u0430\u043a\u0435\u0442  <\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (results.value != 0xFFFFFFFF){ <span style=\"color: #7e7e7e;\">\/\/ \u0438 \u044d\u0442\u043e\u0442 \u043f\u0430\u043a\u0435\u0442 \u043d\u0435 FF<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0val\u00a0=\u00a0results.value;\u00a0<span style=\"color: #7e7e7e;\">\/\/ \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u043f\u0440\u0430\u0432\u0435\u043b\u044c\u043d\u044b\u0439 \u043f\u0430\u043a\u0435\u0442 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e     <\/span>\r\n\u00a0\u00a0\u00a0\u00a0}\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ \u0435\u0441\u043b\u0438 \u043f\u0440\u0438\u0448\u0435\u043b FF, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u043c.<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/\/ \u0441\u0432\u0435\u0440\u044f\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0438\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 val.. \u0435\u0441\u043b\u0438 \u043f\u0440\u0438\u0448\u043b\u0430 \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u0430 (\u043f\u0430\u043a\u0435\u0442 \u0441 FF)<\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/\/ \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0448\u043b\u044b\u0439, \u043f\u0440\u0430\u0432\u0435\u043b\u044c\u043d\u044b\u0439, \u043f\u0430\u043a\u0435\u0442 \u0438 \u043a\u043e\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u0441\u044f \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e. <\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (val == KEY1){      \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (analogData1 != 0)analogData1--; <span style=\"color: #7e7e7e;\">\/\/ \u0435\u0441\u043b\u0438 \u0448\u0438\u043c \u043d\u0435 \u0440\u0430\u0432\u043d\u043e 0 \u043e\u0442\u043d\u0438\u043c\u0430\u0435\u043c 1 <\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">analogWrite<\/span>(OUT1, analogData1);    <span style=\"color: #7e7e7e;\">\/\/ \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432 \u0432\u044b\u0445\u043e\u0434     <\/span>\r\n\u00a0\u00a0\u00a0\u00a0}\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (val == KEY2){ <span style=\"color: #7e7e7e;\">\/\/ \u0438 \u044d\u0442\u043e \u0432\u0442\u043e\u0440\u0430\u044f \u043a\u043d\u043e\u043f\u043a\u0430     <\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (analogData1 &lt; 255) analogData1++; <span style=\"color: #7e7e7e;\">\/\/ \u0435\u0441\u043b\u0438 \u0448\u0438\u043c \u043c\u0435\u043d\u044c\u0448\u0435 255 \u043f\u0440\u0438\u0431\u043e\u0432\u043b\u044f\u0435\u043c 1 <\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">analogWrite<\/span>(OUT1, analogData1);  <span style=\"color: #7e7e7e;\">\/\/ \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <\/span>\r\n\u00a0\u00a0\u00a0\u00a0}\r\n\u00a0\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (val == KEY4){      \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (analogData2 != 0)analogData2--;  \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">analogWrite<\/span>(OUT2, analogData2);      \r\n\u00a0\u00a0\u00a0\u00a0}\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (val == KEY3){      \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (analogData2 &lt; 255) analogData2++;  \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">analogWrite<\/span>(OUT2, analogData2);  \r\n\u00a0\u00a0\u00a0\u00a0}\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/\/<\/span>\r\n\u00a0\u00a0\u00a0 <span style=\"color: #cc6600;\">if<\/span> (results.value == POWER_KEY) {  \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (analogData1 != 0 &amp;&amp; analogData2 != 0){ <span style=\"color: #7e7e7e;\">\/\/ \u0435\u0441\u043b\u0438 \u0428\u0418\u041c \u043d\u0435\u0440\u0430\u0432\u043d\u043e 0<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">analogWrite<\/span>(OUT1, 0); <span style=\"color: #7e7e7e;\">\/\/ \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0435\u043c<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">analogWrite<\/span>(OUT2, 0);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0analogData1\u00a0=\u00a00;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0analogData2\u00a0=\u00a00;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">else<\/span> {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">analogWrite<\/span>(OUT1, 255); <span style=\"color: #7e7e7e;\">\/\/ \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">analogWrite<\/span>(OUT2, 255); \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0analogData1\u00a0=\u00a0255;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0analogData2\u00a0=\u00a0255;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0}\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n<span style=\"color: #7e7e7e;\">\/*Serial.println(val,\u00a0HEX);\u00a0\/\/\/\/\u00a0\u0422\u0415\u0421\u0422\u042b!<\/span>\r\n<span style=\"color: #7e7e7e;\">Serial.println(results.value,\u00a0HEX);\u00a0<\/span>\r\n<span style=\"color: #7e7e7e;\">Serial.println(analogData1);\u00a0<\/span>\r\n<span style=\"color: #7e7e7e;\">Serial.println(analogData2);<\/span>\r\n<span style=\"color: #7e7e7e;\">Serial.println();<\/span>\r\n<span style=\"color: #7e7e7e;\">*\/<\/span>  \r\n\u00a0\u00a0irrecv.<span style=\"color: #cc6600;\">resume<\/span>(); \r\n\u00a0\u00a0}\r\n}\r\n\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041f\u043e \u043c\u043d\u043e\u0433\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u043c \u043f\u0440\u043e\u0441\u044c\u0431\u0430\u043c, \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u0430\u043a \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u044f\u0440\u043a\u043e\u0441\u0442\u044c \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u043e\u0432 \u0443\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0438 \u043d\u0430 \u043f\u0443\u043b\u044c\u0442\u0435 \u0434\u0438\u0441\u0442\u0430\u043d\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[57,2],"tags":[],"class_list":["post-126","post","type-post","status-publish","format-standard","hentry","category-arduino","category-project"],"_links":{"self":[{"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/posts\/126","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/comments?post=126"}],"version-history":[{"count":0,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/posts\/126\/revisions"}],"wp:attachment":[{"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/media?parent=126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/categories?post=126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/tags?post=126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}