Sharp赤外線距離モジュール向けのArduinoコードとビデオ
このチュートリアルでは、Sharp製の赤外線距離モジュールを使って距離を測定し、検出した距離に応じて動作をトリガーする方法を解説します。本プロジェクトでは、ハードウェアのセットアップ方法と、距離測定を読み取り、物体が一定の範囲内に検出されたときにブザーを鳴らすArduinoコードの記述方法を示します。部品の配線方法を学び、コード内の主要な識別子(変数名やピン定義など)を理解できるようになります。

このプロジェクトでは、赤外線を発し、反射した光に基づいて物体までの距離を測定するSharpのIRセンサーを使用します。物体が検出範囲内に入るとブザーが作動し、Sharp IRモジュールの機能を簡単かつ効果的に示します。セットアップとコードの視覚的なガイドは動画(00:00)を必ず確認してください。
ハードウェアの解説
このプロジェクトの主な構成要素は、シャープ製の赤外線距離センサー、Arduinoボード、そしてブザーです。シャープの赤外線センサーは送信機と受信機で構成されており、これらが連携して距離を測定します。送信機からの赤外線が物体に当たって反射し受信機に戻ると、その光が戻るまでにかかった時間に基づいて距離を算出できます。
Arduinoはコントローラとして動作し、IRセンサーから距離測定値を読み取り、その測定値に基づいてブザーを制御します。指定した範囲内で物体が検出されるとブザーが鳴り、この構成はロボットの障害物検知などの用途に有用です。
データシートの詳細
| 製造元 | 鋭い |
|---|---|
| 部品番号 | GP2Y0A21YK0F |
| ロジック/IO電圧 | 5 V |
| 電源電圧 | 4.5~5.5 V |
| 出力電圧 | 0.4〜2.5V |
| 測定範囲 | 10~80 cm |
| 応答時間 | 50ミリ秒 |
| 出力電流 | 20 mA |
| パッケージ | モジュール |
| 備考 / バリエーション | 複数の距離範囲で利用可能 |
- 損傷を避けるため、適切な電源(4.5 - 5.5 V)を確保してください。
- 必要に応じて抵抗器を使用して電流を制限してください。
- 正確な読み取りのためにセンサーを清潔に保ってください。
- 周囲光による干渉に注意してください。
- 配線は断続的な接続が生じないよう、確実に固定してください。
配線手順

Sharp製IR距離モジュールを配線するには、モジュールのGNDピンをArduinoのGNDピンに接続します。次に、モジュールのVCCピンをArduinoの5Vピンに接続します。Sharp IRモジュールの信号出力ピンはArduinoのピン2に接続し、距離データを読み取ります。
ブザーでは、長いピン(プラス)をArduinoの8番ピンに、短いピン(マイナス)をGNDに接続してください。すべての接続が確実で、部品に正しく電源が供給されていることを確認して、正しく動作するようにしてください。
コード例とウォークスルー
以下は、ピンを定義しセンサーをセットアップするArduinoコードの簡単な抜粋です。識別子IRセンサー信号に使用されるアナログピンとして定義されます。
#define IR A0 // define signal pin
SharpIR SharpIR(IR, model); // Initialize SharpIR with the defined pinこのコードは指定されたアナログピンでSharp製IRセンサーを初期化します。識別子model使用されているセンサーの種類を指定しており、この場合はGP2Y0A21YK0Fモデルに対して1080に設定されています。
setup 関数内で、距離の測定値を監視するためにシリアル通信を開始します:
void setup() {
Serial.begin(9600); // Initialize serial communication
Serial.println("Robojax Sharp IR "); // Print message to serial monitor
}setup関数はシリアル通信を9600ボーで初期化し、Arduinoが距離データをシリアルモニタに送信して観察できるようにします。
loop() 関数内で、センサーから距離を読み取り、それを表示します:
void loop() {
int dis = SharpIR.distance(); // Read the distance
Serial.print("Mean distance: "); // Print distance to serial monitor
Serial.println(dis); // Output the distance measurement
}この抜粋は、距離を連続して読み取り、シリアルモニタに出力する方法を示しています。変数disSharp製IRセンサーで測定された距離の値を保持します。
デモンストレーション/当日の流れ
セットアップが完了すると、Sharp製IRセンサーの指定範囲内に物体が検出されるたびにブザーが鳴るはずです。シリアルモニタには「Mean distance」と、測定された距離(センチメートル)が表示されます。範囲内に物体がない場合も、モニタにその旨が表示されます(ビデオでは02:30)。
よくある落とし穴としては、センサーが正しく位置合わせされていることや、赤外線信号を遮る障害物がないことを確認する点が挙げられます。また、読み取りが不安定にならないよう電源が安定しているかを確認してください。
動画のタイムスタンプ
- 00:00- プロジェクトの紹介
- 02:30- センサー機能の実演
- 03:45- 配線の説明
- 午前05:00- コードのウォークスルー
必要かもしれないもの
-
アマゾン
リソースと参考文献
-
外部Sharp Library from RoboJob.comrobojax.com
-
外部シャープ IR GP2Y0A51SK0F データシート (PDF)global.sharp
ファイル📁
Arduinoライブラリ(zip)
-
Arduino library for sharp IR distance sensor
application/zip
フリッツィングファイル
-
sharp ir sensor GP2Y0A02YK0F
application/zip