{"id":817,"date":"2019-12-28T22:09:59","date_gmt":"2019-12-28T13:09:59","guid":{"rendered":"https:\/\/dalomo.net\/blog\/?p=817"},"modified":"2019-12-30T23:12:56","modified_gmt":"2019-12-30T14:12:56","slug":"%e8%87%aa%e5%8b%95%e8%b5%b0%e8%a1%8c%e8%bb%8a%e3%81%ab%e6%b8%ac%e8%b7%9d%e3%82%bb%e3%83%b3%e3%82%b5%e3%83%bchc-sr04%e3%82%92%e4%bd%bf%e3%81%a3%e3%81%a6%e8%a1%9d%e7%aa%81%e5%9b%9e%e9%81%bf%e6%a9%9f","status":"publish","type":"post","link":"https:\/\/dalomo.net\/blog\/2019\/12\/28\/817\/","title":{"rendered":"\u81ea\u52d5\u8d70\u884c\u8eca\u306b\u6e2c\u8ddd\u30bb\u30f3\u30b5\u30fc\u3092\u4f7f\u3063\u3066\u885d\u7a81\u56de\u907f\u6a5f\u80fd\u3092\u3064\u3051\u305f\u304b\u3063\u305f Arduino+HC-SR04"},"content":{"rendered":"<h1>\u6e2c\u8ddd\u30bb\u30f3\u30b5\u30fc(HC-SR04)<\/h1>\n<p>\u6e2c\u8ddd\u30bb\u30f3\u30b5\u30fc\u3092\u4f7f\u3046\u3068\u8ddd\u96e2\u3092\u6e2c\u308c\u308b\u3002\u3053\u306eHC-SR04\u3060\u3068\u7dda4\u672c\u3067\u6271\u3048\u308b\u306e\u3067\u3059\u3054\u304f\u7c21\u5358\u307f\u305f\u3044\u3002\u3084\u3063\u3066\u307f\u305f\u3051\u3069\u3061\u3087\u3063\u3068\u4e2d\u9014\u534a\u7aef\u306b\u306a\u3063\u305f\u3002<\/p>\n<h2>\u304a\u8cb7\u3044\u7269<\/h2>\n<p><a href=\"http:\/\/akizukidenshi.com\/catalog\/g\/gM-11009\/\">http:\/\/akizukidenshi.com\/catalog\/g\/gM-11009\/<\/a><\/p>\n<p>\u79cb\u6708\u3067\u8cb7\u3044\u307e\u3057\u305f\u3002\u3053\u308c\u306e\u4ed6\u306b\u3082ToF\u3063\u3066\u3044\u3046\u306a\u3093\u304b\u30ec\u30fc\u30b6\u30fc\u4f7f\u3063\u305f\u3084\u3064\u307f\u305f\u3044\u306a\u306e\u3068\u304b\u3042\u3063\u305f\u3051\u3069\u3001\u3061\u3087\u3063\u3068\u304a\u9ad8\u3081\u306a\u306e\u3067\u3053\u3063\u3061\u306b\u3057\u305f\u3002\u3042\u3068\u3042\u3063\u3061\u306f\u7dda\u304c\u591a\u3044\u3002\u6a5f\u4f1a\u304c\u3042\u3063\u305f\u3089\u4f7f\u3063\u3066\u307f\u3088\u3046\u3002<\/p>\n<h2>\u53d6\u308a\u4ed8\u3051\u308b<\/h2>\n<p>\u96fb\u6e90\u3068GND\u3068\u30c8\u30ea\u30ac\u30fc\u3068\u30a8\u30b3\u30fc\u3092\u63a5\u7d9a\u3059\u308b\u3002\u30c8\u30ea\u30ac\u30fc\u3068\u30a8\u30b3\u30fc\u3067\u30b9\u30bf\u30fc\u30c8\u3068\u8aad\u307f\u53d6\u308a\u3092\u5236\u5fa1\u3059\u308b\u3088\u3046\u3060\u3002<\/p>\n<p><a href=\"https:\/\/dalomo.net\/blog\/wp-content\/uploads\/2019\/12\/hc.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-818\" src=\"https:\/\/dalomo.net\/blog\/wp-content\/uploads\/2019\/12\/hc-300x225.png\" alt=\"\" width=\"300\" height=\"225\" srcset=\"https:\/\/dalomo.net\/blog\/wp-content\/uploads\/2019\/12\/hc-300x225.png 300w, https:\/\/dalomo.net\/blog\/wp-content\/uploads\/2019\/12\/hc-768x576.png 768w, https:\/\/dalomo.net\/blog\/wp-content\/uploads\/2019\/12\/hc.png 1000w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>\u76ee\u30f3\u7389\u307f\u305f\u3044\u306b\u306a\u3063\u305f\u3002\u304b\u308f\u3044\u3044\u3002\u80cc\u304c\u9ad8\u304f\u306a\u3063\u3066\u30d0\u30e9\u30f3\u30b9\u304c\u3061\u3068\u60aa\u3044\u3002<\/p>\n<h2>\u30b9\u30b1\u30c3\u30c1\u3092\u4f5c\u6210<\/h2>\n<pre><code class=\"cpp\">#define PIN_IN_A1 9\r\n#define PIN_IN_A2 10\r\n#define PIN_IN_B1 1\r\n#define PIN_IN_B2 11\r\n#define TRG_PIN 2\r\n#define ECHO_PIN 3\r\nlong randomNum = 0;\r\ndouble Duration = 0;\r\ndouble Distance = 0;\r\n\r\nvoid setup() {\r\n  pinMode(PIN_IN_A1, OUTPUT);\r\n  pinMode(PIN_IN_A2, OUTPUT);\r\n  pinMode(PIN_IN_B1, OUTPUT);\r\n  pinMode(PIN_IN_B2, OUTPUT);\r\n  pinMode(TRG_PIN, OUTPUT);\r\n  digitalWrite(TRG_PIN, LOW);\r\n  pinMode(ECHO_PIN, INPUT);\r\n  randomSeed(analogRead(0));\r\n}\r\n\r\ndouble measureDistance() {\r\n  digitalWrite(TRG_PIN, HIGH);\r\n  delayMicroseconds(10);\r\n  digitalWrite(TRG_PIN, LOW);\r\n  Duration = pulseIn(ECHO_PIN, HIGH);\r\n  if (Duration &gt; 0) {\r\n    Duration = Duration \/ 2; \/\/\u5f80\u5fa9\u8ddd\u96e2\u3092\u534a\u5206\u306b\u3059\u308b\r\n    Distance = Duration * 340 * 100 \/ 1000000; \/\/ \u97f3\u901f\u3092340m\/s\u306b\u8a2d\u5b9a\r\n  }\r\n  return Distance;\r\n}\r\n\r\nvoid forward() {\r\n  digitalWrite(PIN_IN_A1, HIGH);\r\n  digitalWrite(PIN_IN_A2, LOW);\r\n  digitalWrite(PIN_IN_B1, HIGH);\r\n  digitalWrite(PIN_IN_B2, LOW);\r\n}\r\n\r\n\/\/\u7565\r\n\r\nvoid loop() {\r\n  double d = 0;\r\n\r\n  d = measureDistance();\r\n\r\n  if (d &lt; 10) {\r\n    reverse();\r\n    delay(1000);\r\n    coast();\r\n    rotateRight();\r\n    delay(1000);\r\n    coast();\r\n  }\r\n\r\n  randomNum = random(0, 7);\r\n\r\n  switch (randomNum) {\r\n    case 0:\r\n      forward();\r\n      break;\r\n    case 1:\r\n      reverse();\r\n      break;\r\n    case 2:\r\n      turnLeft();\r\n      break;\r\n    case 3:\r\n      turnRight();\r\n      break;\r\n    case 4:\r\n      rotateLeft();\r\n      break;\r\n    case 5:\r\n      rotateRight();\r\n      break;\r\n    case 6:\r\n      coast();\r\n      break;\r\n    case 7:\r\n      brake();\r\n      break;\r\n  }\r\n  delay(1500);\r\n  brake();\r\n\r\n\r\n}<\/code><\/pre>\n<p>\u8ddd\u96e2\u3092\u53d6\u5f97\u3059\u308b\u90e8\u5206\u306f\u53c2\u8003\u30b5\u30a4\u30c8\u3067\u516c\u958b\u3055\u308c\u3066\u3044\u308b\u3082\u306e\u3092\u4f7f\u308f\u305b\u3066\u3044\u305f\u3060\u3044\u305f\u3002\u307e\u305f\u3001\u524d\u56de\u306f\u52d5\u304d\u3092\u6c7a\u3081\u3066loop\u5185\u306b\u66f8\u3044\u3066\u3044\u305f\u304c\u3001random\u3092\u4f7f\u3063\u3066\u52d5\u304d\u3092\u4e0d\u898f\u5247\u306b\u3057\u3066\u3042\u308b\u3002\u3067\u3001\u3067\u3059\u3051\u3069\u3002\u3046\u307e\u304f\u3044\u304b\u306a\u3044\u3002\u4e0a\u8a18\u306e\u30b3\u30fc\u30c9\u306f<\/p>\n<ol>\n<li>\u8ddd\u96e2\u3092\u6e2c\u308b\u3002<\/li>\n<li>\u8ddd\u96e2\u304c\u95be\u5024\u4ee5\u4e0b\u3060\u3063\u305f\u3089\u5f8c\u9000\u3057\u3066\u53f3\u65cb\u56de\u3059\u308b\u3002<\/li>\n<li>\u30e9\u30f3\u30c0\u30e0\u306a\u5024\u3092\u53d6\u5f97\u3059\u308b\u3002<\/li>\n<li>\u5024\u3092\u5143\u306b\u52d5\u304d\u3092\u6c7a\u3081\u308b\u3002<\/li>\n<li>2\u79d2\u5f85\u3064\u3002(2\u79d2\u9593\u540c\u3058\u52d5\u304d\u306e\u307e\u307e\u306b\u306a\u308b\u3002)<\/li>\n<li>1\u306b\u623b\u308b<\/li>\n<\/ol>\n<p>\u3068\u3044\u3046\u611f\u3058\u3002\u3053\u308c\u3060\u3068\u30012\u79d2\u5f85\u3063\u3066\u308b\u9593\u306b\u969c\u5bb3\u7269\u304c\u3042\u3063\u305f\u5834\u5408\u3001\u3076\u3064\u304b\u308b\u3002\u7406\u60f3\u3068\u3044\u3046\u304b\u8003\u3048\u305f\u306e\u306f\u3001\u6e2c\u8ddd\u51e6\u7406\u3068\u8d70\u884c\u51e6\u7406\u3092\u5206\u3051\u3066\u3001\u6e2c\u8ddd\u51e6\u7406\u304c\u3076\u3064\u304b\u308a\u305d\u3046\u3068\u5224\u65ad\u3057\u305f\u5834\u5408\u3001\u8d70\u884c\u51e6\u7406\u3092\u4e2d\u65ad\u3057\u3066\u56de\u907f\u884c\u52d5\u3092\u53d6\u308b\u3001\u307f\u305f\u3044\u306a\u6d41\u308c\u306b\u3057\u305f\u304b\u3063\u305f\u3002\u305f\u3060\u305d\u308c\u3092\u5b9f\u73fe\u3059\u308b\u65b9\u6cd5\u304c\u308f\u304b\u3089\u306a\u3044\u3002\u5168\u7136\u308f\u304b\u3089\u306a\u3044\u3002\u306a\u3093\u3068\u306a\u304f\u30de\u30eb\u30c1\u30b9\u30ec\u30c3\u30c9\u3068\u304b\u30de\u30eb\u30c1\u30bf\u30b9\u30af\u3068\u304b\u3001\u5272\u308a\u8fbc\u307f\u3068\u304b\u3001\u305d\u3046\u3044\u3046\u306e\u304b\u306a\u30fc\u3068\u601d\u3063\u305f\u3051\u3069\u3001\u3069\u3046\u306a\u3093\u3060\u308d\u2026\u3002\u3061\u3087\u3063\u3068\u3042\u3093\u307e\u610f\u5473\u306a\u3044\u611f\u3058\u306e\u3001\u4e2d\u9014\u534a\u7aef\u306a\u6a5f\u80fd\u306b\u306a\u3063\u3061\u3083\u3063\u305f\u306a\u3041\u3002<\/p>\n<h2>\u52d5\u753b<\/h2>\n<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/Ro1gMP9XAr4\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<h2>\u53c2\u8003<\/h2>\n<p><a href=\"https:\/\/deviceplus.jp\/hobby\/entry016\/\">https:\/\/deviceplus.jp\/hobby\/entry016\/<\/a><\/p>\n<p><a href=\"http:\/\/www.musashinodenpa.com\/arduino\/ref\/index.php\">http:\/\/www.musashinodenpa.com\/arduino\/ref\/index.php<\/a><\/p>\n<p>&nbsp;<\/p>\n<p>\u601d\u3044\u3064\u3044\u305f\u306e\u3067\u3061\u3087\u3063\u3068\u5909\u3048\u308b<\/p>\n<p><!--nextpage--><\/p>\n<h2>\u885d\u7a81\u56de\u907f\u6a5f\u80fd<\/h2>\n<p>\u4f5c\u3063\u305f\u3084\u3064\u306f\u611f\u77e5\u3057\u306a\u30442\u79d2\u9593\u306e\u9593\u306b\u885d\u7a81\u3057\u3066\u3057\u307e\u3046\u306e\u3067\u3001delay\u306e2\u79d2\u3092\u306a\u304f\u3057\u3001\u885d\u7a81\u5224\u5b9a\u30920.1\u79d2\u6bce\u304b\u30642\u79d2\u9593\u306b\u3059\u308b\u3053\u3068\u3067\u671f\u5f85\u3057\u305f\u3088\u3046\u306b\u52d5\u304f\u3088\u3046\u306b\u3057\u305f\u3002<\/p>\n<h3>\u30b9\u30b1\u30c3\u30c1<\/h3>\n<pre><code class=\"cpp\">#define PIN_IN_A1 9\r\n#define PIN_IN_A2 10\r\n#define PIN_IN_B1 1\r\n#define PIN_IN_B2 11\r\n#define TRG_PIN 2\r\n#define ECHO_PIN 3\r\nlong randomNum = 0;\r\ndouble Duration = 0;\r\ndouble Distance = 0;\r\n\r\nvoid setup() {\r\n  pinMode(PIN_IN_A1, OUTPUT);\r\n  pinMode(PIN_IN_A2, OUTPUT);\r\n  pinMode(PIN_IN_B1, OUTPUT);\r\n  pinMode(PIN_IN_B2, OUTPUT);\r\n  pinMode(TRG_PIN, OUTPUT);\r\n  digitalWrite(TRG_PIN, LOW);\r\n  pinMode(ECHO_PIN, INPUT);\r\n  randomSeed(analogRead(0));\r\n}\r\n\r\nvoid forward() {\r\n  digitalWrite(PIN_IN_A1, HIGH);\r\n  digitalWrite(PIN_IN_A2, LOW);\r\n  digitalWrite(PIN_IN_B1, HIGH);\r\n  digitalWrite(PIN_IN_B2, LOW);\r\n}\r\n\r\nvoid brake() {\r\n  digitalWrite(PIN_IN_A1, LOW);\r\n  digitalWrite(PIN_IN_A2, LOW);\r\n  digitalWrite(PIN_IN_B1, LOW);\r\n  digitalWrite(PIN_IN_B2, LOW);\r\n}\r\n\r\nvoid reverse() {\r\n  digitalWrite(PIN_IN_A1, LOW);\r\n  digitalWrite(PIN_IN_A2, HIGH);\r\n  digitalWrite(PIN_IN_B1, LOW);\r\n  digitalWrite(PIN_IN_B2, HIGH);\r\n}\r\n\r\nvoid coast() {\r\n  digitalWrite(PIN_IN_A1, HIGH);\r\n  digitalWrite(PIN_IN_A2, HIGH);\r\n  digitalWrite(PIN_IN_B1, HIGH);\r\n  digitalWrite(PIN_IN_B2, HIGH);\r\n}\r\n\r\nvoid turnLeft() {\r\n  digitalWrite(PIN_IN_A1, LOW);\r\n  digitalWrite(PIN_IN_A2, LOW);\r\n  digitalWrite(PIN_IN_B1, HIGH);\r\n  digitalWrite(PIN_IN_B2, LOW);\r\n}\r\n\r\nvoid turnRight() {\r\n  digitalWrite(PIN_IN_A1, HIGH);\r\n  digitalWrite(PIN_IN_A2, LOW);\r\n  digitalWrite(PIN_IN_B1, LOW);\r\n  digitalWrite(PIN_IN_B2, LOW);\r\n}\r\n\r\nvoid rotateLeft() {\r\n  digitalWrite(PIN_IN_A1, LOW);\r\n  digitalWrite(PIN_IN_A2, HIGH);\r\n  digitalWrite(PIN_IN_B1, HIGH);\r\n  digitalWrite(PIN_IN_B2, LOW);\r\n}\r\n\r\nvoid rotateRight() {\r\n  digitalWrite(PIN_IN_A1, HIGH);\r\n  digitalWrite(PIN_IN_A2, LOW);\r\n  digitalWrite(PIN_IN_B1, LOW);\r\n  digitalWrite(PIN_IN_B2, HIGH);\r\n}\r\n\r\ndouble measureDistance() {\r\n  digitalWrite(TRG_PIN, HIGH);\r\n  delayMicroseconds(10);\r\n  digitalWrite(TRG_PIN, LOW);\r\n  Duration = pulseIn(ECHO_PIN, HIGH);\r\n  if (Duration &gt; 0) {\r\n    Duration = Duration \/ 2; \/\/\u5f80\u5fa9\u8ddd\u96e2\u3092\u534a\u5206\u306b\u3059\u308b\r\n    Distance = Duration * 340 * 100 \/ 1000000; \/\/ \u97f3\u901f\u3092340m\/s\u306b\u8a2d\u5b9a\r\n  }\r\n  return Distance;\r\n}\r\n\r\nvoid avoid() {\r\n  reverse();\r\n  delay(500);\r\n  coast();\r\n  rotateRight();\r\n  delay(500);\r\n  coast();\r\n}\r\n\r\nvoid basicMotion() {\r\n  randomNum = random(0, 7);\r\n\r\n  switch (randomNum) {\r\n    case 0:\r\n      forward();\r\n      break;\r\n    case 1:\r\n      reverse();\r\n      break;\r\n    case 2:\r\n      turnLeft();\r\n      break;\r\n    case 3:\r\n      turnRight();\r\n      break;\r\n    case 4:\r\n      rotateLeft();\r\n      break;\r\n    case 5:\r\n      rotateRight();\r\n      break;\r\n    case 6:\r\n      coast();\r\n      break;\r\n    case 7:\r\n      brake();\r\n      break;\r\n  }\r\n}\r\n\r\nboolean withinDistance() {\r\n  double d = 0;\r\n  d = measureDistance();\r\n  if (d &lt; 10) {\r\n    return true;\r\n  } else {\r\n    return false;\r\n  }\r\n}\r\n\r\nvoid collisionAvoid(int msec,int reptime) {\r\n  for (int i = 1; i &lt;= reptime; i++) {\r\n    if (withinDistance()) {\r\n      avoid();\r\n    }\r\n    delay(msec);\r\n  }\r\n}\r\n\r\nvoid loop() {\r\n  basicMotion();\r\n  collisionAvoid(100,20);\r\n  brake();\r\n}<\/code><\/pre>\n<h2>\u52d5\u753b<\/h2>\n<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/EvVM146GZ2A\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>\u3044\u3044\u611f\u3058\u3002\u5f8c\u9000\u6642\u306f\u30bb\u30f3\u30b5\u30fc\u304c\u306a\u3044\u304b\u3089\u3057\u3087\u3046\u304c\u306a\u3044\u3051\u3069\u3001\u305d\u308c\u4ee5\u5916\u306f\u3061\u3083\u3093\u3068\u56de\u907f\u884c\u52d5\u304c\u53d6\u308c\u3066\u308b\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u6e2c\u8ddd\u30bb\u30f3\u30b5\u30fc(HC-SR04) \u6e2c\u8ddd\u30bb\u30f3\u30b5\u30fc\u3092\u4f7f\u3046\u3068\u8ddd\u96e2\u3092\u6e2c\u308c\u308b\u3002\u3053\u306eHC-SR04\u3060\u3068\u7dda4\u672c\u3067\u6271\u3048\u308b\u306e\u3067\u3059\u3054\u304f\u7c21\u5358\u307f\u305f\u3044\u3002\u3084\u3063\u3066\u307f\u305f\u3051\u3069\u3061\u3087\u3063\u3068\u4e2d\u9014\u534a\u7aef\u306b\u306a\u3063\u305f\u3002 \u304a\u8cb7\u3044\u7269 http:\/\/akizukidenshi.c &hellip; <a href=\"https:\/\/dalomo.net\/blog\/2019\/12\/28\/817\/\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":818,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[8],"tags":[69,78,75,54],"class_list":["post-817","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-8","tag-arduino","tag-bluetooth","tag-hc-sr04","tag-54"],"_links":{"self":[{"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/posts\/817","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/comments?post=817"}],"version-history":[{"count":5,"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/posts\/817\/revisions"}],"predecessor-version":[{"id":826,"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/posts\/817\/revisions\/826"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/media\/818"}],"wp:attachment":[{"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/media?parent=817"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/categories?post=817"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dalomo.net\/blog\/wp-json\/wp\/v2\/tags?post=817"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}