{"id":112,"date":"2015-12-02T18:50:13","date_gmt":"2015-12-02T15:50:13","guid":{"rendered":"http:\/\/arduinolab.pw\/?p=112"},"modified":"2015-12-04T13:27:52","modified_gmt":"2015-12-04T10:27:52","slug":"beskollektornyj-dvigateli-iz-kompyutera-i-arduino","status":"publish","type":"post","link":"https:\/\/arduinolab.pw\/index.php\/2015\/12\/02\/beskollektornyj-dvigateli-iz-kompyutera-i-arduino\/","title":{"rendered":"\u0411\u0435\u0441\u043a\u043e\u043b\u043b\u0435\u043a\u0442\u043e\u0440\u043d\u044b\u0439 \u0434\u0432\u0438\u0433\u0430\u0442\u0435\u043b\u0438 \u0438\u0437 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u0430 \u0438 \u0430\u0440\u0434\u0443\u0438\u043d\u043e"},"content":{"rendered":"<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/RLztQHtAvxA\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><br \/>\n<!--more--><\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a style=\"margin-left: 1em; margin-right: 1em;\" href=\"http:\/\/1.bp.blogspot.com\/-S9iiSYk3G00\/VBqhfjhn3wI\/AAAAAAAABss\/uY_NyAX5zO0\/s1600\/Untitled%2BSketch_%D1%81%D1%85%D0%B5%D0%BC%D0%B0.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/1.bp.blogspot.com\/-S9iiSYk3G00\/VBqhfjhn3wI\/AAAAAAAABss\/uY_NyAX5zO0\/s1600\/Untitled%2BSketch_%D1%81%D1%85%D0%B5%D0%BC%D0%B0.png\" alt=\"\" width=\"320\" height=\"236\" border=\"0\" \/><\/a><\/div>\n<p>\u0441\u0445\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u043c\u043e\u0441\u0444\u0435\u0442\u0430\u0445 \u0441 N \u043a\u0430\u043d\u0430\u043b\u043e\u043c<\/p>\n<p>&nbsp;<\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a style=\"margin-left: 1em; margin-right: 1em;\" href=\"http:\/\/2.bp.blogspot.com\/-3YIgXGhD9c4\/VBqmZ9_kurI\/AAAAAAAABs8\/Ug9yeK8iZaY\/s1600\/%D0%91%D0%B5%D0%B7%2B%D0%B8%D0%BC%D0%B5%D0%BD%D0%B8-2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/2.bp.blogspot.com\/-3YIgXGhD9c4\/VBqmZ9_kurI\/AAAAAAAABs8\/Ug9yeK8iZaY\/s1600\/%D0%91%D0%B5%D0%B7%2B%D0%B8%D0%BC%D0%B5%D0%BD%D0%B8-2.jpg\" alt=\"\" width=\"306\" height=\"320\" border=\"0\" \/><\/a><\/div>\n<p>\u0431\u043b\u043e\u043a \u0441\u0445\u0435\u043c\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043c\u043e\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 L298N<\/p>\n<p>&nbsp;<\/p>\n<p>\u043a\u043e\u0434 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u0432 \u0430\u0440\u0434\u0443\u0438\u043d\u0435<\/p><div class=\"fwkpr6ab449b75e37c\" ><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.fwkpr6ab449b75e37c {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (min-width: 993px) and (max-width: 1200px) {\r\n.fwkpr6ab449b75e37c {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (min-width: 769px) and (max-width: 992px) {\r\n.fwkpr6ab449b75e37c {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (min-width: 768px) and (max-width: 768px) {\r\n.fwkpr6ab449b75e37c {\r\ndisplay: block;\r\n}\r\n}\r\n@media screen and (max-width: 767px) {\r\n.fwkpr6ab449b75e37c {\r\ndisplay: block;\r\n}\r\n}\r\n<\/style>\r\n\n<pre><span style=\"color: #cc6600;\">int<\/span> levels[48] = {\r\n\u00a0\u00a0127,\u00a0\u00a0144,\u00a0\u00a0160,\u00a0\u00a0176,\u00a0\u00a0191,\u00a0\u00a0205,\u00a0\u00a0217,\u00a0\u00a0228,\u00a0\u00a0237,\u00a0\u00a0\r\n\u00a0\u00a0245,\u00a0\u00a0250,\u00a0\u00a0253,\u00a0\u00a0255,\u00a0\u00a0253,\u00a0\u00a0250,\u00a0\u00a0245,\u00a0237,\u00a0\u00a0228,\u00a0\u00a0\r\n\u00a0\u00a0217,\u00a0\u00a0205,\u00a0\u00a0191,\u00a0\u00a0176,\u00a0\u00a0160,\u00a0\u00a0144,\u00a0\u00a0127,\u00a0\u00a0110,\u00a0\u00a0\u00a094,\u00a0\u00a0\u00a0\r\n\u00a0\u00a078,\u00a0\u00a0\u00a063,\u00a0\u00a0\u00a049,\u00a0\u00a0\u00a037,\u00a0\u00a0\u00a026,\u00a017,\u00a0\u00a0\u00a0\u00a09,\u00a0\u00a0\u00a0\u00a04,\u00a0\u00a0\u00a0\u00a01,\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a00,\u00a0\u00a0\u00a0\u00a01,\u00a0\u00a0\u00a0\u00a04,\u00a0\u00a0\u00a0\u00a09,\u00a0\u00a0\u00a017,\u00a0\u00a0\u00a026,\u00a0\u00a0\u00a037,\u00a0\u00a0\u00a049,\u00a0\u00a0\u00a063,\u00a0\u00a0\u00a0\r\n\u00a0\u00a078,\u00a0\u00a0\u00a094,\u00a0\u00a0110};\r\n<span style=\"color: #7e7e7e;\">\/\/\u00a0These\u00a0are\u00a0the\u00a0pins\u00a0used\u00a0to\u00a0drive\u00a0the\u00a0motor.\u00a0<\/span>\r\n<span style=\"color: #cc6600;\">int<\/span> pinA = 9; \r\n<span style=\"color: #cc6600;\">int<\/span> pinB = 10; \r\n<span style=\"color: #cc6600;\">int<\/span> pinC = 11; \r\n<span style=\"color: #cc6600;\">int<\/span> <span style=\"color: #cc6600;\">step<\/span> = 0;               \r\n<span style=\"color: #7e7e7e;\">\/\/\u00a0Keeps\u00a0track\u00a0of\u00a0what\u00a0pulse\u00a0width\u00a0to\u00a0use\u00a0<\/span>\r\n<span style=\"color: #cc6600;\">unsigned<\/span> <span style=\"color: #cc6600;\">long<\/span> lastTime = 0; <span style=\"color: #7e7e7e;\">\/\/ the time in micros since last <\/span>\r\n<span style=\"color: #cc6600;\">int<\/span> period = 3000;          <span style=\"color: #7e7e7e;\">\/\/ set motor speed by defining time between steps <\/span>\r\n\r\n<span style=\"color: #cc6600;\">void<\/span> <span style=\"color: #cc6600;\"><b>setup<\/b><\/span>() {   \r\n\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ Set pins as digital outputs   <\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">pinMode<\/span>(pinA, <span style=\"color: #006699;\">OUTPUT<\/span>);   \r\n\u00a0\u00a0<span style=\"color: #cc6600;\">pinMode<\/span>(pinB, <span style=\"color: #006699;\">OUTPUT<\/span>);   \r\n\u00a0\u00a0<span style=\"color: #cc6600;\">pinMode<\/span>(pinC, <span style=\"color: #006699;\">OUTPUT<\/span>);   <span style=\"color: #7e7e7e;\">\/\/ Set all the pins LOW   <\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">digitalWrite<\/span>(pinA, <span style=\"color: #006699;\">LOW<\/span>);   \r\n\u00a0\u00a0<span style=\"color: #cc6600;\">digitalWrite<\/span>(pinB, <span style=\"color: #006699;\">LOW<\/span>);   \r\n\u00a0\u00a0<span style=\"color: #cc6600;\">digitalWrite<\/span>(pinC, <span style=\"color: #006699;\">LOW<\/span>); \r\n}\u00a0\r\n\r\n<span style=\"color: #cc6600;\">void<\/span> <span style=\"color: #cc6600;\"><b>loop<\/b><\/span>() {   <span style=\"color: #7e7e7e;\">\/\/ Check if it is time for the next step   <\/span>\r\n\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> ((<span style=\"color: #cc6600;\">micros<\/span>() - lastTime) &gt;= period)   {     \r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ Next three lines send pulse width value for this step.     <\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">analogWrite<\/span>(pinA, levels[<span style=\"color: #cc6600;\">step<\/span>]);     \r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">analogWrite<\/span>(pinB, levels[(<span style=\"color: #cc6600;\">step<\/span> + 16) % 48]);     \r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">analogWrite<\/span>(pinC, levels[(<span style=\"color: #cc6600;\">step<\/span> + 32) % 48]);     \r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ Add one to set (% 48 rolls step back to 0 after it fits 47)     <\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">step<\/span> = (<span style=\"color: #cc6600;\">step<\/span> + 1) % 48;     <span style=\"color: #7e7e7e;\">\/\/ make note of current time     <\/span>\r\n\u00a0\u00a0\u00a0\u00a0lastTime\u00a0=\u00a0<span style=\"color: #cc6600;\">micros<\/span>();     <span style=\"color: #7e7e7e;\">\/\/ ramps up the speed     <\/span>\r\n\u00a0\u00a0\u00a0\u00a0<span style=\"color: #cc6600;\">if<\/span> (period &gt; 200)     \r\n\u00a0\u00a0\u00a0\u00a0{\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0period\u00a0-=\u00a01;\u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: #7e7e7e;\">\/\/ make speed faster (the period between steps smalled)   <\/span>\r\n\u00a0\u00a0\u00a0\u00a0}\u00a0\u00a0\u00a0\r\n\u00a0\u00a0}\u00a0\r\n}\u00a0\r\n\r\n\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"","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":[7],"tags":[29],"class_list":["post-112","post","type-post","status-publish","format-standard","hentry","category-video","tag-dvigatel"],"_links":{"self":[{"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/posts\/112","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=112"}],"version-history":[{"count":0,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/posts\/112\/revisions"}],"wp:attachment":[{"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/media?parent=112"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/categories?post=112"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arduinolab.pw\/index.php\/wp-json\/wp\/v2\/tags?post=112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}