{"id":240651,"date":"2014-10-17T14:05:03","date_gmt":"2014-10-17T10:05:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=240651"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=240651","title":{"rendered":"<span class=\"post_title\">Arduino \u0432 \u0431\u044b\u0442\u0443, \u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0435, \u0432 \u043c\u0430\u0448\u0438\u043d\u0435<\/span>"},"content":{"rendered":"<div class=\"content html_format\"> \t\t\t\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u0441\u0442\u043e\u0432 \u043f\u043e\u0441\u0432\u044f\u0449\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0435\u043b\u043a\u0430\u043c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043b\u0430\u0442 Arduino. \u042f \u0442\u043e\u0436\u0435 \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u044d\u0442\u0438\u0445 \u043f\u043b\u0430\u0442. \u041d\u0435 \u044f\u0432\u043b\u044f\u044e\u0441\u044c \u0430\u0432\u0442\u043e\u0440\u043e\u043c \u044d\u0442\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438 \u0438\u043c\u0435\u044e \u043a \u043d\u0438\u043c \u043a\u043e\u0441\u0432\u0435\u043d\u043d\u043e\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435. \u041d\u043e \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0430\u0432\u0442\u043e\u0440\u044b \u0434\u0430\u043b\u0438 \u043c\u043d\u0435 \u0434\u043e\u0431\u0440\u043e \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043e\u043a \u0432 \u044d\u0442\u043e\u0439 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d\u0438 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043a IT \u0438, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u0432 \u043d\u0430 \u0425\u0430\u0431\u0440\u0435 \u0438 \u0435\u0433\u043e \u043e\u0442\u043f\u0440\u044b\u0441\u043a\u0435 Geektimes. <br \/>  <a name=\"habracut\"><\/a><br \/>  \u041f\u0440\u0438\u0432\u043e\u0436\u0443 \u0434\u043e\u0441\u043b\u043e\u0432\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043e\u0442 \u0430\u0432\u0442\u043e\u0440\u043e\u0432.<\/p>\n<h4><b>\u0412 \u0431\u044b\u0442\u0443<\/b><\/h4>\n<p>  <\/p>\n<h5>\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u0443\u0445\u043e\u043d\u043d\u044b\u043c \u043e\u0441\u0432\u0435\u0449\u0435\u043d\u0438\u0435\u043c \u043e\u0442 Engineer200<\/h5>\n<p>  \u041f\u0440\u043e\u0435\u043a\u0442 \u043f\u0440\u0438\u0437\u0432\u0430\u043d \u043d\u0430\u0447\u0430\u0442\u044c \u0440\u0435\u0448\u0430\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043f\u043e\u0438\u0441\u043a\u0430 \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u0435\u0439, \u0437\u0430\u0431\u044b\u0432\u0430\u043d\u0438\u044f \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0437\u0430\u0436\u043c\u0443\u0440\u0438\u0432\u0430\u043d\u0438\u044f. \u041f\u0435\u0440\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u043f\u043b\u0430\u0432\u043d\u043e\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0438 \u0440\u0430\u0431\u043e\u0447\u0435\u0439 \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u043a\u0443\u0445\u043d\u0435 \u0438 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u0448\u043a\u0430\u0444\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u0434 \u043c\u043e\u0439\u043a\u0443 \u043e\u0431\u044b\u0447\u043d\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u044b\u0440\u044f\u0442\u044c \u0441 \u0444\u043e\u043d\u0430\u0440\u0438\u043a\u043e\u043c. \u041f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0430 \u0440\u0430\u0431\u043e\u0447\u0435\u0433\u043e \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u0438 \u043a\u0443\u0445\u043d\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u0435\u043c \u0441\u0432\u0435\u0442\u043e\u0434\u0438\u043e\u0434\u043d\u043e\u0439 \u043b\u0435\u043d\u0442\u044b \u043d\u0430 \u043d\u0438\u0436\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438 \u0432\u0435\u0440\u0445\u043d\u0438\u0445 \u0448\u043a\u0430\u0444\u043e\u0432. \u041a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442 \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u044e\u0442 \u0441\u0432\u0435\u0442. \u0414\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043d\u0430\u0436\u0430\u0442\u0438\u0435 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0440\u0435\u0436\u0438\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0443\u0440\u043e\u0432\u043d\u044f \u0441\u0432\u0435\u0442\u0430, \u043f\u043e\u0441\u0442\u0435\u043f\u0435\u043d\u043d\u043e\u0435 \u043f\u0440\u0438\u0442\u0443\u0445\u0430\u043d\u0438\u0435, \u043f\u043e \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044e \u043d\u043e\u043b\u044f, \u0441\u043d\u043e\u0432\u0430 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u044f\u0440\u043a\u043e. \u041a\u043e\u0433\u0434\u0430 \u043a\u043d\u043e\u043f\u043a\u0430 \u043e\u0442\u043f\u0443\u0449\u0435\u043d\u0430 \u2014 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0441\u0432\u0435\u0442\u0430 \u0437\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0438 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0435 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443, \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442 \u0441\u0432\u0435\u0442 \u0434\u043e \u0437\u0430\u043f\u043e\u043c\u043d\u0435\u043d\u043d\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f. \u0412\u043d\u0443\u0442\u0440\u0438 \u0448\u043a\u0430\u0444\u0430 \u0441\u0432\u0435\u0442 \u043f\u043b\u0430\u0432\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f-\u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0441\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u044e \u0433\u0435\u0440\u043a\u043e\u043d\u0430, \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u0432 \u0441\u0442\u0435\u043d\u043a\u0443 \u0448\u043a\u0430\u0444\u0430. \u0414\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0435 \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u0432 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f, \u043e\u0441\u0432\u0435\u0449\u0451\u043d\u043d\u043e\u0441\u0442\u0438, \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043a\u0430\u043d\u0430\u043b\u043e\u0432 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0435\u043a\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0438 \u0441\u0442\u0435\u043a\u043b\u044f\u043d\u043d\u044b\u0445 \u043f\u043e\u043b\u043e\u043a \u0438 \u0434\u0432\u0435\u0440\u0435\u0439. <\/p>\n<p>  \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0430\u0441\u044c \u043d\u0430 Arduino UNO \u0441 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u043c AFMega8A-PU, \u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043d\u0430 Arduino PRO Mini.<\/p>\n<p>  \u041f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/habrastorage.org\/files\/c1d\/5cd\/991\/c1d5cd9917a54047a301aeb95ed3294c.png\" alt=\"image\"\/><\/p>\n<p>  <a href=\"http:\/\/yadi.sk\/d\/e5-dtfSiM6hWn\">\u0424\u0430\u0439\u043b \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/a> \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 FLProg.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0421\u043a\u0435\u0442\u0447 \u0434\u043b\u044f ArduinoIDE<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>bool _gtv1 = 0; bool _gtv2 = 0; int _gtv3 = 255; int _gtv4 = 0; bool _gtv9 = 0; bool _gtv11 = 1; int _gtv12 = 255; bool _gtv13 = 0; bool _gtv14 = 0; bool _gtv15 = 0; bool _gtv16 = 0; bool _gtv17 = 0; bool _gtv18 = 0; int _gtv19 = 255; int _gtv20 = 255; int _gtv21 = 255; int _gtv22 = 255; int _gtv23 = 0; int _gtv24 = 0; bool _gtv5 = 0; bool _gtv6 = 0; int _gtv8 = 0; int _gtv10 = 0; int _gtv25 = 0; bool _tim1I = 0; bool _tim1O = 0; unsigned long _tim1P = 0UL; bool _tim3I = 0; bool _tim3O = 0; unsigned long _tim3P = 0UL; bool _tim4I = 0; bool _tim4O = 0; unsigned long _tim4P = 0UL; int _swi3; bool _trgs1 = 0; int _swi5; bool _trgs2 = 0; int _swi6; bool _trgs3 = 0; bool _gen1I = 0; bool _gen1O = 0; unsigned long _gen1P = 0UL; int _swi4; bool _count1I = 0; int _count1P = 0; bool _gen3I = 0; bool _gen3O = 0; unsigned long _gen3P = 0UL; int _swi7; bool _count3I = 0; int _count3P = 0; bool _gen4I = 0; bool _gen4O = 0; unsigned long _gen4P = 0UL; int _swi8; bool _count4I = 0; int _count4P = 0; bool _gen2I = 0; bool _gen2O = 0; unsigned long _gen2P = 0UL; int _swi1; int _swi2; bool _count2I = 0; int _count2P = 0; bool _gen5I = 0; bool _gen5O = 0; unsigned long _gen5P = 0UL; int _swi9; int _swi10; bool _count5I = 0; int _count5P = 0; bool _gen6I = 0; bool _gen6O = 0; unsigned long _gen6P = 0UL; int _swi11; int _swi12; bool _count6I = 0; int _count6P = 0; bool _tim2I = 0; bool _tim2O = 0; unsigned long _tim2P = 0UL; bool _tim5I = 0; bool _tim5O = 0; unsigned long _tim5P = 0UL; bool _tim6I = 0; bool _tim6O = 0; unsigned long _tim6P = 0UL; bool _gen7I = 0; bool _gen7O = 0; unsigned long _gen7P = 0UL; int _swi13; bool _count7I = 0; int _count7P = 0; bool _gen8I = 0; bool _gen8O = 0; unsigned long _gen8P = 0UL; int _swi14; bool _count8I = 0; int _count8P = 0; bool _gen9I = 0; bool _gen9O = 0; unsigned long _gen9P = 0UL; int _swi15; bool _count9I = 0; int _count9P = 0; bool _bounseInput2S = 0; bool _bounseInput2O = 0; unsigned long _bounseInput2P = 0UL; bool _bounseInput4S = 0; bool _bounseInput4O = 0; unsigned long _bounseInput4P = 0UL; bool _bounseInput7S = 0; bool _bounseInput7O = 0; unsigned long _bounseInput7P = 0UL; bool _bounseInput13S = 0; bool _bounseInput13O = 0; unsigned long _bounseInput13P = 0UL; bool _bounseInput8S = 0; bool _bounseInput8O = 0; unsigned long _bounseInput8P = 0UL; bool _bounseInput12S = 0; bool _bounseInput12O = 0; unsigned long _bounseInput12P = 0UL; void setup() {   pinMode(8, INPUT);   digitalWrite(8, HIGH);   pinMode(12, INPUT);   digitalWrite(12, HIGH);   pinMode(13, INPUT);   pinMode(2, INPUT);   digitalWrite(2, HIGH);   pinMode(4, INPUT);   digitalWrite(4, HIGH);   pinMode(7, INPUT);   digitalWrite(7, HIGH);    _bounseInput12O =  digitalRead(12);   _bounseInput8O =  digitalRead(8);   _bounseInput2O =  digitalRead(2);   _bounseInput4O =  digitalRead(4);   _bounseInput7O =  digitalRead(7);   _bounseInput13O =  digitalRead(13); } void loop() {   bool  _bounceTmp2 =  (digitalRead (2));    if (_bounseInput2S)   {     if (millis() &gt;= (_bounseInput2P + 40))     {       _bounseInput2O = _bounceTmp2;       _bounseInput2S = 0;     }   }   else   {     if (_bounceTmp2 != _bounseInput2O )     {       _bounseInput2S = 1;       _bounseInput2P = millis();     }   }   bool  _bounceTmp4 =  (digitalRead (4));    if (_bounseInput4S)   {     if (millis() &gt;= (_bounseInput4P + 40))     {       _bounseInput4O = _bounceTmp4;       _bounseInput4S = 0;     }   }   else   {     if (_bounceTmp4 != _bounseInput4O )     {       _bounseInput4S = 1;       _bounseInput4P = millis();     }   }   bool  _bounceTmp7 =  (digitalRead (7));    if (_bounseInput7S)   {     if (millis() &gt;= (_bounseInput7P + 40))     {       _bounseInput7O = _bounceTmp7;       _bounseInput7S = 0;     }   }   else   {     if (_bounceTmp7 != _bounseInput7O )     {       _bounseInput7S = 1;       _bounseInput7P = millis();     }   }   bool  _bounceTmp13 =  (digitalRead (13));    if (_bounseInput13S)   {     if (millis() &gt;= (_bounseInput13P + 40))     {       _bounseInput13O = _bounceTmp13;       _bounseInput13S = 0;     }   }   else   {     if (_bounceTmp13 != _bounseInput13O )     {       _bounseInput13S = 1;       _bounseInput13P = millis();     }   }   bool  _bounceTmp8 =  (digitalRead (8));    if (_bounseInput8S)   {     if (millis() &gt;= (_bounseInput8P + 40))     {       _bounseInput8O = _bounceTmp8;       _bounseInput8S = 0;     }   }   else   {     if (_bounceTmp8 != _bounseInput8O )     {       _bounseInput8S = 1;       _bounseInput8P = millis();     }   }   bool  _bounceTmp12 =  (digitalRead (12));    if (_bounseInput12S)   {     if (millis() &gt;= (_bounseInput12P + 40))     {       _bounseInput12O = _bounceTmp12;       _bounseInput12S = 0;     }   }   else   {     if (_bounceTmp12 != _bounseInput12O )     {       _bounseInput12S = 1;       _bounseInput12P = millis();     }   }      if (_bounseInput8O)   {     _tim1O  = 1;     _tim1I  = 1;   }   else   {     if (_tim1I)     {       _tim1I = 0;       _tim1P = millis();     }     else     {       if (_tim1O)       { if ( _isTimer(_tim1P, 100)) _tim1O = 0;       }     }   }   if (_bounseInput12O)   {     _tim3O  = 1;     _tim3I  = 1;   }   else   {     if (_tim3I)     {       _tim3I = 0;       _tim3P = millis();     }     else     {       if (_tim3O)       { if ( _isTimer(_tim3P, 100)) _tim3O = 0;       }     }   }   if (_bounseInput13O)   {     _tim4O  = 1;     _tim4I  = 1;   }   else   {     if (_tim4I)     {       _tim4I = 0;       _tim4P = millis();     }     else     {       if (_tim4O)       { if ( _isTimer(_tim4P, 100)) _tim4O = 0;       }     }   }   _gtv11 = _tim1O;   _gtv15 = _tim3O;   _gtv16 = _tim4O;   if ( (_gtv9) || ( ( (!(_gtv9)) && (_gtv11) && (!(_gtv1)) ) && ((_gtv3) == (0)) ) ) _trgs1 = 1;   if ( ( (!(_gtv9)) && (_gtv11) && (!(_gtv1)) ) && ((_gtv3) &gt; (0)) ) _trgs1 = 0;   if (_trgs1)   {     _swi3 = _gtv12;   }   else   {     _swi3 = 0;   }   _gtv3 = _swi3;   if ( (_gtv17) || ( ( (!(_gtv17)) && (_gtv15) && (!(_gtv13)) ) && ((_gtv21) == (0)) ) ) _trgs2 = 1;   if ( ( (!(_gtv17)) && (_gtv15) && (!(_gtv13)) ) && ((_gtv21) &gt; (0)) ) _trgs2 = 0;   if (_trgs2)   {     _swi5 = _gtv19;   }   else   {     _swi5 = 0;   }   _gtv21 = _swi5;   if ( (_gtv18) || ( ( (!(_gtv18)) && (_gtv16) && (!(_gtv14)) ) && ((_gtv22) == (0)) ) ) _trgs3 = 1;   if ( ( (!(_gtv18)) && (_gtv16) && (!(_gtv14)) ) && ((_gtv22) &gt; (0)) ) _trgs3 = 0;   if (_trgs3)   {     _swi6 = _gtv20;   }   else   {     _swi6 = 0;   }   _gtv22 = _swi6;   if (_gtv9)   {     _swi4 = 0;   }   else   {     _swi4 = 2;   }    if ( ((_gtv4) &lt; (_gtv3)) || ((_gtv4) &gt; (_gtv3)) )   {     if (! _gen1I)     {       _gen1I = 1;       _gen1O = 1;       _gen1P = millis();     }   }   else   {     _gen1I = 0 ;     _gen1O = 0;   }   if (_gen1I )   {     if ( _isTimer ( _gen1P , _swi4 ))     {       _gen1P = millis();       _gen1O = ! _gen1O;     }   }    if (_gen1O)   {     if (! _count1I)     {       if ( ((_gtv4) &lt; (_gtv3)) && (!((_gtv4) &gt; (_gtv3))) ) {         _count1P = _count1P + 1;       } else {         _count1P = _count1P - 1;       };       _count1I = 1;     }   }   else   {     _count1I = 0;   }   if (_count1P &lt; 0 ) _count1P = 0;   if (0) _count1P = 0;   analogWrite(9, _count1P);   _gtv4 = _count1P;   if (_gtv17)   {     _swi7 = 0;   }   else   {     _swi7 = 2;   }    if ( ((_gtv23) &lt; (_gtv21)) || ((_gtv23) &gt; (_gtv21)) )   {     if (! _gen3I)     {       _gen3I = 1;       _gen3O = 1;       _gen3P = millis();     }   }   else   {     _gen3I = 0 ;     _gen3O = 0;   }   if (_gen3I )   {     if ( _isTimer ( _gen3P , _swi7 ))     {       _gen3P = millis();       _gen3O = ! _gen3O;     }   }    if (_gen3O)   {     if (! _count3I)     {       if ( ((_gtv23) &lt; (_gtv21)) && (!((_gtv23) &gt; (_gtv21))) ) {         _count3P = _count3P + 1;       } else {         _count3P = _count3P - 1;       };       _count3I = 1;     }   }   else   {     _count3I = 0;   }   if (_count3P &lt; 0 ) _count3P = 0;   if (0) _count3P = 0;   analogWrite(10, _count3P);   _gtv23 = _count3P;   if (_gtv18)   {     _swi8 = 0;   }   else   {     _swi8 = 2;   }    if ( ((_gtv24) &lt; (_gtv22)) || ((_gtv24) &gt; (_gtv22)) )   {     if (! _gen4I)     {       _gen4I = 1;       _gen4O = 1;       _gen4P = millis();     }   }   else   {     _gen4I = 0 ;     _gen4O = 0;   }   if (_gen4I )   {     if ( _isTimer ( _gen4P , _swi8 ))     {       _gen4P = millis();       _gen4O = ! _gen4O;     }   }    if (_gen4O)   {     if (! _count4I)     {       if ( ((_gtv24) &lt; (_gtv22)) && (!((_gtv24) &gt; (_gtv22))) ) {         _count4P = _count4P + 1;       } else {         _count4P = _count4P - 1;       };       _count4I = 1;     }   }   else   {     _count4I = 0;   }   if (_count4P &lt; 0 ) _count4P = 0;   if (0) _count4P = 0;   _gtv24 = _count4P;   analogWrite(11, _count4P);    if (_gtv9)   {     if (! _gen2I)     {       _gen2I = 1;       _gen2O = 1;       _gen2P = millis();     }   }   else   {     _gen2I = 0 ;     _gen2O = 0;   }   if (_gen2I )   {     if ( _isTimer ( _gen2P , 7 ))     {       _gen2P = millis();       _gen2O = ! _gen2O;     }   }    if (_gen2O)   {     if (! _count2I)     {       _count2P = _count2P + 1;       _count2I = 1;     }   }   else   {     _count2I = 0;   }   if (_count2P &lt; 0 ) _count2P = 0;   if (_gtv2) _count2P = 0;   if (((300) - (_count2P)) &gt; (255))   {     _swi1 = 255;   }   else   {     _swi1 = (300) - (_count2P);   }   if (_gtv9)   {     _swi2 = _swi1;   }   else   {     _swi2 = _gtv12;   }   _gtv2 = (_count2P) &gt;= (300);   _gtv12 = _swi2;    if (_gtv17)   {     if (! _gen5I)     {       _gen5I = 1;       _gen5O = 1;       _gen5P = millis();     }   }   else   {     _gen5I = 0 ;     _gen5O = 0;   }   if (_gen5I )   {     if ( _isTimer ( _gen5P , 7 ))     {       _gen5P = millis();       _gen5O = ! _gen5O;     }   }    if (_gen5O)   {     if (! _count5I)     {       _count5P = _count5P + 1;       _count5I = 1;     }   }   else   {     _count5I = 0;   }   if (_count5P &lt; 0 ) _count5P = 0;   if (_gtv5) _count5P = 0;   if (((300) - (_count5P)) &gt; (255))   {     _swi9 = 255;   }   else   {     _swi9 = (300) - (_count5P);   }   if (_gtv17)   {     _swi10 = _swi9;   }   else   {     _swi10 = _gtv19;   }   _gtv5 = (_count5P) &gt;= (300);   _gtv19 = _swi10;    if (_gtv18)   {     if (! _gen6I)     {       _gen6I = 1;       _gen6O = 1;       _gen6P = millis();     }   }   else   {     _gen6I = 0 ;     _gen6O = 0;   }   if (_gen6I )   {     if ( _isTimer ( _gen6P , 7 ))     {       _gen6P = millis();       _gen6O = ! _gen6O;     }   }    if (_gen6O)   {     if (! _count6I)     {       _count6P = _count6P + 1;       _count6I = 1;     }   }   else   {     _count6I = 0;   }   if (_count6P &lt; 0 ) _count6P = 0;   if (_gtv6) _count6P = 0;   if (((300) - (_count6P)) &gt; (255))   {     _swi11 = 255;   }   else   {     _swi11 = (300) - (_count6P);   }   if (_gtv18)   {     _swi12 = _swi11;   }   else   {     _swi12 = _gtv20;   }   _gtv6 = (_count6P) &gt;= (300);   _gtv20 = _swi12;   _gtv1 = _gtv11;   _gtv13 = _gtv15;   _gtv14 = _gtv16;   if (_gtv11)   {     _tim2O  = 1;     _tim2I  = 1;   }   else   {     if (_tim2I)     {       _tim2I = 0;       _tim2P = millis();     }     else     {       if (_tim2O)       { if ( _isTimer(_tim2P, 1000)) _tim2O = 0;       }     }   }   if (_gtv15)   {     _tim5O  = 1;     _tim5I  = 1;   }   else   {     if (_tim5I)     {       _tim5I = 0;       _tim5P = millis();     }     else     {       if (_tim5O)       { if ( _isTimer(_tim5P, 1000)) _tim5O = 0;       }     }   }   if (_gtv16)   {     _tim6O  = 1;     _tim6I  = 1;   }   else   {     if (_tim6I)     {       _tim6I = 0;       _tim6P = millis();     }     else     {       if (_tim6O)       { if ( _isTimer(_tim6P, 1000)) _tim6O = 0;       }     }   }   _gtv9 =  (!(_tim2O)) && (!(_gtv11)) ;   _gtv17 =  (!(_tim5O)) && (!(_gtv15)) ;   _gtv18 =  (!(_tim6O)) && (!(_gtv16)) ;   if (_bounseInput2O)   {     _swi13 = 255;   }   else   {     _swi13 = 0;   }    if ( ((_gtv8) &lt; (_swi13)) || ((_gtv8) &gt; (_swi13)) )   {     if (! _gen7I)     {       _gen7I = 1;       _gen7O = 1;       _gen7P = millis();     }   }   else   {     _gen7I = 0 ;     _gen7O = 0;   }   if (_gen7I )   {     if ( _isTimer ( _gen7P , 3 ))     {       _gen7P = millis();       _gen7O = ! _gen7O;     }   }    if (_gen7O)   {     if (! _count7I)     {       if ( ((_gtv8) &lt; (_swi13)) && (!((_gtv8) &gt; (_swi13))) ) {         _count7P = _count7P + 1;       } else {         _count7P = _count7P - 1;       };       _count7I = 1;     }   }   else   {     _count7I = 0;   }   if (_count7P &lt; 0 ) _count7P = 0;   if (0) _count7P = 0;   analogWrite(3, _count7P);   _gtv8 = _count7P;   if (_bounseInput4O)   {     _swi14 = 255;   }   else   {     _swi14 = 0;   }    if ( ((_gtv10) &lt; (_swi14)) || ((_gtv10) &gt; (_swi14)) )   {     if (! _gen8I)     {       _gen8I = 1;       _gen8O = 1;       _gen8P = millis();     }   }   else   {     _gen8I = 0 ;     _gen8O = 0;   }   if (_gen8I )   {     if ( _isTimer ( _gen8P , 3 ))     {       _gen8P = millis();       _gen8O = ! _gen8O;     }   }    if (_gen8O)   {     if (! _count8I)     {       if ( ((_gtv10) &lt; (_swi14)) && (!((_gtv10) &gt; (_swi14))) ) {         _count8P = _count8P + 1;       } else {         _count8P = _count8P - 1;       };       _count8I = 1;     }   }   else   {     _count8I = 0;   }   if (_count8P &lt; 0 ) _count8P = 0;   if (0) _count8P = 0;   analogWrite(5, _count8P);   _gtv10 = _count8P;   if (_bounseInput7O)   {     _swi15 = 255;   }   else   {     _swi15 = 0;   }    if ( ((_gtv25) &lt; (_swi15)) || ((_gtv25) &gt; (_swi15)) )   {     if (! _gen9I)     {       _gen9I = 1;       _gen9O = 1;       _gen9P = millis();     }   }   else   {     _gen9I = 0 ;     _gen9O = 0;   }   if (_gen9I )   {     if ( _isTimer ( _gen9P , 3 ))     {       _gen9P = millis();       _gen9O = ! _gen9O;     }   }    if (_gen9O)   {     if (! _count9I)     {       if ( ((_gtv25) &lt; (_swi15)) && (!((_gtv25) &gt; (_swi15))) ) {         _count9P = _count9P + 1;       } else {         _count9P = _count9P - 1;       };       _count9I = 1;     }   }   else   {     _count9I = 0;   }   if (_count9P &lt; 0 ) _count9P = 0;   if (0) _count9P = 0;   analogWrite(6, _count9P);   _gtv25 = _count9P;    } bool _isTimer(unsigned long startTime, unsigned long period ) {   unsigned long endTime;   endTime = startTime + period;   return (millis() &gt;= endTime); } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0413\u043e\u0442\u043e\u0432\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e:<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/b7d\/fb6\/eb5\/b7dfb6eb59e54c179ecdc84491f0dc7d.png\"\/><\/p>\n<p>  \u0412\u0438\u0434\u0435\u043e \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0441\u0431\u043e\u0440\u043a\u0438:<\/p>\n<p>  <iframe loading=\"lazy\" width=\"560\" height=\"349\" src=\"\/\/www.youtube.com\/embed\/QUA7wEtX9V0?wmode=opaque\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<p>  \u0412\u0438\u0434\u0435\u043e \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430:<\/p>\n<p>  <iframe loading=\"lazy\" width=\"560\" height=\"349\" src=\"\/\/www.youtube.com\/embed\/_OiUc1YzPw0?wmode=opaque\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<h4><b>\u041d\u0430 \u0440\u0430\u0431\u043e\u0442\u0435<\/b><\/h4>\n<p>  <\/p>\n<h5>C\u0432\u0430\u0440\u043e\u0447\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0434\u043b\u044f \u0441\u0432\u0430\u0440\u043a\u0438 \u0430\u0440\u043c\u0430\u0442\u0443\u0440\u044b \u043e\u0442 ALEX<\/h5>\n<p>  \u041d\u0430\u043f\u0438\u0441\u0430\u043b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443 \u0441\u0432\u0430\u0440\u043e\u0447\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0434\u043b\u044f \u0441\u0432\u0430\u0440\u043a\u0438 \u0430\u0440\u043c\u0430\u0442\u0443\u0440\u044b. \u0417\u0430\u043f\u0443\u0441\u043a \u043e\u0442 \u043d\u043e\u0436\u043d\u043e\u0439 \u043f\u0435\u0434\u0430\u043b\u0438 \u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u043f\u0440\u0443\u0442\u043a\u0430 \u0430\u0440\u043c\u0430\u0442\u0443\u0440\u044b.<\/p>\n<p>  \u0420\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0430 \u0442\u0440\u0435\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432:<\/p>\n<p>  \u00ab\u0412\u0440\u0435\u043c\u044f \u041f\u0420\u0418\u0416\u0418\u041c\u0410\u00bb, \u00ab\u0412\u0440\u0435\u043c\u044f \u0421\u0412\u0410\u0420\u041a\u0418\u00bb<br \/>  \u00ab\u0412\u0440\u0435\u043c\u044f \u041f\u0420\u041e\u041a\u041e\u0412\u041a\u0418\u00bb<br \/>  \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u0435\u0434\u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0442\u0435\u043b\u044c \u00ab\u0410\u0412\u0422\u041e\u041c\u0410\u0422- \u0420\u0423\u0427\u041d\u041e\u0419\u00bb <\/p>\n<p>  \u041f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430:<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/eeb\/8b5\/6cc\/eeb8b56cc2fb4743b7469b718905e137.gif\"\/><\/p>\n<p>  <a href=\"http:\/\/flprog.ru\/images\/hostingFiles\/57687003.flp\">\u0424\u0430\u0439\u043b \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/a> \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 FLProg.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0421\u043a\u0435\u0442\u0447 \u0434\u043b\u044f ArduinoIDE<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>bool _gtv1 = 0; bool _tim1I = 0; bool _tim1O = 0; unsigned long _tim1P = 0UL; bool _gen1I = 0; bool _gen1O = 0; unsigned long _gen1P = 0UL; bool _trgr1 = 0; bool _gen2I = 0; bool _gen2O = 0; unsigned long _gen2P = 0UL; bool _tim2I = 0; bool _tim2O = 0; unsigned long _tim2P = 0UL; bool _tim3I = 0; bool _tim3O = 0; unsigned long _tim3P = 0UL; bool _gen4I = 0; bool _gen4O = 0; unsigned long _gen4P = 0UL; void setup() {   pinMode(2, INPUT);   pinMode(3, INPUT);   pinMode(4, INPUT);   pinMode(5, OUTPUT);   pinMode(6, OUTPUT);  } void loop() {      if ( ( (digitalRead (2))) && ( (digitalRead (3))) )   {     if (_tim1I)     {       if ( _isTimer(_tim1P, nil)) _tim1O = 1;     }     else     {       _tim1I = 1;       _tim1P = millis();     }   }   else   {     _tim1O = 0;     _tim1I = 0;   }    if (_tim1O)   {     if (! _gen1I)     {       _gen1I = 1;       _gen1O = 1;       _gen1P = millis();     }   }   else   {     _gen1I = 0 ;     _gen1O = 0;   }   if (_gen1I &&  _gen1O)   _gen1O = !( _isTimer ( _gen1P , 10 ));     if ( ( ( (digitalRead (2))) && (!( (digitalRead (4)))) ) || ( ( (digitalRead (4))) && (_gtv1) ) )   {     if (! _gen2I)     {       _gen2I = 1;       _gen2O = 1;       _gen2P = millis();     }   }   else   {     _gen2I = 0 ;     _gen2O = 0;   }   if (_gen2I &&  _gen2O)   _gen2O = !( _isTimer ( _gen2P , 10 ));    if (_gen2O) _trgr1 = 0;   if (_gen1O) _trgr1 = 1;   if (_trgr1)   {     if (_tim2I)     {       if ( _isTimer(_tim2P, (( (analogRead (1))) \/ (8)) + (100))) _tim2O = 1;     }     else     {       _tim2I = 1;       _tim2P = millis();     }   }   else   {     _tim2O = 0;     _tim2I = 0;   }    if (_tim2O)   {     if (! _gen4I)     {       _gen4I = 1;       _gen4O = 1;       _gen4P = millis();     }   }   else   {     _gen4I = 0 ;     _gen4O = 0;   }   if (_gen4I &&  _gen4O)   _gen4O = !( _isTimer ( _gen4P , (( (analogRead (0))) \/ (8)) + (100) ));    if (_gen4O)   {     _tim3O  = 1;     _tim3I  = 1;   }   else   {     if (_tim3I)     {       _tim3I = 0;       _tim3P = millis();     }     else     {       if (_tim3O)       { if ( _isTimer(_tim3P, (( (analogRead (2))) \/ (8)) + (100))) _tim3O = 0;       }     }   }   digitalWrite(5, _trgr1);   digitalWrite(6, _gen4O);   _gtv1 = (!(_tim3O));    } bool _isTimer(unsigned long startTime, unsigned long period ) {   unsigned long endTime;   endTime = startTime + period;   return (millis() &gt;= endTime); } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<h4><b>\u0412 \u043c\u0430\u0448\u0438\u043d\u0435<\/b><\/h4>\n<p>  <\/p>\n<h5>\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0441\u0432\u0435\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0440\u0438\u0431\u043e\u0440\u0430\u043c\u0438 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u044f \u043e\u0442 karam.d<\/h5>\n<p>  \u0411\u043b\u043e\u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0432\u0435\u0442\u043e\u043c \u043d\u0430 \u0430\u0432\u0442\u043e\u043c\u043e\u0431\u0438\u043b\u0435.<\/p>\n<p>  \u041f\u0440\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u0440\u0435\u0436\u0438\u043c\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442 (\u0433\u0430\u0431\u0430\u0440\u0438\u0442\u044b, \u0445\u043e\u0434\u043e\u0432\u044b\u0435 \u043e\u0433\u043d\u0438, \u0431\u043b\u0438\u0436\u043d\u0438\u0439 \u0441\u0432\u0435\u0442) \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438. \u041a\u0430\u043a \u043f\u043e\u0441\u0442\u0443\u043f\u0438\u043b \u0441\u0438\u0433\u043d\u0430\u043b \u0441 \u0442\u0430\u0445\u043e\u043c\u0435\u0442\u0440\u0430 \u0432\u043a\u043b \u0440\u0435\u0436\u0438\u043c \u0430\u0432\u0442 \u0438 \u0437\u0430\u0433\u043e\u0440\u0430\u044e\u0442\u0441\u044f \u0433\u0430\u0431\u0430\u0440\u0438\u0442\u044b \u0438 \u0434\u0438\u043e\u0434 (\u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u0432\u043a\u043b). \u041f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044f \u0441\u0438\u0433\u043d\u0430\u043b\u0430 (\u0447\u0435\u0440\u0435\u0437 10 \u0441\u0435\u043a) \u0432\u044b\u043a \u0440\u0435\u0436\u0438\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442, \u0430 \u0433\u0430\u0431\u0430\u0440\u0438\u0442\u044b \u0433\u0430\u0441\u043d\u0443\u0442 \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u043a\u043b \u0437\u0430\u0436\u0438\u0433\u0430\u043d\u0438\u044f. \u041f\u0440\u0438 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0438 \u0441\u0438\u0433\u043d\u0430\u043b\u0430 \u0441 \u0434\u0430\u0442\u0447\u0438\u043a\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0432\u043a\u043b \u0445\u043e\u0434\u043e\u0432\u044b\u0435 \u043e\u0433\u043d\u0438 \u0438\u043b\u0438 \u0431\u043b\u0438\u0436\u043d\u0438\u0439 \u0441\u0432\u0435\u0442 \u0444\u0430\u0440 (\u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043e\u0441\u0432\u0435\u0449\u0451\u043d\u043d\u043e\u0441\u0442\u0438 ). \u041f\u0440\u0438 \u043f\u0440\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u0438 (\u0447\u0435\u0440\u0435\u0437 2 \u043c\u0438\u043d) \u043e\u043d\u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f.<\/p>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u0431\u043b\u043e\u043a \u0432\u043a\u043b\u044e\u0447\u0435\u043d, \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u044c \u043b\u0430\u043c\u043f \u0431\u043b\u0438\u0436\u043d\u0435\u0433\u043e \u0441\u0432\u0435\u0442\u0430, \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0431\u043e\u0440\u0442\u0443 (\u043c\u0438\u043d, \u043d\u043e\u0440\u043c\u0430, \u043c\u0430\u043a\u0441) \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0441\u0432\u0435\u0442\u043e\u0432\u043e\u0439 \u0438 \u0437\u0432\u0443\u043a\u043e\u0432\u043e\u0439 \u0441\u0438\u0433\u043d\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 (\u0437\u0432\u0443\u043a\u043e\u0432\u043e\u0439 \u0441\u0438\u0433\u043d\u0430\u043b \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u0430\u0436\u0430\u0442\u0438\u0435\u043c \u043a\u043d\u043e\u043f\u043a\u0438). \u0415\u0441\u043b\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043f\u043e\u0432\u043e\u0440\u043e\u0442\u043d\u0438\u043a\u0438 (\u043a \u04107), \u0442\u043e \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u0442\u044c\u0441\u044f \u0437\u0432\u0443\u043a\u043e\u0432\u044b\u043c \u0441\u0438\u0433\u043d\u0430\u043b\u043e\u043c. \u041f\u0440\u043e\u0435\u043a\u0442 \u0441\u043e\u0431\u0440\u0430\u043d \u043d\u0430 Arduino Nano. \u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0443\u0436\u0435 \u043c\u0435\u0441\u044f\u0446 \u043a\u0430\u043a \u0447\u0430\u0441\u044b.<\/p>\n<p>  \u041f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0445\u0435\u043c\u0430:<\/p>\n<p>  <img decoding=\"async\" src=\"\/\/habrastorage.org\/files\/ae6\/51b\/829\/ae651b829b834500a1619e98c3cafaff.PNG\"\/><\/p>\n<p>  <a href=\"http:\/\/flprog.ru\/images\/hostingFiles\/136290546.flp\">\u0424\u0430\u0439\u043b \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/a> \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0435 FLProg.<\/p>\n<p>  <a href=\"http:\/\/flprog.ru\/images\/hostingFiles\/139145220.dch\">\u0421\u0445\u0435\u043c\u0430 \u0432 diptrace<\/a>.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0421\u043a\u0435\u0442\u0447 \u0434\u043b\u044f ArduinoIDE<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code>bool _gtv1 = 0; bool _gtv5 = 0; bool _gtv6 = 0; bool _gtv7 = 0; bool _gtv8 = 0; bool _gtv9 = 0; bool _gtv10 = 0; bool _gtv11 = 0; bool _gtv2 = 0; bool _gtv3 = 0; bool _bounse1S = 0; bool _bounse1O = 0; unsigned long _bounse1P = 0UL; bool _tim1I = 0; bool _tim1O = 0; unsigned long _tim1P = 0UL; bool _tim6I = 0; bool _tim6O = 0; unsigned long _tim6P = 0UL; bool _trgrt2 = 0; bool _trgrt2I = 0; bool _tim10I = 0; bool _tim10O = 0; unsigned long _tim10P = 0UL; bool _tim9I = 0; bool _tim9O = 0; unsigned long _tim9P = 0UL; bool _tim2I = 0; bool _tim2O = 0; unsigned long _tim2P = 0UL; bool _trgrt1 = 0; bool _trgrt1I = 0; int _swi2; bool _tim8I = 0; bool _tim8O = 0; unsigned long _tim8P = 0UL; bool _tim3I = 0; bool _tim3O = 0; unsigned long _tim3P = 0UL; int _swi1; bool _tim4I = 0; bool _tim4O = 0; unsigned long _tim4P = 0UL; bool _tim5I = 0; bool _tim5O = 0; unsigned long _tim5P = 0UL; bool _tim7I = 0; bool _tim7O = 0; unsigned long _tim7P = 0UL; bool _gen1I = 0; bool _gen1O = 0; unsigned long _gen1P = 0UL; bool _bounse3S = 0; bool _bounse3O = 0; unsigned long _bounse3P = 0UL; bool _bounse2S = 0; bool _bounse2O = 0; unsigned long _bounse2P = 0UL; bool _trgt1 = 0; bool _trgt1I = 0; void setup() {   pinMode(2, INPUT);   pinMode(4, INPUT);   pinMode(7, OUTPUT);   pinMode(12, OUTPUT);   pinMode(8, OUTPUT);   pinMode(13, OUTPUT);   pinMode(10, OUTPUT);   pinMode(11, OUTPUT);  } void loop() {      bool  _bounceTmp1 = ( (analogRead (2))) &gt; (500);    if (_bounse1S)   {     if (millis() &gt;= (_bounse1P + 40))     {       _bounse1O = _bounceTmp1;       _bounse1S = 0;     }   }   else   {     if (_bounceTmp1 != _bounse1O )     {       _bounse1S = 1;       _bounse1P = millis();     }   }   _gtv1 = _bounse1O;   if ( (digitalRead (2))) {     if (_trgrt2I) {       _trgrt2 = 0;     } else {       _trgrt2 = 1;       _trgrt2I = 1;     }   } else {     _trgrt2 = 0;     _trgrt2I = 0;   };   if (_trgrt2)   {     _tim1O  = 1;     _tim1I  = 1;   }   else   {     if (_tim1I)     {       _tim1I = 0;       _tim1P = millis();     }     else     {       if (_tim1O)       { if ( _isTimer(_tim1P, 10000)) _tim1O = 0;       }     }   }   if ( (!(_gtv1)) && (_tim1O) )   {     if (_tim6I)     {       if ( _isTimer(_tim6P, 3000)) _tim6O = 1;     }     else     {       _tim6I = 1;       _tim6P = millis();     }   }   else   {     _tim6O = 0;     _tim6I = 0;   }   _gtv5 = _tim6O;   digitalWrite(7, _tim6O);   if (_tim6O) {     analogWrite(3, (map((1024), (0), (1023), (0), (255))));   }   if ( (_gtv5) && (( (analogRead (5))) &lt; (500)) )   {     if (_tim10I)     {       if ( _isTimer(_tim10P, 2005)) _tim10O = 1;     }     else     {       _tim10I = 1;       _tim10P = millis();     }   }   else   {     _tim10O = 0;     _tim10I = 0;   }   digitalWrite(8, _tim10O);   _gtv11 = _tim10O;   if ( (_gtv5) && (( (analogRead (4))) &lt; (500)) )   {     if (_tim9I)     {       if ( _isTimer(_tim9P, 2005)) _tim9O = 1;     }     else     {       _tim9I = 1;       _tim9P = millis();     }   }   else   {     _tim9O = 0;     _tim9I = 0;   }   _gtv10 = _tim9O;   digitalWrite(12, _tim9O);   if ( (digitalRead (4))) {     if (_trgrt1I) {       _trgrt1 = 0;     } else {       _trgrt1 = 1;       _trgrt1I = 1;     }   } else {     _trgrt1 = 0;     _trgrt1I = 0;   };   if (_trgrt1)   {     _tim2O  = 1;     _tim2I  = 1;   }   else   {     if (_tim2I)     {       _tim2I = 0;       _tim2P = millis();     }     else     {       if (_tim2O)       { if ( _isTimer(_tim2P, 120000)) _tim2O = 0;       }     }   }   if ( (_gtv5) && (_tim2O) )   {     if (_tim8I)     {       if ( _isTimer(_tim8P, 2000)) _tim8O = 1;     }     else     {       _tim8I = 1;       _tim8P = millis();     }   }   else   {     _tim8O = 0;     _tim8I = 0;   }   if ( (_tim8O) && (!(_gtv3)) )   {     _swi2 = (map((1024), (0), (1023), (0), (255)));   }   else   {     _swi2 = (map((0), (0), (1023), (0), (255)));   }   _gtv6 = _tim8O;   analogWrite(5, _swi2);   if (( (analogRead (6))) &gt; (700))   {     _tim3O  = 1;     _tim3I  = 1;   }   else   {     if (_tim3I)     {       _tim3I = 0;       _tim3P = millis();     }     else     {       if (_tim3O)       { if ( _isTimer(_tim3P, 120000)) _tim3O = 0;       }     }   }   if ( (_tim3O) && (_gtv5) && (_gtv6) )   {     _swi1 = (map((1024), (0), (1023), (0), (253)));   }   else   {     _swi1 = (map((0), (0), (1023), (0), (253)));   }   _gtv3 =  (_tim3O) && (_gtv5) && (_gtv6) ;   analogWrite(6, _swi1);   analogWrite(9, _swi1);   if (( (analogRead (0))) &gt; (600.00))   {     if (_tim4I)     {       if ( _isTimer(_tim4P, 4000)) _tim4O = 1;     }     else     {       _tim4I = 1;       _tim4P = millis();     }   }   else   {     _tim4O = 0;     _tim4I = 0;   }   if (( (analogRead (1))) &lt; (500.00))   {     if (_tim5I)     {       if ( _isTimer(_tim5P, 4000)) _tim5O = 1;     }     else     {       _tim5I = 1;       _tim5P = millis();     }   }   else   {     _tim5O = 0;     _tim5I = 0;   }   _gtv8 = _tim4O;   _gtv7 = _tim5O;   digitalWrite(10,  (_gtv8) || (_gtv7) );   _gtv9 = (!  (_gtv8) || (0) );   digitalWrite(11,  (_gtv7) || (_gtv9) );   if ( ( (_gtv8) || (_gtv7) || (_gtv10) || (_gtv11) ) ^ ( ( (_gtv8) || (_gtv7) || (_gtv10) || (_gtv11) ) && (_gtv2) ) )   {     if (_tim7I)     {       if ( _isTimer(_tim7P, 2000)) _tim7O = 1;     }     else     {       _tim7I = 1;       _tim7P = millis();     }   }   else   {     _tim7O = 0;     _tim7I = 0;   }    if (_tim7O)   {     if (! _gen1I)     {       _gen1I = 1;       _gen1O = 1;       _gen1P = millis();     }   }   else   {     _gen1I = 0 ;     _gen1O = 0;   }   if (_gen1I )   {     if ( _isTimer ( _gen1P , 1000 ))     {       _gen1P = millis();       _gen1O = ! _gen1O;     }   }   bool  _bounceTmp3 = ( (analogRead (7))) &gt; (500);    if (_bounse3S)   {     if (millis() &gt;= (_bounse3P + 40))     {       _bounse3O = _bounceTmp3;       _bounse3S = 0;     }   }   else   {     if (_bounceTmp3 != _bounse3O )     {       _bounse3S = 1;       _bounse3P = millis();     }   }   digitalWrite(13,  (_gen1O) || (_bounse3O) );   bool  _bounceTmp2 = ( (analogRead (3))) &gt; (500);    if (_bounse2S)   {     if (millis() &gt;= (_bounse2P + 40))     {       _bounse2O = _bounceTmp2;       _bounse2S = 0;     }   }   else   {     if (_bounceTmp2 != _bounse2O )     {       _bounse2S = 1;       _bounse2P = millis();     }   }   bool  _tmp1 = _bounse2O;   if (_tmp1)  {     if (! _trgt1I) _trgt1 = ! _trgt1;   }   _trgt1I = _tmp1;   _gtv2 = _trgt1;    } bool _isTimer(unsigned long startTime, unsigned long period ) {   unsigned long endTime;   endTime = startTime + period;   return (millis() &gt;= endTime); }  <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0421\u0440\u0430\u0437\u0443 \u043e\u0433\u043e\u0432\u043e\u0440\u044e\u0441\u044c. \u041d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0443 \u043c\u043d\u043e\u0433\u0438\u0445 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u043e \u0447\u0438\u0442\u0430\u0435\u043c\u043e\u0441\u0442\u0438 \u0441\u043a\u0435\u0442\u0447\u0435\u0439 \u0434\u043b\u044f Arduino IDE. \u0421\u043a\u0435\u0442\u0447\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0441\u0440\u0435\u0434\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u041a\u0430\u043a \u044f \u0443\u0436\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u043b, \u0430\u0432\u0442\u043e\u0440\u044b \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043a IT \u0438 \u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e. \u042d\u0442\u043e \u0443\u043c\u043d\u044b\u0435 \u0438 \u0445\u043e\u0437\u044f\u0439\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0435 \u043b\u044e\u0434\u0438 \u0441 \u043f\u0440\u044f\u043c\u044b\u043c\u0438 \u0440\u0443\u043a\u0430\u043c\u0438 \u0438 \u0447\u0435\u0442\u043a\u0438\u043c \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435\u043c, \u0447\u0442\u043e \u0438\u043c \u043d\u0443\u0436\u043d\u043e. <\/p>\n<p>  \u0421\u0435\u0439\u0447\u0430\u0441 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0435\u0441\u0442\u044c \u0435\u0449\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u044f \u0437\u043d\u0430\u044e. \u042d\u0442\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u0438\u0432\u043e\u043c \u0442\u0435\u043f\u043b\u0438\u0446\u044b, \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0433\u0430\u0440\u0430\u0436\u043d\u044b\u043c\u0438 \u0432\u043e\u0440\u043e\u0442\u0430\u043c\u0438, \u043a\u043e\u0434\u043e\u0432\u044b\u0439 \u0437\u0430\u043c\u043e\u043a \u0438 \u0435\u0449\u0435 \u043c\u043d\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432. \u0415\u0441\u043b\u0438 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u044f \u043f\u043e\u043f\u0440\u043e\u0448\u0443 \u0430\u0432\u0442\u043e\u0440\u043e\u0432 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0441\u0432\u043e\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 \u043f\u043e\u0441\u043b\u0435 \u0438\u0445 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f. \t\t\t<\/p>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/240651\/\"> http:\/\/habrahabr.ru\/post\/240651\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\"> \t\t\t\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435 \u0432\u0440\u0435\u043c\u044f \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u0441\u0442\u043e\u0432 \u043f\u043e\u0441\u0432\u044f\u0449\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0435\u043b\u043a\u0430\u043c \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u043f\u043b\u0430\u0442 Arduino. \u042f \u0442\u043e\u0436\u0435 \u0445\u043e\u0447\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u044d\u0442\u0438\u0445 \u043f\u043b\u0430\u0442. \u041d\u0435 \u044f\u0432\u043b\u044f\u044e\u0441\u044c \u0430\u0432\u0442\u043e\u0440\u043e\u043c \u044d\u0442\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0438 \u0438\u043c\u0435\u044e \u043a \u043d\u0438\u043c \u043a\u043e\u0441\u0432\u0435\u043d\u043d\u043e\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435. \u041d\u043e \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u0430\u0432\u0442\u043e\u0440\u044b \u0434\u0430\u043b\u0438 \u043c\u043d\u0435 \u0434\u043e\u0431\u0440\u043e \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0438\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043e\u043a \u0432 \u044d\u0442\u043e\u0439 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043e\u043d\u0438 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043a IT \u0438, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u0432 \u043d\u0430 \u0425\u0430\u0431\u0440\u0435 \u0438 \u0435\u0433\u043e \u043e\u0442\u043f\u0440\u044b\u0441\u043a\u0435 Geektimes.   <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-240651","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/240651","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=240651"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/240651\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=240651"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=240651"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=240651"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}