{"id":1756,"date":"2016-09-28T18:12:37","date_gmt":"2016-09-28T09:12:37","guid":{"rendered":"http:\/\/nantoka.filmm.info\/blog\/?p=1756"},"modified":"2016-09-28T18:12:37","modified_gmt":"2016-09-28T09:12:37","slug":"%e6%9f%90%e3%82%a2%e3%82%af%e3%83%81%e3%83%a5%e3%82%a8%e3%83%bc%e3%82%bf%e3%83%bc%e3%82%b3%e3%83%b3%e3%83%88%e3%83%ad%e3%83%bc%e3%83%ab%e3%82%b9%e3%82%af%e3%83%aa%e3%83%97%e3%83%88","status":"publish","type":"post","link":"https:\/\/nantoka.filmm.info\/blog\/?p=1756","title":{"rendered":"\u67d0\u30a2\u30af\u30c1\u30e5\u30a8\u30fc\u30bf\u30fc\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u30b9\u30af\u30ea\u30d7\u30c8"},"content":{"rendered":"<p>\u30b7\u30ea\u30a2\u30eb\u901a\u4fe1\u6642\u306bCR,LF\u304c\u5165\u308b\u3068\u304a\u304b\u3057\u304f\u306a\u308b\u73fe\u8c61\u304c\u304a\u304d\uff0c\u305d\u308c\u306e\u5bfe\u7b56\u7248\u3067\u3059<\/p>\n<p>Arduino\u306e\u30b7\u30ea\u30a2\u30eb\u30e2\u30cb\u30bf\u306f\u6539\u884c\u7121\u3057\u3067\u4f7f\u7528\u3057\u3066\u3044\u308c\u3070\u7279\u306b\u554f\u984c\u306f\u304a\u304d\u307e\u305b\u3093\u304c\uff0c\u3046\u3063\u304b\u308a\u6539\u884c\u3064\u304d\u3067\u30c6\u30b9\u30c8\u3057\u3066\u305f\u6642\u306b\u8d77\u3053\u308b\u554f\u984c\u3092\u56de\u907f\u3057\u3066\u3044\u307e\u3059<\/p>\n<p>\u5bdd\u4e0d\u8db3\u3060\u3068\u6539\u884c\u30e2\u30fc\u30c9\u304c\u5909\u308f\u3063\u305f\u3053\u3068\u306b\u6c17\u3065\u304b\u306a\u3044\u306e\u3088\uff0c\uff0c\uff0c<\/p>\n<p>&nbsp;<\/p>\n<pre class=\"lang:default decode:true \">#include &lt;Servo.h&gt;\r\n\r\nunsigned long mytime = 0;\r\nunsigned long hittime;\r\nunsigned long duration;\r\nboolean sensorBool = false;\/\/\u30bb\u30f3\u30b5\u8a08\u6e2c\u5236\u5fa1\u7528\r\nboolean sensorWorking = false;\/\/\r\nboolean servoUp = false;\/\/servo\u4e0a\u4e0b\u306eBool\r\nboolean serialFilter = true;\/\/servo\u4e0a\u4e0b\u306eBool\r\nint input_value;\/\/A1\u5165\u529b\u5024\r\nServo myservo;\/\/\u30b5\u30fc\u30dc\u8a2d\u5b9a\r\nint kaisu = 0;  \/\/ \u89d2\u5ea6\u306e\u30ab\u30a6\u30f3\u30bf\u3000max10\u3067\u4f7f\u3046\u306e\u306f8\u304c\u3044\u3044\r\nint power;\/\/\u30b5\u30fc\u30dc\u52d5\u4f5c\u901f\u5ea6\r\nunsigned long startTime;\/\/\u30bf\u30a4\u30de\u30fc\u7528\r\nint servoTime;\r\nint myvar;\r\n\r\nvoid stageReset() {\r\n  myservo.write(0);\/\/\u6700\u5927\u659c\u5ea6\u306b\u3059\u308b\uff08\u30ea\u30bb\u30c3\u30c8\uff09\r\n  delay(5000);\/\/\u6700\u5927\u659c\u5ea6\u306b\u306a\u308b\u306e\u3092\u5f85\u3064\r\n  \r\n  \/\/\u7d044\u5ea6\u50be\u3051\u3066\u6c34\u5e73\u306b\u3059\u308b\r\n  servoUp = true;\r\n  power = 200;\r\n  startTime = millis();\r\n  servoTime = 3000;\r\n\r\n  kaisu = 4;\/\/4\u5ea6\u306b\u30bb\u30c3\u30c8\r\n}\r\n\r\n\r\nvoid setup() {\r\n  Serial.begin(9600);\r\n  myservo.attach(9, 1000, 2000);\r\n  mytime = millis();\r\n  stageReset();\/\/\u30b9\u30c6\u30fc\u30b8\u6c34\u5e73\u306b\u3059\u308b\r\n  sensorWorking = false;\r\n}\r\n\r\nvoid mysend() {\r\n  Serial.println(duration);\/\/\u30b7\u30ea\u30a2\u30eb\u306b\u8a08\u6e2c\u6642\u9593\u9001\u308b\r\n}\r\n\r\n\r\nvoid loop() {\r\n  \/\/\u56de\u8ee2\u9593\u9694\u8a08\u6e2c\r\n  input_value = analogRead(1);\r\n  if (sensorBool) {\r\n    if (input_value &lt; 130) {\/\/3.3V is under 130 is read sw ON Long cable version\r\n      sensorBool = false;\r\n      hittime = millis();\r\n      duration = hittime - mytime;\r\n      mysend();\r\n      mytime = hittime;\r\n    }\r\n  } else if (!sensorBool) {\r\n    if (input_value &gt; 300) {\r\n      sensorBool = true;\r\n    }\r\n  }\r\n\r\n  \/\/\u30b5\u30fc\u30dc\u52d5\u4f5c\r\n  if (servoUp) {\r\n    sensorWorking = true;\r\n    if (millis() &gt; startTime + servoTime) {\r\n      servoUp = false;\r\n      serialFilter = true;\r\n      sensorWorking = false;\r\n    }\r\n    myservo.writeMicroseconds(map(power, 0, 255, 1500, 2000));\r\n    Serial.flush();\r\n  } else if (!servoUp) {\r\n    myservo.writeMicroseconds(map(0, 0, 255, 1500, 2000));\r\n   Serial.flush();\r\n  }\r\n}\r\n\r\nvoid serialEvent() {\r\n \/\/ Serial.println(\"SERIALIN\");\r\n\r\n \/\/if(var == 0x0D){\r\n \/\/ return;\r\n \/\/}else if(var == 0x0A){\r\n \/\/ return;\r\n\/\/ }\r\n\r\n \r\n  if (Serial.available()&gt;0) { \r\n    byte var = Serial.read();\r\n\r\n if(var == 0x0D){\r\n  return;\r\n }else if(var == 0x0A){\r\n  return;\r\n}else{\r\n\r\n    \r\n if(serialFilter){\r\n    serialFilter = false;\r\n    \/\/byte var = Serial.read();\r\n    myvar = var - 0x30;\/\/16\u9032\u6570\u3067\u304f\u308b\u306e\u306716\u9032\u6570\u306e\u30bc\u30ed\u3072\u304f\r\n   \/\/int myvar = int(var);\r\n   \/\/ switch (var) {\r\n    \/\/  case 1:\/\/stage UP\r\n    servoUp = true;\r\n    \r\n   if(myvar  == 9){\r\n      stageReset();\r\n    return;\r\n    }else if(myvar &gt; 8){\r\n      myvar = 8;\r\n    }else if (myvar &lt; 0){\r\n      myvar = 0;\r\n    }\r\n    \r\n   \r\nif(kaisu &gt; -1 &amp;&amp; kaisu &lt; 9 &amp;&amp; !sensorWorking){  \/\/ex2 var0\r\n\r\n       \/\/ int sabun = myvar - kaisu;\r\n       \/\/   Serial.println(myvar);\r\n  \/\/Serial.println(sabun);\r\n   \/\/     servoUp = true;\r\n   int sabun = myvar - kaisu;\r\n   \/\/Serial.println(sabun);\r\n        if(sabun &gt; 0 &amp;&amp; !sensorWorking){\r\n         \/\/ Serial.println(\"UP\");\r\n        power = 255;\r\n        }else if (sabun &lt; 0 &amp;&amp; !sensorWorking){\r\n         \/\/ Serial.println(\"down\");\r\n          power = -230;\/\/down\r\n        }\r\n\r\n        startTime = millis();\r\n        servoTime = 350 * abs(sabun);\r\n        \/\/if(kaisu &gt; -1 &amp;&amp; kaisu &lt; 9){\r\n          if(myvar &lt; 0){\r\n            kaisu = 0;\r\n          }else if (myvar &gt; 8){\r\n            kaisu = 8;\r\n          }else{\r\n          kaisu = myvar;\r\n          }\r\n         \r\n        \/\/}\r\n        \/\/kaisu--;\r\n      }\r\n    \/\/    break;\r\n     \/\/ case 2:\/\/stage Down\r\n      \/\/else if(kaisu &lt; 9){\r\n       \/\/ power = -180;\r\n       \/\/ servoUp = true;\r\n       \/\/ servoTime = 700;\r\n       \/\/ startTime = millis();\r\n       \/\/ kaisu++;\r\n      \/\/}\r\n       \/\/ break;\r\n    }\/\/end of serial filter\r\n  }\/\/ end delte CRLF\r\n  }\r\n  \r\n}\r\n  \r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u30b7\u30ea\u30a2\u30eb\u901a\u4fe1\u6642\u306bCR,LF\u304c\u5165\u308b\u3068\u304a\u304b\u3057\u304f\u306a\u308b\u73fe\u8c61\u304c\u304a\u304d\uff0c\u305d\u308c\u306e\u5bfe\u7b56\u7248\u3067\u3059 Arduino\u306e\u30b7\u30ea\u30a2\u30eb\u30e2\u30cb\u30bf\u306f\u6539\u884c\u7121\u3057\u3067\u4f7f\u7528\u3057\u3066\u3044\u308c\u3070\u7279\u306b\u554f\u984c\u306f\u304a\u304d\u307e\u305b\u3093\u304c\uff0c\u3046\u3063\u304b\u308a\u6539\u884c\u3064\u304d\u3067\u30c6\u30b9\u30c8\u3057\u3066\u305f\u6642\u306b\u8d77\u3053\u308b\u554f\u984c\u3092\u56de\u907f\u3057\u3066\u3044\u307e\u3059 \u5bdd &hellip; <a href=\"https:\/\/nantoka.filmm.info\/blog\/?p=1756\" class=\"more-link\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">\u67d0\u30a2\u30af\u30c1\u30e5\u30a8\u30fc\u30bf\u30fc\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u30b9\u30af\u30ea\u30d7\u30c8<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[29],"tags":[],"class_list":["post-1756","post","type-post","status-publish","format-standard","hentry","category-arduino"],"_links":{"self":[{"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1756","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1756"}],"version-history":[{"count":1,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1756\/revisions"}],"predecessor-version":[{"id":1757,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1756\/revisions\/1757"}],"wp:attachment":[{"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1756"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1756"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1756"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}