Arduinoで作ろう(9) 超音波距離センサ HC-SR04
超音波距離センサHC-SR04を使うと,2~400cmにある対象物までの距離を測ることができます。測距の原理は次のようになっています。
(1) トリガ端子(trig)を10us以上Highにしてセンサモジュールから40kHzのパルスを8回送信する。
(2) 対象物で反射して戻ってきた超音波を受信すると,エコー端子(echo)がHighになる。
(3) pulseIn関数はエコー端子がHIGHになって再びLOWに戻るまでの時間を測定して返す。
(4) 音速×(エコー端子がHighになっている時間÷2) で,対象物までの距離を計算する。
HC-SR04には不具合のある製品があるようです。僕のがまさにそうでした(^^;) ご注意ください。
スケッチはこちら→ 20180611.ino
/* 超音波センサHC-SR04 I2C接続LCD(AQM1602)使用 */#define trig 6
#define echo 7
#include <Wire.h>
#include <ST7032.h>
ST7032 lcd;
int time;
float distance;void setup() {
lcd.begin(16, 2);
lcd.setContrast(30);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
}void loop() {
digitalWrite(trig, LOW);
delayMicroseconds(1);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);time = pulseIn(echo, HIGH);
distance = (time / 2) * 0.0340;lcd.setCursor(0, 0);
lcd.print(" time:"); lcd.print(time); lcd.print("us ");
lcd.setCursor(0, 1);
lcd.print("distance:"); lcd.print(distance); lcd.print("cm ");delay(500);
}
↓ iPhoneで撮影すると,超音波の音が聞こえるんだー(・o・)
| 固定リンク | 0
「Arduino」カテゴリの記事
- ATtiny402 + LM35DZ で温度計(2024.09.21)
- aitendo「ESP-32でいいの」っぽい謎ボードでLチカ(2024.04.17)
- ATtiny202 で Hello World!(2024.03.25)
- CH32V003+I2C接続のLCDでHello World !(2023.12.29)
- CH32V003F4P6 開発ボードでLチカ(2023.12.20)