概要
Arduinoを使って超音波センサーHC-SR04の距離測定を行う方法を解説します。本記事では、HC-SR04の製品仕様や配線方法、Arduinoでの制御コードについて詳しく説明します。
超音波センサーは、距離を測定するのに便利なデバイスであり、障害物検知やロボット制御などに広く利用されています。
この記事を読むことで、ArduinoでHC-SR04を簡単に制御し、シリアルモニタに距離を表示する基本的なコードを理解できます。
超音波センサー HC-SR04 とは?
HC-SR04は、超音波を利用して物体までの距離を測定できるセンサーです。発射した超音波が物体に当たり、反射波が戻ってくるまでの時間を測定することで、2cm〜400cm (4m) の範囲で距離を計測できます。
主な仕様
- 動作電圧: 5V
- 消費電流: 15mA
- 測定可能距離: 2cm 〜 400cm
- 測定精度: ±3mm
- 超音波周波数: 40kHz
HC-SR04は、ロボットの障害物検知や自動運転の制御、距離測定アプリケーションなどに幅広く使用されています。
HC-SR04 のピン配置
HC-SR04は4つのピンを持っており、それぞれの役割は以下の通りです。
ピン | 役割 |
---|---|
VCC | 電源 (5V) |
Trig | トリガー (超音波の発射指示) |
Echo | エコー (反射波の受信) |
GND | グラウンド |
Arduino との接続例
以下のようにHC-SR04をArduinoと接続します。
HC-SR04 ピン | Arduino ピン |
---|---|
VCC | 5V |
GND | GND |
Trig | D9 |
Echo | D10 |
ArduinoでHC-SR04を制御するコード
HC-SR04をArduinoで制御し、シリアルモニタに距離を表示する基本的なコードを紹介します。
Arduinoコード
const int trigPin = 9; // Trig ピン
const int echoPin = 10; // Echo ピン
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
long duration = pulseIn(echoPin, HIGH); // Echo の HIGH の時間を取得
float distance = (duration * 0.0343) / 2; // 距離を計算(cm)
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(500); // 500ms 待機
}
コードのポイント
trigPin
に10μsのHIGHパルスを送信 → 超音波を発射。pulseIn(echoPin, HIGH)
で 反射波が戻るまでの時間を測定。- 超音波の速度 (0.0343 cm/µs) を使って距離を計算。
- シリアルモニタに距離を表示。
動作確認方法
- ArduinoをPCに接続し、コードを書き込む。
- シリアルモニタ (9600 baud) を開く。
- 距離が cm 単位で表示されることを確認。
まとめ
本記事では、超音波センサーHC-SR04の基本仕様やピン配置、Arduinoを使った距離測定のコードについて解説しました。
HC-SR04は、ロボット制御や障害物回避などのプロジェクトに役立つセンサーです。測定精度は約3mmと高く、Arduinoとの接続も簡単なため、さまざまな用途に活用できます。
次のステップとして、測定結果を利用してモーターを制御することで、障害物回避や追従システムを作成することも可能です。
ここまで読んでいただきありがとうございました。
スクールの紹介
最後に宣伝をさせてください。
技術で未来を切り拓く―あなたの夢を現実にするプログラミングスクール
Webデザインやプログラミングで成功を目指している方々にとって、このオンラインスクールは夢を叶えるための最適な場所です。皆さんのキャリアを次の段階へと引き上げるためにデザインされたこのスクールは、一人ひとりの成功を心から願い、それを実現するための全てを提供しています。ここでは、このスクールの魅力について詳しくご紹介します。
◆圧倒的な費用対効果
このオンラインプログラミングスクールは、Web系教育において最高の費用対効果を提供しています。多くの高額スクールが存在する中で、ここではリーズナブルな価格で、質の高い教材、無限のサポート、そして実際に市場で求められるスキルの習得機会を提供しています。
◆現役フリーランスの講師陣
講師たちは全員、現役のフリーランスプロフェッショナルです。市場で活躍している講師から直接、最新のトレンドや実践的なスキルを学べるのは、このスクールの大きな特徴です。
◆柔軟な学習コース
固定のコースがなく、学習者の興味やニーズに応じて自由に学習できます。進路変更も自由で、最低契約期間は1ヶ月という柔軟性を持っています。自分のペースで、自分に合った学習が可能です。
◆無制限の添削とサポート
理解できるまで、そして満足するまで、無制限に添削と質問への回答を提供しています。進路相談や技術面以外の相談にも対応しており、全面的にサポートします。
◆社長から学べる貴重な機会
デザイナー、プログラマー、ディレクター、マーケターとして豊富な経験を持つ社長から直接学べるのも、このスクールの特別な点です。他のスクールでは得られない、貴重な機会です。
◆実績作りへの徹底的なサポート
就職、転職、フリーランスとして成功するためには、高品質な実績が必要です。生徒の作品レベルを最大限に高め、市場で求められる実績を作り上げることに力を入れています。案件を取得できない生徒には、直接案件を提供することもあります。
◆メッセージからの約束
高額な授業料を支払わせて結果を出せないスクールとは違い、物理的なサポートは提供できないかもしれませんが、継続的な努力を通じて最高の結果を出せるようにサポートします。一緒に不正なスクールを撲滅し、あなたの夢を実現しましょう。
このプログラミングスクールは、Webデザインやプログラミングでの成功を目指す方々に必要な全てを備えています。今こそ、このコミュニティに参加し、あなたのキャリアを加速させる時です。
詳しくはこちら↓