{"id":75974,"date":"2020-02-24T19:54:11","date_gmt":"2020-02-24T13:54:11","guid":{"rendered":"http:\/\/rcl-radio.ru\/?p=75974"},"modified":"2022-01-08T22:23:08","modified_gmt":"2022-01-08T16:23:08","slug":"stm32-ds18b20-%d1%82%d0%b5%d1%80%d0%bc%d0%be%d1%80%d0%b5%d0%b3%d1%83%d0%bb%d1%8f%d1%82%d0%be%d1%80-arduino","status":"publish","type":"post","link":"http:\/\/rcl-radio.ru\/?p=75974","title":{"rendered":"STM32 + DS18B20 &#8212; \u0442\u0435\u0440\u043c\u043e\u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 (Arduino)"},"content":{"rendered":"<p>\u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u044b STM32 (\u0431\u0430\u0437\u0435 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 STM32F103C8T6) \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 \u0446\u0438\u0444\u0440\u043e\u0432\u044b\u043c \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u043c \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0442\u0435\u0440\u043c\u043e\u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 (-50&#8230;+125 \u00b0\u0421). \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0435 \u0438 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0435 \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 <a href=\"http:\/\/rcl-radio.ru\/?p=75892\">4-\u0445 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u044b\u0439 \u0441\u0435\u043c\u0438\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u043d\u044b\u0439 \u0434\u0438\u0441\u043f\u043b\u0435\u0439 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 TM1637<\/a> (\u043c\u043e\u0434\u0443\u043b\u044c). \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u0435\u0440\u043c\u043e\u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u043c \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0434\u0432\u0443\u0445 \u043a\u043d\u043e\u043f\u043e\u043a (+ \u0438 -), \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u044d\u043d\u0435\u0440\u0433\u043e\u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438.<\/p>\n<table style=\"border-collapse: collapse; width: 100%;\" border=\"1\">\n<tbody>\n<tr>\n<td style=\"width: 50%;\"><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2020\/02\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2020-02-24-195025.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-75975\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2020\/02\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2020-02-24-195025.png\" alt=\"\" width=\"264\" height=\"139\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2020\/02\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2020-02-24-195025.png 264w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2020\/02\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2020-02-24-195025-200x105.png 200w\" sizes=\"auto, (max-width: 264px) 100vw, 264px\" \/><\/a><\/td>\n<td style=\"width: 50%;\"><a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2020\/02\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2020-02-24-195017.png\" class=\"highslide-image\" onclick=\"return hs.expand(this);\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-75976\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2020\/02\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2020-02-24-195017.png\" alt=\"\" width=\"233\" height=\"116\" srcset=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2020\/02\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2020-02-24-195017.png 233w, http:\/\/rcl-radio.ru\/wp-content\/uploads\/2020\/02\/\u0421\u043d\u0438\u043c\u043e\u043a-\u044d\u043a\u0440\u0430\u043d\u0430-\u043e\u0442-2020-02-24-195017-200x100.png 200w\" sizes=\"auto, (max-width: 233px) 100vw, 233px\" \/><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<pre class=\"actionscript\" style=\"font-family: monospace; font-size: 10px;\"><span style=\"color: #808080; font-style: italic;\">#include &lt;OneWireSTM.h&gt;   \/\/ \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/12\/Arduino_STM32-master.zip\">Arduino_STM32-master.zip<\/a><\/span>\r\n<span style=\"color: #808080; font-style: italic;\">#include &lt;STM32_TM1637.h&gt; \/\/ http:\/\/forum.rcl-radio.ru\/misc.php?action=pan_download&amp;item=403&amp;download=1<\/span>\r\n<span style=\"color: #808080; font-style: italic;\">#include &lt;EEPROM.h&gt;       \/\/ \u0412\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u043d\u0430\u0431\u043e\u0440\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a Arduino_STM32-master<\/span>\r\n\u00a0\r\nSTM32_TM1637 tm<span style=\"color: #66cc66;\">(<\/span>PB0,PB1<span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #808080; font-style: italic;\">\/\/ CLK, DIO<\/span>\r\nOneWire  ds<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">7<\/span><span style=\"color: #66cc66;\">)<\/span>; <span style=\"color: #808080; font-style: italic;\">\/\/ A7<\/span>\r\n\u00a0\r\n<span style=\"color: #808080; font-style: italic;\">\/\/  CLK      PB0 (TM1637)<\/span>\r\n<span style=\"color: #808080; font-style: italic;\">\/\/  DIO      PB1 (TM1637)<\/span>\r\n<span style=\"color: #808080; font-style: italic;\">\/\/  OUT      PA7 (DS18B20)<\/span>\r\n\u00a0\r\nbyte i,present = <span style=\"color: #cc66cc;\">0<\/span>,type_s = <span style=\"color: #cc66cc;\">0<\/span>, <span style=\"color: #0066cc;\">data<\/span><span style=\"color: #66cc66;\">[<\/span><span style=\"color: #cc66cc;\">12<\/span><span style=\"color: #66cc66;\">]<\/span>, addr<span style=\"color: #66cc66;\">[<\/span><span style=\"color: #cc66cc;\">8<\/span><span style=\"color: #66cc66;\">]<\/span>;\r\nfloat celsius;\r\nbyte w;\r\n<span style=\"color: #0066cc;\">int<\/span> reg;\r\nconst float gis = <span style=\"color: #cc66cc;\">1.0<\/span>;<span style=\"color: #808080; font-style: italic;\">\/\/ \u0433\u0438\u0441\u0442\u0435\u0440\u0435\u0437\u0438\u0441<\/span>\r\nunsigned long times;\r\n\u00a0\r\n<span style=\"color: #0066cc;\">void<\/span> setup<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>   \r\n  Serial.<span style=\"color: #006600;\">begin<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">9600<\/span><span style=\"color: #66cc66;\">)<\/span>;  \r\n  tm.<span style=\"color: #006600;\">brig<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">7<\/span><span style=\"color: #66cc66;\">)<\/span>; <span style=\"color: #808080; font-style: italic;\">\/\/ \u042f\u0420\u041a\u041e\u0421\u0422\u042c 0...7<\/span>\r\n  EEPROM.<span style=\"color: #006600;\">init<\/span><span style=\"color: #66cc66;\">(<\/span>0x801F000,0x801F800,0x400<span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #808080; font-style: italic;\">\/\/ 1024 byte<\/span>\r\n  pinMode<span style=\"color: #66cc66;\">(<\/span>PB6,INPUT<span style=\"color: #66cc66;\">)<\/span>; <span style=\"color: #808080; font-style: italic;\">\/\/ \u0440\u0435\u0433. \u0442\u0435\u043c\u043f. +<\/span>\r\n  pinMode<span style=\"color: #66cc66;\">(<\/span>PB5,INPUT<span style=\"color: #66cc66;\">)<\/span>; <span style=\"color: #808080; font-style: italic;\">\/\/ \u0440\u0435\u0433. \u0442\u0435\u043c\u043f. -<\/span>\r\n  pinMode<span style=\"color: #66cc66;\">(<\/span>PB7,OUTPUT<span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #808080; font-style: italic;\">\/\/ \u0432\u044b\u0445\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u043b\u0435<\/span>\r\n  reg = EEPROM.<span style=\"color: #006600;\">read<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">10<\/span><span style=\"color: #66cc66;\">)<\/span>-<span style=\"color: #cc66cc;\">50<\/span>;\r\n<span style=\"color: #66cc66;\">}<\/span>\r\n\u00a0\r\n<span style=\"color: #0066cc;\">void<\/span> loop<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>  \r\n  <span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>millis<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>-times<span style=\"color: #66cc66;\">&gt;<\/span><span style=\"color: #cc66cc;\">1000<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>\r\n  <span style=\"color: #808080; font-style: italic;\">\/\/\/\/\/\/\/\/\/ 18b20 \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/<\/span>\r\n  <span style=\"color: #b1b100;\">if<\/span> <span style=\"color: #66cc66;\">(<\/span> <span style=\"color: #66cc66;\">!<\/span>ds.<span style=\"color: #006600;\">search<\/span><span style=\"color: #66cc66;\">(<\/span>addr<span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">)<\/span> <span style=\"color: #66cc66;\">{<\/span>ds.<span style=\"color: #006600;\">reset_search<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;delay<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">250<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #b1b100;\">return<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n  ds.<span style=\"color: #006600;\">reset<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;ds.<span style=\"color: #006600;\">select<\/span><span style=\"color: #66cc66;\">(<\/span>addr<span style=\"color: #66cc66;\">)<\/span>;ds.<span style=\"color: #006600;\">write<\/span><span style=\"color: #66cc66;\">(<\/span>0x44, <span style=\"color: #cc66cc;\">1<\/span><span style=\"color: #66cc66;\">)<\/span>;delay<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">500<\/span><span style=\"color: #66cc66;\">)<\/span>; present = ds.<span style=\"color: #006600;\">reset<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;ds.<span style=\"color: #006600;\">select<\/span><span style=\"color: #66cc66;\">(<\/span>addr<span style=\"color: #66cc66;\">)<\/span>;ds.<span style=\"color: #006600;\">write<\/span><span style=\"color: #66cc66;\">(<\/span>0xBE<span style=\"color: #66cc66;\">)<\/span>; \r\n  <span style=\"color: #b1b100;\">for<\/span> <span style=\"color: #66cc66;\">(<\/span>i = <span style=\"color: #cc66cc;\">0<\/span>; i <span style=\"color: #66cc66;\">&lt;<\/span> <span style=\"color: #cc66cc;\">9<\/span>; i++<span style=\"color: #66cc66;\">)<\/span> <span style=\"color: #66cc66;\">{<\/span><span style=\"color: #0066cc;\">data<\/span><span style=\"color: #66cc66;\">[<\/span>i<span style=\"color: #66cc66;\">]<\/span> = ds.<span style=\"color: #006600;\">read<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n  int16_t raw = <span style=\"color: #66cc66;\">(<\/span><span style=\"color: #0066cc;\">data<\/span><span style=\"color: #66cc66;\">[<\/span><span style=\"color: #cc66cc;\">1<\/span><span style=\"color: #66cc66;\">]<\/span> <span style=\"color: #66cc66;\">&lt;&lt;<\/span> <span style=\"color: #cc66cc;\">8<\/span><span style=\"color: #66cc66;\">)<\/span> <span style=\"color: #66cc66;\">|<\/span> <span style=\"color: #0066cc;\">data<\/span><span style=\"color: #66cc66;\">[<\/span><span style=\"color: #cc66cc;\">0<\/span><span style=\"color: #66cc66;\">]<\/span>;<span style=\"color: #b1b100;\">if<\/span> <span style=\"color: #66cc66;\">(<\/span>type_s<span style=\"color: #66cc66;\">)<\/span> <span style=\"color: #66cc66;\">{<\/span>raw = raw <span style=\"color: #66cc66;\">&lt;&lt;<\/span> <span style=\"color: #cc66cc;\">3<\/span>;<span style=\"color: #66cc66;\">}<\/span>celsius = <span style=\"color: #66cc66;\">(<\/span>float<span style=\"color: #66cc66;\">)<\/span>raw <span style=\"color: #66cc66;\">\/<\/span> <span style=\"color: #cc66cc;\">16.0<\/span>;\r\n  <span style=\"color: #808080; font-style: italic;\">\/\/\/\/\/\/\/\/ end 18b20 \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/<\/span>\r\n  <span style=\"color: #66cc66;\">}<\/span>\r\n\u00a0\r\n    <span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>digitalRead<span style=\"color: #66cc66;\">(<\/span>PB6<span style=\"color: #66cc66;\">)<\/span>==HIGH<span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>reg++;w=<span style=\"color: #cc66cc;\">1<\/span>;times = millis<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>reg<span style=\"color: #66cc66;\">&gt;<\/span><span style=\"color: #cc66cc;\">125<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>reg=<span style=\"color: #cc66cc;\">125<\/span>;<span style=\"color: #66cc66;\">}<\/span>delay<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">200<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>    \r\n    <span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>digitalRead<span style=\"color: #66cc66;\">(<\/span>PB5<span style=\"color: #66cc66;\">)<\/span>==HIGH<span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>reg--;w=<span style=\"color: #cc66cc;\">1<\/span>;times = millis<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>reg<span style=\"color: #66cc66;\">&lt;<\/span>-<span style=\"color: #cc66cc;\">50<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>reg=-<span style=\"color: #cc66cc;\">50<\/span>;<span style=\"color: #66cc66;\">}<\/span>delay<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">200<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>    \r\n\u00a0\r\n    <span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>millis<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>-times<span style=\"color: #66cc66;\">&lt;<\/span><span style=\"color: #cc66cc;\">3000<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>tm.<span style=\"color: #006600;\">print_float<\/span><span style=\"color: #66cc66;\">(<\/span>reg,<span style=\"color: #cc66cc;\">0<\/span>,  0b01010000,<span style=\"color: #cc66cc;\">0<\/span>,<span style=\"color: #cc66cc;\">0<\/span>,<span style=\"color: #cc66cc;\">0<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n    <span style=\"color: #b1b100;\">else<\/span><span style=\"color: #66cc66;\">{<\/span>tm.<span style=\"color: #006600;\">print_float<\/span><span style=\"color: #66cc66;\">(<\/span>celsius,<span style=\"color: #cc66cc;\">1<\/span>,  <span style=\"color: #cc66cc;\">0<\/span>,<span style=\"color: #cc66cc;\">0<\/span>,<span style=\"color: #cc66cc;\">0<\/span>,<span style=\"color: #cc66cc;\">0<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n\u00a0\r\n    <span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>reg <span style=\"color: #66cc66;\">&gt;<\/span>= celsius + gis<span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>digitalWrite<span style=\"color: #66cc66;\">(<\/span>PB7,HIGH<span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n    <span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>reg <span style=\"color: #66cc66;\">&lt;<\/span>= celsius - gis<span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>digitalWrite<span style=\"color: #66cc66;\">(<\/span>PB7,LOW<span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n\u00a0\r\n    <span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>w==<span style=\"color: #cc66cc;\">1<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>w=<span style=\"color: #cc66cc;\">0<\/span>;EEPROM.<span style=\"color: #006600;\">update<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">10<\/span>, reg+<span style=\"color: #cc66cc;\">50<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n  <span style=\"color: #66cc66;\">}<\/span><\/pre>\n<hr \/>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2018\/07\/%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA-%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0-%D0%BE%D1%82-2018-07-28-174033.png\" width=\"256\" height=\"262\" \/><\/p>\n<div id=\"marketWidget\"><\/div>\n<p>\u0412\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u0441\u043a\u0435\u0442\u0447\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u043c\u0435\u0441\u0442\u043e \u043a\u043d\u043e\u043f\u043e\u043a \u044d\u043d\u043a\u043e\u0434\u0435\u0440 <strong><a href=\"http:\/\/rcl-radio.ru\/?p=68974\">ky-040<\/a><\/strong>. \u0414\u043b\u044f \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u043a\u0438 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u043e\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0440\u0443\u0447\u043a\u0443 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0430 \u0434\u0438\u0441\u043f\u043b\u0435\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0441\u0432\u0435\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438 \u043d\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u044d\u043d\u043a\u043e\u0434\u0435\u0440\u0430 \u0441\u043c\u0435\u043d\u0438\u0442\u044c\u0441\u044f \u0447\u0435\u0440\u0435\u0437 3 \u0441\u0435\u043a\u0443\u043d\u0434\u044b \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b.<\/p>\n<pre class=\"actionscript\" style=\"font-family: monospace; font-size: 10px;\"><span style=\"color: #808080; font-style: italic;\">#define pinA PB6<\/span>\r\n<span style=\"color: #808080; font-style: italic;\">#define pinB PB5<\/span>\r\n\u00a0\r\n<span style=\"color: #808080; font-style: italic;\">#include &lt;OneWireSTM.h&gt;   \/\/ \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 <a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2019\/12\/Arduino_STM32-master.zip\">Arduino_STM32-master.zip<\/a><\/span>\r\n<span style=\"color: #808080; font-style: italic;\">#include &lt;STM32_TM1637.h&gt; \/\/ <a href=\"http:\/\/forum.rcl-radio.ru\/misc.php?action=pan_download&amp;item=403&amp;download=1\">http:\/\/forum.rcl-radio.ru\/misc.php?action=pan_download&amp;item=403&amp;download=1<\/a><\/span>\r\n<span style=\"color: #808080; font-style: italic;\">#include &lt;EEPROM.h&gt;       \/\/ \u0412\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u043e\u0441\u0442\u0430\u0432 \u043d\u0430\u0431\u043e\u0440\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a Arduino_STM32-master<\/span>\r\n<span style=\"color: #808080; font-style: italic;\">#include &lt;STM32_Encoder.h&gt; \/\/ <a href=\"http:\/\/rcl-radio.ru\/wp-content\/uploads\/2020\/01\/STM32_Encoder.zip\">http:\/\/rcl-radio.ru\/wp-content\/uploads\/2020\/01\/STM32_Encoder.zip<\/a><\/span>\r\n  STM32_Encoder encoder<span style=\"color: #66cc66;\">(<\/span>pinA, pinB<span style=\"color: #66cc66;\">)<\/span>;\r\n  STM32_TM1637 tm<span style=\"color: #66cc66;\">(<\/span>PB0,PB1<span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #808080; font-style: italic;\">\/\/ CLK, DIO<\/span>\r\n  OneWire  ds<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">7<\/span><span style=\"color: #66cc66;\">)<\/span>; <span style=\"color: #808080; font-style: italic;\">\/\/ A7<\/span>\r\n\u00a0\r\n<span style=\"color: #808080; font-style: italic;\">\/\/  CLK      PB0 (TM1637)<\/span>\r\n<span style=\"color: #808080; font-style: italic;\">\/\/  DIO      PB1 (TM1637)<\/span>\r\n<span style=\"color: #808080; font-style: italic;\">\/\/  OUT      PA7 (DS18B20)<\/span>\r\n<span style=\"color: #808080; font-style: italic;\">\/\/  CLK      PB6 (\u042d\u041d\u041a\u041e\u0414\u0415\u0420)<\/span>\r\n<span style=\"color: #808080; font-style: italic;\">\/\/  DT       PB5 (\u042d\u041d\u041a\u041e\u0414\u0415\u0420)<\/span>\r\n\u00a0\r\nbyte i,present = <span style=\"color: #cc66cc;\">0<\/span>,type_s = <span style=\"color: #cc66cc;\">0<\/span>, <span style=\"color: #0066cc;\">data<\/span><span style=\"color: #66cc66;\">[<\/span><span style=\"color: #cc66cc;\">12<\/span><span style=\"color: #66cc66;\">]<\/span>, addr<span style=\"color: #66cc66;\">[<\/span><span style=\"color: #cc66cc;\">8<\/span><span style=\"color: #66cc66;\">]<\/span>;\r\nfloat celsius;\r\n<span style=\"color: #0066cc;\">int<\/span> <span style=\"color: #0066cc;\">position<\/span> = -<span style=\"color: #cc66cc;\">999<\/span>;\r\nbyte w;\r\n<span style=\"color: #0066cc;\">int<\/span> reg;\r\nconst float gis = <span style=\"color: #cc66cc;\">1.0<\/span>;<span style=\"color: #808080; font-style: italic;\">\/\/ \u0433\u0438\u0441\u0442\u0435\u0440\u0435\u0437\u0438\u0441<\/span>\r\nunsigned long times;\r\n\u00a0\r\n<span style=\"color: #0066cc;\">void<\/span> setup<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>   \r\n  Serial.<span style=\"color: #006600;\">begin<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">9600<\/span><span style=\"color: #66cc66;\">)<\/span>;  \r\n  tm.<span style=\"color: #006600;\">brig<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">7<\/span><span style=\"color: #66cc66;\">)<\/span>; <span style=\"color: #808080; font-style: italic;\">\/\/ \u042f\u0420\u041a\u041e\u0421\u0422\u042c 0...7<\/span>\r\n  EEPROM.<span style=\"color: #006600;\">init<\/span><span style=\"color: #66cc66;\">(<\/span>0x801F000,0x801F800,0x400<span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #808080; font-style: italic;\">\/\/ 1024 byte<\/span>\r\n  encoder.<span style=\"color: #006600;\">begin<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;                                                         \r\n  attachInterrupt<span style=\"color: #66cc66;\">(<\/span>digitalPinToInterrupt<span style=\"color: #66cc66;\">(<\/span>pinA<span style=\"color: #66cc66;\">)<\/span>,Read,CHANGE<span style=\"color: #66cc66;\">)<\/span>;  \r\n  attachInterrupt<span style=\"color: #66cc66;\">(<\/span>digitalPinToInterrupt<span style=\"color: #66cc66;\">(<\/span>pinB<span style=\"color: #66cc66;\">)<\/span>,Read,CHANGE<span style=\"color: #66cc66;\">)<\/span>; \r\n  pinMode<span style=\"color: #66cc66;\">(<\/span>PB7,OUTPUT<span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #808080; font-style: italic;\">\/\/ \u0432\u044b\u0445\u043e\u0434 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u043b\u0435<\/span>\r\n  reg = EEPROM.<span style=\"color: #006600;\">read<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">10<\/span><span style=\"color: #66cc66;\">)<\/span>-<span style=\"color: #cc66cc;\">50<\/span>;\r\n<span style=\"color: #66cc66;\">}<\/span>\r\n\u00a0\r\n<span style=\"color: #0066cc;\">void<\/span> loop<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>  \r\n  <span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>millis<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>-times<span style=\"color: #66cc66;\">&gt;<\/span><span style=\"color: #cc66cc;\">1000<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>\r\n  <span style=\"color: #808080; font-style: italic;\">\/\/\/\/\/\/\/\/\/ 18b20 \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/<\/span>\r\n  <span style=\"color: #b1b100;\">if<\/span> <span style=\"color: #66cc66;\">(<\/span> <span style=\"color: #66cc66;\">!<\/span>ds.<span style=\"color: #006600;\">search<\/span><span style=\"color: #66cc66;\">(<\/span>addr<span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">)<\/span> <span style=\"color: #66cc66;\">{<\/span>ds.<span style=\"color: #006600;\">reset_search<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;delay<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">250<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #b1b100;\">return<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n  ds.<span style=\"color: #006600;\">reset<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;ds.<span style=\"color: #006600;\">select<\/span><span style=\"color: #66cc66;\">(<\/span>addr<span style=\"color: #66cc66;\">)<\/span>;ds.<span style=\"color: #006600;\">write<\/span><span style=\"color: #66cc66;\">(<\/span>0x44, <span style=\"color: #cc66cc;\">1<\/span><span style=\"color: #66cc66;\">)<\/span>;delay<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">500<\/span><span style=\"color: #66cc66;\">)<\/span>; present = ds.<span style=\"color: #006600;\">reset<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;ds.<span style=\"color: #006600;\">select<\/span><span style=\"color: #66cc66;\">(<\/span>addr<span style=\"color: #66cc66;\">)<\/span>;ds.<span style=\"color: #006600;\">write<\/span><span style=\"color: #66cc66;\">(<\/span>0xBE<span style=\"color: #66cc66;\">)<\/span>; \r\n  <span style=\"color: #b1b100;\">for<\/span> <span style=\"color: #66cc66;\">(<\/span>i = <span style=\"color: #cc66cc;\">0<\/span>; i <span style=\"color: #66cc66;\">&lt;<\/span> <span style=\"color: #cc66cc;\">9<\/span>; i++<span style=\"color: #66cc66;\">)<\/span> <span style=\"color: #66cc66;\">{<\/span><span style=\"color: #0066cc;\">data<\/span><span style=\"color: #66cc66;\">[<\/span>i<span style=\"color: #66cc66;\">]<\/span> = ds.<span style=\"color: #006600;\">read<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n  int16_t raw = <span style=\"color: #66cc66;\">(<\/span><span style=\"color: #0066cc;\">data<\/span><span style=\"color: #66cc66;\">[<\/span><span style=\"color: #cc66cc;\">1<\/span><span style=\"color: #66cc66;\">]<\/span> <span style=\"color: #66cc66;\">&lt;&lt;<\/span> <span style=\"color: #cc66cc;\">8<\/span><span style=\"color: #66cc66;\">)<\/span> <span style=\"color: #66cc66;\">|<\/span> <span style=\"color: #0066cc;\">data<\/span><span style=\"color: #66cc66;\">[<\/span><span style=\"color: #cc66cc;\">0<\/span><span style=\"color: #66cc66;\">]<\/span>;<span style=\"color: #b1b100;\">if<\/span> <span style=\"color: #66cc66;\">(<\/span>type_s<span style=\"color: #66cc66;\">)<\/span> <span style=\"color: #66cc66;\">{<\/span>raw = raw <span style=\"color: #66cc66;\">&lt;&lt;<\/span> <span style=\"color: #cc66cc;\">3<\/span>;<span style=\"color: #66cc66;\">}<\/span>celsius = <span style=\"color: #66cc66;\">(<\/span>float<span style=\"color: #66cc66;\">)<\/span>raw <span style=\"color: #66cc66;\">\/<\/span> <span style=\"color: #cc66cc;\">16.0<\/span>;\r\n  <span style=\"color: #808080; font-style: italic;\">\/\/\/\/\/\/\/\/ end 18b20 \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/<\/span>\r\n  <span style=\"color: #66cc66;\">}<\/span>\r\n\u00a0\r\n    <span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #0066cc;\">position<\/span> <span style=\"color: #66cc66;\">!<\/span>= encoder.<span style=\"color: #006600;\">getPosition<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span><span style=\"color: #0066cc;\">position<\/span> = encoder.<span style=\"color: #006600;\">getPosition<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;\r\n    reg = reg + encoder.<span style=\"color: #006600;\">getPosition<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;encoder.<span style=\"color: #006600;\">setPosition<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">0<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #0066cc;\">position<\/span> = <span style=\"color: #cc66cc;\">0<\/span>;\r\n    w=<span style=\"color: #cc66cc;\">1<\/span>;times = millis<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>reg<span style=\"color: #66cc66;\">&gt;<\/span><span style=\"color: #cc66cc;\">125<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>reg=<span style=\"color: #cc66cc;\">125<\/span>;<span style=\"color: #66cc66;\">}<\/span><span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>reg<span style=\"color: #66cc66;\">&lt;<\/span>-<span style=\"color: #cc66cc;\">50<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>reg=-<span style=\"color: #cc66cc;\">50<\/span>;<span style=\"color: #66cc66;\">}<\/span><span style=\"color: #66cc66;\">}<\/span>   \r\n\u00a0\r\n    <span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>millis<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>-times<span style=\"color: #66cc66;\">&lt;<\/span><span style=\"color: #cc66cc;\">3000<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>tm.<span style=\"color: #006600;\">print_float<\/span><span style=\"color: #66cc66;\">(<\/span>reg,<span style=\"color: #cc66cc;\">0<\/span>,  0b01010000,<span style=\"color: #cc66cc;\">0<\/span>,<span style=\"color: #cc66cc;\">0<\/span>,<span style=\"color: #cc66cc;\">0<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n    <span style=\"color: #b1b100;\">else<\/span><span style=\"color: #66cc66;\">{<\/span>tm.<span style=\"color: #006600;\">print_float<\/span><span style=\"color: #66cc66;\">(<\/span>celsius,<span style=\"color: #cc66cc;\">1<\/span>,  <span style=\"color: #cc66cc;\">0<\/span>,<span style=\"color: #cc66cc;\">0<\/span>,<span style=\"color: #cc66cc;\">0<\/span>,<span style=\"color: #cc66cc;\">0<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n\u00a0\r\n    <span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>reg <span style=\"color: #66cc66;\">&gt;<\/span>= celsius + gis<span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>digitalWrite<span style=\"color: #66cc66;\">(<\/span>PB7,HIGH<span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n    <span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>reg <span style=\"color: #66cc66;\">&lt;<\/span>= celsius - gis<span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>digitalWrite<span style=\"color: #66cc66;\">(<\/span>PB7,LOW<span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n\u00a0\r\n    <span style=\"color: #b1b100;\">if<\/span><span style=\"color: #66cc66;\">(<\/span>w==<span style=\"color: #cc66cc;\">1<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>w=<span style=\"color: #cc66cc;\">0<\/span>;EEPROM.<span style=\"color: #006600;\">update<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #cc66cc;\">10<\/span>, reg+<span style=\"color: #cc66cc;\">50<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span>\r\n  <span style=\"color: #66cc66;\">}<\/span>\r\n\u00a0\r\n<span style=\"color: #0066cc;\">void<\/span> Read<span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span><span style=\"color: #66cc66;\">{<\/span>encoder.<span style=\"color: #006600;\">readAB<\/span><span style=\"color: #66cc66;\">(<\/span><span style=\"color: #66cc66;\">)<\/span>;<span style=\"color: #66cc66;\">}<\/span><\/pre>\n<p>\u041f\u0435\u0440\u0435\u0434 \u0437\u0430\u043b\u0438\u0432\u043a\u043e\u0439 \u0441\u043a\u0435\u0442\u0447\u0430 \u0432 STM32 \u0412\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435\u0439 \u2014\u00a0<a href=\"http:\/\/rcl-radio.ru\/?p=68376\">STM32 Arduino IDE<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u044b STM32 (\u0431\u0430\u0437\u0435 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 STM32F103C8T6) \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 \u0446\u0438\u0444\u0440\u043e\u0432\u044b\u043c \u0434\u0430\u0442\u0447\u0438\u043a\u043e\u043c \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0442\u0435\u0440\u043c\u043e\u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440 (-50&#8230;+125 \u00b0\u0421). \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0435 \u0438 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u0435 \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 4-\u0445 \u0440\u0430\u0437\u0440\u044f\u0434\u043d\u044b\u0439 \u0441\u0435\u043c\u0438\u0441\u0435\u0433\u043c\u0435\u043d\u0442\u043d\u044b\u0439 \u0434\u0438\u0441\u043f\u043b\u0435\u0439 \u043d\u0430 \u0431\u0430\u0437\u0435 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 TM1637 (\u043c\u043e\u0434\u0443\u043b\u044c). \u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u0435\u0440\u043c\u043e\u0440\u0435\u0433\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u043c \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0434\u0432\u0443\u0445 \u043a\u043d\u043e\u043f\u043e\u043a (+ \u0438 -), \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0435\u043c\u043f\u0435\u0440\u0430\u0442\u0443\u0440\u044b \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u0432 \u044d\u043d\u0435\u0440\u0433\u043e\u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438. #include [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":75975,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[239,19,201],"tags":[],"class_list":["post-75974","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino","category-19","category-201"],"views":7863,"_links":{"self":[{"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/posts\/75974","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=75974"}],"version-history":[{"count":9,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/posts\/75974\/revisions"}],"predecessor-version":[{"id":111269,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/posts\/75974\/revisions\/111269"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=\/wp\/v2\/media\/75975"}],"wp:attachment":[{"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=75974"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=75974"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/rcl-radio.ru\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=75974"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}