{"id":1739,"date":"2016-09-16T18:14:39","date_gmt":"2016-09-16T09:14:39","guid":{"rendered":"http:\/\/nantoka.filmm.info\/blog\/?p=1739"},"modified":"2016-09-16T18:14:39","modified_gmt":"2016-09-16T09:14:39","slug":"%e3%82%b5%e3%83%bc%e3%83%9c%e5%88%b6%e5%be%a1%e3%81%9d%e3%81%ae%ef%bc%92","status":"publish","type":"post","link":"https:\/\/nantoka.filmm.info\/blog\/?p=1739","title":{"rendered":"\u30b5\u30fc\u30dc\u5236\u5fa1\u305d\u306e\uff12"},"content":{"rendered":"<p>\u30b5\u30fc\u30dc\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u66f4\u65b0\u3057\u307e\u3057\u305f<\/p>\n<p>\u30b5\u30fc\u30dc\uff08\u3068\u3044\u304f\u304b\u30a2\u30af\u30c1\u30e5\u30a8\u30a4\u30bf\u30fc\uff09\u306e\u8ca0\u8377\u3092\u4e0b\u3052\u308b\u305f\u3081\u306b\u7a3c\u50cd\u6642\u9593\u3092\u77ed\u304f\uff08\u901f\u304f\u52d5\u304b\u3059\uff09\u3057\u3066\u3044\u307e\u3059<\/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 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\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 = 180;\r\n  startTime = millis();\r\n  servoTime = 3200;\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}\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    if (millis() &gt; startTime + servoTime) {\r\n      servoUp = false;\r\n      serialFilter = true;\r\n    }\r\n    myservo.writeMicroseconds(map(power, 0, 255, 1500, 2000));\r\n  } else if (!servoUp) {\r\n    \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  if (Serial.available()) {\r\n      if(serialFilter){\r\n    serialFilter = false;\r\n    byte var = Serial.read();\r\n    int 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    if(myvar &gt; 8){\r\n      myvar = 8;\r\n    }else if (myvar &lt; 0){\r\n      myvar = 0;\r\n    }\r\n      if(kaisu &gt; -1 &amp;&amp; kaisu &lt; 9){  \/\/ex2 var0\r\n        int sabun = myvar - kaisu;\r\n\/\/Serial.println(sabun);\r\n        servoUp = true;\r\n        if(sabun &gt; 0){\r\n        power = 240;\/\/\/up\r\n        }else if (sabun &lt; 0){\r\n          power = -220;\/\/down\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        \/\/  Serial.println(kaisu);\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    }\r\n  }\r\n  }\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>\u306a\u304a\uff0c\u3053\u308c\u306b\u5bfe\u5fdc\u3059\u308bUnity\u5074\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u306f<\/p>\n<pre class=\"lang:default decode:true \">using UnityEngine;\r\nusing System.Collections;\r\nusing System;\/\/use for time\r\nusing UnityEngine.UI;\/\/use for UI\r\nusing System.Threading;\r\n\r\npublic class serialSender2 : MonoBehaviour {\r\n\tpublic SerialHandler serialHandler;\r\n\tfloat myangle;\r\n\tint kakudoDummy;\r\n\t\/\/Thread mythread;\/\/use thread\r\n\tpublic Text myuitext;\r\n\r\n\tvoid Start () {\r\n\t\tInvoke(\"startLoop\", 10f);\/\/10\u79d2\u5f8c\u306b\u30b3\u30eb\u30fc\u30c1\u30f3\u958b\u59cb\r\n\t}\r\n\r\n\tvoid Update () {\r\n\r\n\t}\r\n\t\t\r\npublic void startLoop(){\r\n\tStartCoroutine(angleSend());\r\n}\r\n\r\n\r\nIEnumerator angleSend() {\r\nwhile (true) {\r\n\t\t\tmyangle  = this.transform.localEulerAngles.x;\r\n\t\t\tif (myangle &lt; 360f &amp;&amp; myangle &gt; 180f) {\r\n\t\t\t\tmyangle = 360f - myangle;\r\n\t\t\t}else{\r\n\t\t\t\tmyangle = (myangle * -1f) ;\r\n\t\t\t}\r\n\t\t\tmyangle = Mathf.Round(myangle) + 4;\/\/\u307e\u308b\u3081\u305f\u89d2\u5ea6\r\n\t\t\tif (myangle &gt; 8) {\r\n\t\t\t\tmyangle = 8;\r\n\t\t\t} else if (myangle &lt; 0) {\r\n\t\t\t\tmyangle = 0;\r\n\t\t\t}\r\n\t\t\tstring _myangle  = myangle.ToString();\r\n\t\t\tserialHandler.Write (_myangle);\/\/send Angle\r\n\t\t\t\/\/ui display\r\n\r\n\t\t\tmyuitext.text = myangle.ToString ();\r\n\/\/\t\t\tDebug.Log(_myangle);\r\n\t\tyield return new WaitForSeconds(5f);\r\n\t}\r\n}\r\n\t\t\r\n\r\n}\r\n<\/pre>\n<p>\u3067\u3059<\/p>\n<p>\u89d2\u5ea6\u30925\u79d2\u3054\u3068\u306b\u30b5\u30f3\u30d7\u30ea\u30f3\u30b0\u3057\uff0c\uff10\u301c\uff18\u306e\u6570\u5024\uff08\u89d2\u5ea6\u306e\u8fd1\u4f3c\u5024\uff09\u306b\u5909\u5316\u3055\u305b\u30b7\u30ea\u30a2\u30eb\u3067\u9001\u4fe1\u3057\u3066\u3044\u307e\u3059<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u30b5\u30fc\u30dc\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u66f4\u65b0\u3057\u307e\u3057\u305f \u30b5\u30fc\u30dc\uff08\u3068\u3044\u304f\u304b\u30a2\u30af\u30c1\u30e5\u30a8\u30a4\u30bf\u30fc\uff09\u306e\u8ca0\u8377\u3092\u4e0b\u3052\u308b\u305f\u3081\u306b\u7a3c\u50cd\u6642\u9593\u3092\u77ed\u304f\uff08\u901f\u304f\u52d5\u304b\u3059\uff09\u3057\u3066\u3044\u307e\u3059 &nbsp; #include &lt;Servo.h&gt; unsigned long  &hellip; <a href=\"https:\/\/nantoka.filmm.info\/blog\/?p=1739\" class=\"more-link\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">\u30b5\u30fc\u30dc\u5236\u5fa1\u305d\u306e\uff12<\/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,13,2],"tags":[],"class_list":["post-1739","post","type-post","status-publish","format-standard","hentry","category-arduino","category-c","category-unity"],"_links":{"self":[{"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1739","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=1739"}],"version-history":[{"count":1,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1739\/revisions"}],"predecessor-version":[{"id":1740,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1739\/revisions\/1740"}],"wp:attachment":[{"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1739"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1739"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nantoka.filmm.info\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1739"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}