Obniz로 거리 측정(HC-SR04)
15850 단어 JavaScriptobniztech
할 일
Obniz 및 초음파 거리 센서(HC-SR04)로 거리를 측정하는 JavaScript 메모
참조 정보
obniz Parts Library HC-SR04
프로비저닝
정보를 참고하는 웹사이트와 마찬가지로 초음파 거리센서(HC-SR04)를 obniz에 연결했다.
(1) 거리 측정
정보를 참고하여 소개한 사이트의 샘플은 기본적으로 모두 복사의 형식으로 제작된 것이다.브라우저에 측정 거리를 표시하는 처리가 추가되었습니다.
HC-SR04-01.html
<html lang="en">
<head>
<meta charset="utf-8" />
<script src="https://unpkg.com/[email protected]/obniz.js"></script>
</head>
<body>
<div id="dispArea"></div>
<script>
const OBNIZ_ID = 'xxxx-xxxx'; // お持ちのObniz ID を設定
const obniz = new Obniz(OBNIZ_ID);
obniz.onconnect = async function() {
const hcsr04 = obniz.wired("HC-SR04", {gnd:0, echo:1, trigger:2, vcc:3});
hcsr04.measure(function( distance ){
console.log("distance " + distance + " mm");
document.getElementById("dispArea").innerHTML = "<h1>"+ distance +" mm</h1>"
})
}
</script>
</body>
</html>
실행 화면↓ 측정 실패 시 재장착 시 좋은 일 생길 수 있음
(2) 연속 거리 측정
정보를 참고하여 소개한 사이트의 샘플은 기본적으로 모두 복사의 형식으로 제작된 것이다.브라우저에 측정 거리를 표시하는 처리가 추가되었습니다.
HC-SR04-02.html
<html lang="en">
<head>
<meta charset="utf-8" />
<script src="https://unpkg.com/[email protected]/obniz.js"></script>
</head>
<body>
<div id="dispArea"></div>
<script>
const OBNIZ_ID = 'xxxx-xxxx'; // お持ちのObniz ID を設定
const obniz = new Obniz(OBNIZ_ID);
obniz.onconnect = async function() {
const hcsr04 = obniz.wired("HC-SR04", {gnd:0, echo:1, trigger:2, vcc:3});
while(true) {
let avg = 0;
let count = 0;
for (let i=0; i<3; i++) { // measure three time. and calculate average
const val = await hcsr04.measureWait();
if (val) {
count++;
avg += val;
}
}
if (count > 1) {
avg /= count;
}
console.log(avg);
document.getElementById("dispArea").innerHTML = "<h1>"+ avg +" mm</h1>"
await obniz.wait(100);
}
}
</script>
</body>
</html>
실행 화면추기
갑자기 움직이지 않아졌어, 콘솔에.로 표시됩니다.이 소식은 전원 용량이 부족할 때 나타난다고 한다.대책을 모르면 외부 전원을 끌어올까?그럼 어떡하지??
Reference
이 문제에 관하여(Obniz로 거리 측정(HC-SR04)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/zgw426/articles/0e072dabb6e2ea텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)