{"id":1240,"date":"2016-06-01T07:14:04","date_gmt":"2016-06-01T06:14:04","guid":{"rendered":"http:\/\/www.macerobotics.com\/?p=1240"},"modified":"2016-06-01T07:15:36","modified_gmt":"2016-06-01T06:15:36","slug":"obstacle-avoidance-with-mrduino","status":"publish","type":"post","link":"https:\/\/www.macerobotics.com\/?p=1240","title":{"rendered":"Obstacle avoidance with MRduino"},"content":{"rendered":"<p>Exemple of obstacle avoidance with MRduino robot. This program use the six proximity sensors.<\/p>\n<p><a href=\"http:\/\/www.macerobotics.com\/wp-content\/uploads\/2016\/03\/MRduino.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1230 aligncenter\" src=\"http:\/\/www.macerobotics.com\/wp-content\/uploads\/2016\/03\/MRduino.png\" alt=\"MRduino\" width=\"161\" height=\"178\" srcset=\"https:\/\/www.macerobotics.com\/wp-content\/uploads\/2016\/03\/MRduino.png 351w, https:\/\/www.macerobotics.com\/wp-content\/uploads\/2016\/03\/MRduino-272x300.png 272w\" sizes=\"auto, (max-width: 161px) 100vw, 161px\" \/><\/a><span class=\"st\">The obstacle avoidance program :<\/span><\/p>\n<pre>#include &lt;mrduino.h&gt;\r\n\r\nint prox1;\r\nint prox2;\r\nint prox3;\r\nint prox4;\r\nint prox5;\r\nint prox6;\r\nint speed = 50\r\n\r\n<strong><span style=\"color: #008000;\">\/\/ obstacle limit<\/span><\/strong>\r\nint limit_obs = 300;\r\n\r\nvoid setup() \r\n{\r\n\u00a0 <strong><span style=\"color: #008000;\">\/\/ init serial interface<\/span><\/strong>\r\n\u00a0 Serial.begin(115200);\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\r\n\u00a0 \r\n}\r\n\r\nvoid loop()\r\n{\r\n\u00a0 <strong><span style=\"color: #008000;\">\/\/ read sensors<\/span><\/strong>\r\n\u00a0 prox1 = proxSensor(1); \r\n\u00a0 prox2 = proxSensor(2); \r\n\u00a0 prox3 = proxSensor(3); \r\n\u00a0 prox4 = proxSensor(4); \r\n\u00a0 prox5 = proxSensor(5); \r\n\u00a0 prox6 = proxSensor(6); \r\n\r\n\u00a0 delay(100);\r\n\r\n\u00a0 if((prox1 &gt; limit_obs) and (prox2 &gt; limit_obs)and (prox3 &gt; limit_obs) and (prox4 &gt; limit_obs) and (prox5 &gt; limit_obs)\u00a0 and (prox6 &gt; limit_obs))\r\n\u00a0 {\r\n\u00a0\u00a0\u00a0 back(speed);\r\n\u00a0 }\r\n\u00a0 else\r\n\u00a0 {\r\n\u00a0\u00a0\u00a0 if((prox1 &gt; limit_obs) and (prox2 &gt; limit_obs))\r\n\u00a0\u00a0\u00a0 {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 turnRight(speed);\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 else\r\n\u00a0\u00a0\u00a0 {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if((prox6 &gt; limit_obs) or (prox5 &gt; limit_obs) or (prox4 &gt; limit_obs))\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 turnLeft(speed);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 else\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 if((prox1 &gt; limit_obs) or (prox2 &gt; limit_obs) or (prox3 &gt; limit_obs))\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 turnRight(speed);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 else\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 forward(speed);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0 }\r\n}\r\n\r\n<strong><span style=\"color: #008000;\">\/\/ end of file<\/span><\/strong><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Exemple of obstacle avoidance with MRduino robot. This program use the six proximity sensors. The obstacle avoidance program : #include &lt;mrduino.h&gt; int prox1; int prox2; int prox3; int prox4; int prox5; int prox6; int speed = 50 \/\/ obstacle limit int limit_obs = 300; void setup() { \u00a0 \/\/ init serial interface \u00a0 Serial.begin(115200);\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0 &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[],"class_list":["post-1240","post","type-post","status-publish","format-standard","hentry","category-mrduino"],"_links":{"self":[{"href":"https:\/\/www.macerobotics.com\/index.php?rest_route=\/wp\/v2\/posts\/1240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.macerobotics.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.macerobotics.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.macerobotics.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.macerobotics.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1240"}],"version-history":[{"count":3,"href":"https:\/\/www.macerobotics.com\/index.php?rest_route=\/wp\/v2\/posts\/1240\/revisions"}],"predecessor-version":[{"id":1243,"href":"https:\/\/www.macerobotics.com\/index.php?rest_route=\/wp\/v2\/posts\/1240\/revisions\/1243"}],"wp:attachment":[{"href":"https:\/\/www.macerobotics.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1240"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.macerobotics.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1240"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.macerobotics.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}