{"id":743,"date":"2018-03-24T10:59:42","date_gmt":"2018-03-24T10:59:42","guid":{"rendered":"http:\/\/fambach.net\/?p=743"},"modified":"2020-05-14T09:37:16","modified_gmt":"2020-05-14T09:37:16","slug":"ardunino-mit-dht10-3","status":"publish","type":"post","link":"https:\/\/www.fambach.net\/en\/ardunino-mit-dht10-3\/","title":{"rendered":"Arduino \u2013 HC-SR04 Distance Sensor"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_73 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewbox=\"0 0 24 24\" version=\"1.2\" baseprofile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.fambach.net\/en\/us-015-ultraschall-entfernungsmesser\/#Allgemein\" title=\"Allgemein\">Allgemein<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.fambach.net\/en\/us-015-ultraschall-entfernungsmesser\/#Technische_Daten\" title=\"Technische Daten\">Technische Daten<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.fambach.net\/en\/us-015-ultraschall-entfernungsmesser\/#Pin-Belegung\" title=\"Pin assignment\">Pin assignment<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.fambach.net\/en\/us-015-ultraschall-entfernungsmesser\/#Ahnliches\" title=\"\u00c4hnliches\">\u00c4hnliches<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.fambach.net\/en\/us-015-ultraschall-entfernungsmesser\/#Quellen\" title=\"Sources\">Sources<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>Ansteuerung des HC-SR04 Ultraschall-Entfernungsmesser mit Hilfe des Arduino UNO.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Grundlagen<\/h1>\n\n\n\n<figure class=\"wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-stefan-039-s-webblog\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"14myQVquMV\"><a href=\"https:\/\/www.fambach.net\/en\/sr-04-ultraschall-entfernungsmesser\/\">HC-SR04 Entfernungsmesser<\/a><\/blockquote><iframe title=\"&#8222;HC-SR04 Entfernungsmesser&#8220; &#8212; Stefan&#039;s WebBlog\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" src=\"https:\/\/www.fambach.net\/sr-04-ultraschall-entfernungsmesser\/embed\/#?secret=14myQVquMV\" data-secret=\"14myQVquMV\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Structure<\/h1>\n\n\n\n<figure class=\"wp-block-gallery columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\"><ul class=\"blocks-gallery-grid\"><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"653\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/03\/20180324_095347.jpg\" alt=\"Arduino mit Prortotyping Board und SR04 Verkabelung perspektivisch\" data-id=\"752\" data-full-url=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/03\/20180324_095347.jpg\" data-link=\"https:\/\/www.fambach.net\/ardunino-mit-dht10-3\/20180324_095347\/\" class=\"wp-image-752\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/03\/20180324_095347.jpg 800w, https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/03\/20180324_095347-300x245.jpg 300w, https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/03\/20180324_095347-768x627.jpg 768w\" sizes=\"(max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\" \/><figcaption class=\"blocks-gallery-item__caption\">Arduino mit Prortotyping Board und SR04 Verkabelung perspektivisch<\/figcaption><\/figure><\/li><li class=\"blocks-gallery-item\"><figure><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"761\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/03\/20180324_095339.jpg\" alt=\"Arduino mit Prortotyping Board und SR04 Verkabelung perspektivisch\" data-id=\"751\" data-full-url=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/03\/20180324_095339.jpg\" data-link=\"https:\/\/www.fambach.net\/ardunino-mit-dht10-3\/20180324_095339\/\" class=\"wp-image-751\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/03\/20180324_095339.jpg 800w, https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/03\/20180324_095339-300x285.jpg 300w, https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/03\/20180324_095339-768x731.jpg 768w\" sizes=\"(max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\" \/><figcaption class=\"blocks-gallery-item__caption\">Arduino mit Prortotyping Board und SR04 Verkabelung perspektivisch<\/figcaption><\/figure><\/li><\/ul><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Schaltung<\/h1>\n\n\n\n<p>(Ich habe nachtr\u00e4glich noch die Pins von 0\/1 auf 2\/3 ge\u00e4ndert weil an 0\/1 noch der ISP h\u00e4ngt).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"679\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2018\/03\/RaspberryWithSR04_-1024x679.png\" alt=\"\" class=\"wp-image-755\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/03\/RaspberryWithSR04_-1024x679.png 1024w, https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/03\/RaspberryWithSR04_-300x199.png 300w, https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/03\/RaspberryWithSR04_-768x509.png 768w, https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/03\/RaspberryWithSR04_.png 1158w\" sizes=\"(max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\" \/><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Test programme<\/h1>\n\n\n\n<p>Hier ein kleines Testprogramm. Es filtert zu kleine und zu gro\u00dfe Werte heraus und erm\u00f6glicht die Mittelwertbildung \u00fcber ein definiertes intervall.<\/p>\n\n\n<style> #wrap_githubgistsfambach\/e4acc49c7a767fc160d487519b484e59 .gist-data {max-height: 400px;} <\/style>\n<div id=\"wrap_githubgistsfambach\/e4acc49c7a767fc160d487519b484e59\" style=\"width:100%\"><script>document.write('<link rel=\"stylesheet\" href=\"https:\/\/github.githubassets.com\/assets\/gist-embed-f554937d749d36df.css\">')\ndocument.write('<\/p>\n<div id=\\\"gist103051124\\\" class=\\\"gist\\\">\\n    <\/p>\n<div class=\\\"gist-file\\\" translate=\\\"no\\\" data-color-mode=\\\"light\\\" data-light-theme=\\\"light\\\">\\n      <\/p>\n<div class=\\\"gist-data\\\">\\n        \\n<\/p>\n<div class=\\\"js-gist-file-update-container js-task-list-container\\\">\\n      <\/p>\n<div id=\\\"file-hcsr04test-ino\\\" class=\\\"file my-2\\\">\\n    \\n    <\/p>\n<div itemprop=\\\"text\\\"\\n      class=\\\"Box-body p-0 blob-wrapper data type-c  \\\"\\n      style=\\\"overflow: auto\\\" tabindex=\\\"0\\\" role=\\\"region\\\"\\n      aria-label=\\\"HCSR04Test.ino content, created by sfambach on 08:09AM on May 14, 2020.\\\"\\n    >\\n\\n        \\n<\/p>\n<div class=\\\"js-check-hidden-unicode js-blob-code-container blob-code-content\\\">\\n\\n  <template class=\\\"js-file-alert-template\\\">\\n  <\/p>\n<div data-view-component=\\\"true\\\" class=\\\"flash flash-warn flash-full d-flex flex-items-center\\\">\\n  <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-alert\\\">\\n    <path d=\\\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\\\"><\\\/path>\\n<\\\/svg>\\n    <span>\\n      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.\\n      <a class=\\\"Link--inTextBlock\\\" href=\\\"https:\/\/github.co\/hiddenchars\\\" target=\\\"_blank\\\">Learn more about bidirectional Unicode characters<\\\/a>\\n    <\\\/span>\\n\\n\\n  <\/p>\n<div data-view-component=\\\"true\\\" class=\\\"flash-action\\\">        <a href=\\\"{{ revealButtonHref }}\\\" data-view-component=\\\"true\\\" class=\\\"btn-sm btn\\\">    Show hidden characters\\n<\\\/a>\\n<\\\/div>\\n<\\\/div><\\\/template>\\n<template class=\\\"js-line-alert-template\\\">\\n  <span aria-label=\\\"This line has hidden Unicode characters\\\" data-view-component=\\\"true\\\" class=\\\"line-alert tooltipped tooltipped-e\\\">\\n    <svg aria-hidden=\\\"true\\\" height=\\\"16\\\" viewBox=\\\"0 0 16 16\\\" version=\\\"1.1\\\" width=\\\"16\\\" data-view-component=\\\"true\\\" class=\\\"octicon octicon-alert\\\">\\n    <path d=\\\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\\\"><\\\/path>\\n<\\\/svg>\\n<\\\/span><\\\/template>\\n\\n  <\/p>\n<table data-hpc class=\\\"highlight tab-size js-file-line-container\\\" data-tab-size=\\\"4\\\" data-paste-markdown-skip data-tagsearch-path=\\\"HCSR04Test.ino\\\">\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L1\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"1\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC1\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\/\/ *************************************************<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L2\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"2\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC2\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\/\/ SR04 Ultrasonic Distance Sensor<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L3\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"3\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC3\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\/\/ time to distance conversion is<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L4\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"4\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC4\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\/\/ divide by 2 (both ways to the obstical and back)<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L5\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"5\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC5\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\/\/ divide by sonic constant 29.1<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L6\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"6\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC6\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">#define TRIGGER_PIN   3<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L7\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"7\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC7\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">#define ECHO_PIN      2    <\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L8\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"8\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC8\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">#define SC_MM         5.82<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L9\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"9\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC9\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">#define SC_CM         58.2<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L10\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"10\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC10\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L11\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"11\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC11\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">#define MAX_DUR       300 * 58.2 \/\/ ~3m in dur <\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L12\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"12\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC12\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">#define MIN_DUR       2 * 58.2 \/\/ ~2cm in dur<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L13\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"13\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC13\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">#define TO_SMALL      -1<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L14\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"14\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC14\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">#define TO_BIG        -2<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L15\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"15\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC15\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">#define INT_TO_SMALL  -3<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L16\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"16\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC16\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L17\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"17\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC17\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L18\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"18\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC18\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\/** get duration *\/<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L19\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"19\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC19\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">long getDur(int interval){<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L20\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"20\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC20\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">  if(interval &lt; 1) return -3;<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L21\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"21\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC21\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">  long dur=0;<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L22\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"22\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC22\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">  <\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L23\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"23\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC23\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">  for(int i = 0; i &lt; interval; i++ ){<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L24\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"24\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC24\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">    \/\/ init sensor<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L25\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"25\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC25\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">    digitalWrite(TRIGGER_PIN, LOW);<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L26\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"26\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC26\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">    delayMicroseconds(3);<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L27\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"27\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC27\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">    noInterrupts();  <\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L28\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"28\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC28\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">  <\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L29\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"29\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC29\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">    \/\/ start 10 us pulse<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L30\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"30\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC30\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">    digitalWrite(TRIGGER_PIN, HIGH); <\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L31\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"31\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC31\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">    delayMicroseconds(10);<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L32\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"32\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC32\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">    digitalWrite(TRIGGER_PIN, LOW);<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L33\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"33\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC33\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">    <\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L34\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"34\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC34\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">    dur += pulseIn(ECHO_PIN, HIGH); \/\/ determine the time<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L35\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"35\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC35\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">    interrupts();<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L36\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"36\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC36\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">    <\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L37\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"37\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC37\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">  }<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L38\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"38\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC38\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L39\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"39\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC39\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">  dur \/= interval;<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L40\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"40\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC40\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">  if(dur &gt; MAX_DUR ) { return TO_BIG;}<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L41\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"41\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC41\\\" class=\\\"blob-code blob-code-inner js-file-line\\\"> \/\/ else if (dur &lt; MIN_DUR){ return TO_SMALL;}<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L42\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"42\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC42\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">  return dur;<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L43\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"43\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC43\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">}<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L44\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"44\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC44\\\" class=\\\"blob-code blob-code-inner js-file-line\\\"> <\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L45\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"45\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC45\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">void initDist(){ pinMode(TRIGGER_PIN, OUTPUT); pinMode(ECHO_PIN, INPUT);}<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L46\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"46\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC46\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L47\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"47\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC47\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\/** get the distance in centi meter*\/<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L48\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"48\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC48\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">double getDistCM(long dur){ return (dur \/ SC_CM);}<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L49\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"49\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC49\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L50\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"50\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC50\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\/** get the distance in milli meter*\/<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L51\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"51\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC51\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">long getDistMM(long dur) { return (dur \/ SC_MM);}<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L52\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"52\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC52\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\/\/ *************************************************<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L53\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"53\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC53\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L54\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"54\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC54\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">void setup(){<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L55\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"55\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC55\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">  Serial.begin(9600); <\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L56\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"56\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC56\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">  while(!Serial){delay(1);} \/\/ wait until the serial is ok (only for Leonardo)<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L57\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"57\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC57\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">  initDist();<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L58\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"58\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC58\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">}<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L59\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"59\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC59\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">\\n<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L60\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"60\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC60\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">void loop (){<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L61\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"61\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC61\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">  <\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L62\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"62\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC62\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">  Serial.print(&quot;Current distance is: &quot;); <\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L63\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"63\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC63\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">  long dur = getDur(5);<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L64\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"64\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC64\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">  if(dur &gt; 0) Serial.println(getDistCM(dur));<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L65\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"65\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC65\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">  else if( dur == TO_BIG) Serial.println(&quot;TO FAR&quot;);<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L66\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"66\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC66\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">  else if( dur == TO_SMALL) Serial.println(&quot;TO NEAR&quot;);<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L67\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"67\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC67\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">  delay(1000); \/\/ wait a second<\\\/td>\\n        <\\\/tr>\\n        <\/p>\n<tr>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-L68\\\" class=\\\"blob-num js-line-number js-blob-rnum\\\" data-line-number=\\\"68\\\"><\\\/td>\\n          <\/p>\n<td id=\\\"file-hcsr04test-ino-LC68\\\" class=\\\"blob-code blob-code-inner js-file-line\\\">}<\\\/td>\\n        <\\\/tr>\\n  <\\\/table>\\n<\\\/div>\\n\\n\\n    <\\\/div>\\n\\n  <\\\/div>\\n\\n<\\\/div>\\n\\n      <\\\/div>\\n      <\/p>\n<div class=\\\"gist-meta\\\">\\n        <a href=\\\"https:\/\/gist.github.com\/sfambach\/e4acc49c7a767fc160d487519b484e59\/raw\/5c024dc03df3adb74a80cd1e88ada88145662c8d\/HCSR04Test.ino\\\" style=\\\"float:right\\\" class=\\\"Link--inTextBlock\\\">view raw<\\\/a>\\n        <a href=\\\"https:\/\/gist.github.com\/sfambach\/e4acc49c7a767fc160d487519b484e59#file-hcsr04test-ino\\\" class=\\\"Link--inTextBlock\\\">\\n          HCSR04Test.ino\\n        <\\\/a>\\n        hosted with &#10084; by <a class=\\\"Link--inTextBlock\\\" href=\\\"https:\/\/github.com\\\">GitHub<\\\/a>\\n      <\\\/div>\\n    <\\\/div>\\n<\\\/div>\\n')\n<\/script><\/p>\n<div style='margin-bottom:1em;padding:0;'><noscript><code><\/p>\n<pre style='overflow:auto;margin:0;padding:0;border:1px solid #DDD;'>\/\/ *************************************************\n\/\/ SR04 Ultrasonic Distance Sensor\n\/\/ time to distance conversion is\n\/\/ divide by 2 (both ways to the obstical and back)\n\/\/ divide by sonic constant 29.1\n#define TRIGGER_PIN   3\n#define ECHO_PIN      2    \n#define SC_MM         5.82\n#define SC_CM         58.2\n\n#define MAX_DUR       300 * 58.2 \/\/ ~3m in dur \n#define MIN_DUR       2 * 58.2 \/\/ ~2cm in dur\n#define TO_SMALL      -1\n#define TO_BIG        -2\n#define INT_TO_SMALL  -3\n\n\n\/** get duration *\/\nlong getDur(int interval){\n  if(interval &lt; 1) return -3;\n  long dur=0;\n  \n  for(int i = 0; i &lt; interval; i++ ){\n    \/\/ init sensor\n    digitalWrite(TRIGGER_PIN, LOW);\n    delayMicroseconds(3);\n    noInterrupts();  \n  \n    \/\/ start 10 us pulse\n    digitalWrite(TRIGGER_PIN, HIGH); \n    delayMicroseconds(10);\n    digitalWrite(TRIGGER_PIN, LOW);\n    \n    dur += pulseIn(ECHO_PIN, HIGH); \/\/ determine the time\n    interrupts();\n    \n  }\n\n  dur \/= interval;\n  if(dur &gt; MAX_DUR ) { return TO_BIG;}\n \/\/ else if (dur &lt; MIN_DUR){ return TO_SMALL;}\n  return dur;\n}\n \nvoid initDist(){ pinMode(TRIGGER_PIN, OUTPUT); pinMode(ECHO_PIN, INPUT);}\n\n\/** get the distance in centi meter*\/\ndouble getDistCM(long dur){ return (dur \/ SC_CM);}\n\n\/** get the distance in milli meter*\/\nlong getDistMM(long dur) { return (dur \/ SC_MM);}\n\/\/ *************************************************\n\nvoid setup(){\n  Serial.begin(9600); \n  while(!Serial){delay(1);} \/\/ wait until the serial is ok (only for Leonardo)\n  initDist();\n}\n\nvoid loop (){\n  \n  Serial.print(&quot;Current distance is: &quot;); \n  long dur = getDur(5);\n  if(dur &gt; 0) Serial.println(getDistCM(dur));\n  else if( dur == TO_BIG) Serial.println(&quot;TO FAR&quot;);\n  else if( dur == TO_SMALL) Serial.println(&quot;TO NEAR&quot;);\n  delay(1000); \/\/ wait a second\n}<\/pre>\n<p><\/code><\/noscript><\/div>\n<\/div>\n\n\n\n<p><a href=\"https:\/\/fambach.net\/wp-content\/uploads\/2018\/03\/SR04Test.ino\">SR04Test.ino<\/a><\/p>\n\n\n\n<p>Hier k\u00f6nnte jetzt noch der Median angewendet werden um Ausreisser heraus zu nehmen.<\/p>\n\n\n\n<p>In der Praxis bietet es sich wahrscheinlich an die Millimeter weg zu k\u00fcrzen und nur den Zentimeterwerte, die wesentlich geringeren Schwankungen unterliegen, zu verwenden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Output<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"616\" height=\"412\" src=\"https:\/\/fambach.net\/wp-content\/uploads\/2018\/03\/2018-03-24-11_52_04-OuputSR04Test.png\" alt=\"\" class=\"wp-image-758\" srcset=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/03\/2018-03-24-11_52_04-OuputSR04Test.png 616w, https:\/\/www.fambach.net\/wp-content\/uploads\/2018\/03\/2018-03-24-11_52_04-OuputSR04Test-300x201.png 300w\" sizes=\"(max-width: 599px) calc(100vw - 50px), (max-width: 767px) calc(100vw - 70px), (max-width: 991px) 429px, (max-width: 1199px) 637px, 354px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Related Posts<\/h2>\n\n\n<div class=\"display-posts-listing\">\n<div class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/ftmini-laser\/\">TF Mini Laser-Entfernungsmesser<\/a><\/div>\n<div class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/gy-530-vl53l0x-laserentfernungsmesser\/\">GY-530 VL53L0X Laser Rangefinder<\/a><\/div>\n<div class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/rc-auto-mit-ps2-controller\/\">RC car with PS2 controller<\/a><\/div>\n<div class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/ardunino-mit-dht10-3\/\">Arduino \u2013 HC-SR04 Distance Sensor<\/a><\/div>\n<div class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/raspberry-pi-3-us-100\/\">Controlling the US-100 distance sensor with a Raspberry Pi 3<\/a><\/div>\n<div class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/us-100\/\">US-100<\/a><\/div>\n<div class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/sr-04-ultraschall-entfernungsmesser\/\">HC-SR04 Entfernungsmesser<\/a><\/div>\n<div class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/us-015-ultraschall-entfernungsmesser\/\">US-015<\/a><\/div>\n<\/div>\n\n\n\n<h1 class=\"wp-block-heading\">Sources<\/h1>\n\n\n\n<figure class=\"wp-block-embed-wordpress wp-block-embed is-type-wp-embed is-provider-mikrocontroller-elektronik-de\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"4E9d0wBXwa\"><a href=\"https:\/\/www.mikrocontroller-elektronik.de\/ultraschallsensor-hc-sr04\/\">Ultraschall Sensor HC-SR04 und kompatible Ultraschall-Module<\/a><\/blockquote><iframe title=\"&#8222;Ultraschall Sensor HC-SR04 und kompatible Ultraschall-Module&#8220; &#8212; Mikrocontroller-Elektronik.de\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" src=\"https:\/\/www.mikrocontroller-elektronik.de\/ultraschallsensor-hc-sr04\/embed\/#?secret=4E9d0wBXwa\" data-secret=\"4E9d0wBXwa\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>","protected":false},"excerpt":{"rendered":"<p>Ansteuerung des HC-SR04 Ultraschall-Entfernungsmesser mit Hilfe des Arduino UNO. Grundlagen Aufbau Schaltung (Ich habe nachtr\u00e4glich noch die Pins von 0\/1 auf 2\/3 ge\u00e4ndert weil an 0\/1 noch der ISP h\u00e4ngt). Testprogramm Hier ein kleines Testprogramm. Es filtert zu kleine und zu gro\u00dfe Werte heraus und erm\u00f6glicht die Mittelwertbildung \u00fcber ein definiertes intervall. SR04Test.ino Hier k\u00f6nnte &#8230;<\/p>\n<a href=\"https:\/\/www.fambach.net\/en\/us-015-ultraschall-entfernungsmesser\/\" class=\"read-more-link\">Continue reading <span class=\"screen-reader-text\">\"US-015\"<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a>","protected":false},"author":1,"featured_media":751,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[178,180,184,210],"tags":[94,22,28,7],"modified_by":"sfambach","_links":{"self":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/743"}],"collection":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/comments?post=743"}],"version-history":[{"count":12,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/743\/revisions"}],"predecessor-version":[{"id":5494,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/743\/revisions\/5494"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media\/751"}],"wp:attachment":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media?parent=743"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/categories?post=743"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/tags?post=743"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}