赤外線リモコンを使用してサーボ モーターを制御する方法 (完全なステップバイステップ ガイド)_BLDC_Industry Insights_Kpower
家 > 業界の洞察 >BLDC
テクニカルサポート

製品サポート

赤外線リモコンを使用してサーボモーターを制御する方法 (完全なステップバイステップガイド)

発行済み 2026-04-19

このガイドは、システムを制御するための完全で実用的なソリューションを提供します。サーボ標準の赤外線 (IR) リモコンを使用したモーター。以下の手順に従うことで、正確に位置を決めることができます。サーボ一般的な IR リモコン (テレビやセットトップ ボックスのリモコンなど) のボタンを押してモーターを動かします。ブランド固有のコンポーネントは必要なく、その手順は広く入手可能な低コストのモジュールに基づいています。

01コアコンセプトとその仕組み

IR リモコンは目に見えない光のパルスを放射します。 IR 受信機はこれらのパルスを検出し、各ボタンに固有のデジタル コードに変換します。マイクロコントローラーはこのコードを読み取り、対応するパルス幅変調 (PWM) 信号をサーボモーターのシャフトを特定の角度に設定します。

シナリオ例:一般的な TV リモコンの「音量を上げる」ボタンはサーボを 90° 回転させます (たとえば、小さなラッチを開きます)、「音量を下げる」ボタンはサーボを 0° に戻します。この原理は、DIY ロボット アーム、ペット自動給餌器、遠隔制御カメラ パンチルト システムなどに使用されています。

02必要なコンポーネント (ブランド名なし)

成分 代表的な仕様 量
マイコンボード 任意の一般的なボード (例: 5V ロジック、PWM 出力付き) 1
IR受信モジュール 1838B または同等品 (キャリア周波数 38kHz) 1
サーボモーター 標準 5V アナログ サーボ (例: SG90 サイズ、0° ~ 180°) 1
赤外線リモコン 家庭用リモコン (テレビ、DVD、エアコン) 1
ジャンパー線 男性から女性、または男性から男性 6–8
電源 5V DC (USBまたはバッテリーパック) 1

重要:ほとんどのサーボはかなりの電流 (200 ~ 500 mA) を消費します。 500 mA を超える電力が必要な場合は、マイクロコントローラーの 5V ピンからサーボに直接電力を供給しないでください。共通グラウンドを持つ外部 5V 電源を使用してください。

03配線接続 (検証済みで信頼できる)

以下のようにコンポーネントを接続します。この配線は標準の 5V システムでテストされています。

IR レシーバー モジュール (平らな面から見た):

左ピン:信号→マイコンデジタルピン11(例)

センターピン:GND→共通グランド

右ピン:VCC→5V出力

サーボモーター:

茶/黒線:GND→共通アース

赤い線: 5V → 外部 5V 電源 (または小型サーボの場合のみマイクロコントローラー 5V)

オレンジ/黄色の線: 信号 → マイコン PWM ピン 9 (例)

共通点:外部電源のGNDをマイコンのGNDに接続してください。これは安定した動作のために必須です。

04段階的な手順

ステップ 1: リモコンのボタン コードを特定する

すべての IR リモコンは異なるコードを送信します。まず、特定のリモコンからコードを読み取る必要があります。

典型的なケース:Sony TV のリモコンが送信する可能性があります0x10「1」ボタンの場合は、Samsung のリモコンが送信します。0x80。コードはボタンのラベルではなく、ボタン + リモコンのブランドに固有の 16 進数です。

アクション:単純な IR デコーダ スケッチ (「IRremote」などの一般的なライブラリで利用可能) をマイクロコントローラにアップロードします。シリアル モニターを開き、使用する各ボタンを押して、コードを書き留めます。例えば:

上矢印→0xFF629D

下矢印→0xFFA857

OK/選択→0xFF02FD

ステップ 2: ボタン コードをサーボ角度にマッピングする

どのボタンでサーボをどの角度に動かすかを決めます。標準のサーボ角度は 0° ~ 180° です。

マッピングの例 (ステップ 1 のコードを使用):

ボタン0xFF629D→ サーボ角度0°

ボタン0xFFA857→ サーボ角90°

ボタン0xFF02FD→ サーボ角180°

ステップ 3: 制御コードを作成する

以下は、一般的な IRremote ライブラリ (バージョン 3.x 以降) で動作する一般的なコード例です。交換するREMOTE_CODE_1, REMOTE_CODE_2など、ステップ 1 の実際のコードを使用します。

#含む#含むconst int IR_PIN = 11; const int SERVO_PIN = 9; IRrecv irrecv(IR_PIN); decode_results 結果;サーボmyServo; // これらをリモコンの実際のコード (ステップ 1 の 16 進値) に置き換えます const unsigned long CODE_ANGLE_0 = 0xFF629D; // 例、上ボタン const unsigned long CODE_ANGLE_90 = 0xFFA857; // 例: 下ボタン const unsigned long CODE_ANGLE_180 = 0xFF02FD; // 例: OK ボタン void setup() { Serial.begin(9600); irrecv.enableIRIn(); // IR レシーバーを開始 myServo.attach(SERVO_PIN); myServo.write(0); // 0°から開始 Serial.println("準備完了。リモコンのボタンを押してください。"); void loop() { if (irrecv.decode(&results)) { unsigned long selectedCode = results.value; } Serial.print("受信コード: 0x"); Serial.println(受信コード, 16 進数); // 受信したコードをサーボ角度にマッピング if (receivedCode == CODE_ANGLE_0) { myServo.write(0); Serial.println("サーボ → 0°"); } else if (receivedCode == CODE_ANGLE_90) { myServo.write(90); Serial.println("サーボ → 90°"); } else if (receivedCode == CODE_ANGLE_180) { myServo.write(180); Serial.println("サーボ → 180°"); } else { Serial.println("マップされていないボタン。無視されます。"); irrecv.resume(); // 次の信号を待ちます } }

注記:リモコンが別のプロトコル (NEC、Sony、RC5 など) を使用している場合、ライブラリはそれを自動的に検出します。上記のコードは、ほとんどの消費者向けリモコンで機能します。

ステップ 4: テストと校正

1. 回路に電力を供給します (必要に応じて外部サーボ電力)。

2. シリアル モニターを 9600 ボーで開きます。

3. マップされたボタンを押します。サーボは 0.5 秒以内にプリセット角度に移動します。

4. サーボがジッターする場合、または動かない場合は、以下を確認してください。

共通アース接続。

サーボ電源容量(標準サーボでは最小500mA)。

IR レシーバーは、直射日光や蛍光灯にさらされないようにします (これらは干渉を引き起こします)。

05よくある問題と解決策 (実際の事例)

問題 最も考えられる原因 検証済みの修正
ボタンを押さないとサーボがランダムに動く IR受信機が照明や画面からのノイズを拾う レシーバーを黒いテープでシールドするか、レシーバーの近くの5VとGNDの間に100µFのコンデンサを追加します。
一部のボタンは機能しますが、その他のボタンは機能しません リモコンは、押し続けたボタンに対して「繰り返しコード」(例: 0xFFFFFFFF) を送信します。 繰り返しコードを無視するようにコードを変更します。if (受信コード == 0xFFFFFFFF) を返します。
サーボは一度だけ動いて停止します サーボ電源のブラウンアウト 大きなコンデンサ (470µF) を備えた外部 5V 電源 (2A 推奨) を使用します。
信号がまったく検出されない 間違った IR レシーバー ピンまたは不足しているライブラリ ピンの接続を再確認してください。信頼できるリポジトリから最新の IRremote ライブラリをインストールする

06プロジェクトの拡大 (実行可能な次のステップ)

核心的な結論を改めて述べます:低コストの IR レシーバーおよびマイクロコントローラーと組み合わせた標準の IR リモートにより、独自のハードウェアを使用せずに正確なワイヤレス サーボ制御が可能になります。

実装を強化するための 3 つの実用的な推奨事項:

1. 複数のサーボを追加します。サーボ オブジェクトの配列を使用し、異なるボタンを異なるサーボに割り当てます。たとえば、ボタン「1」はサーボ A を 0°に制御し、ボタン「2」はサーボ B を 45°に制御します。

2. スムーズな動きを実装します。交換するサーボライト(角度)角度を段階的に増加させるループを使用します (例: 現在の角度から 15 ミリ秒の遅延で 1° ずつ増加する目標角度まで)。これにより、プロフェッショナルで段階的な動きが生まれます。

3. ボタンのマッピングを EEPROM に保存します。コードを再アップロードせずに新しいボタンを学習できる小さな調整ルーチンを作成します。これは、元のリモコンを紛失して別のブランドに切り替えた場合に特に便利です。

最終検証:プロジェクトを実際のアプリケーション (リモコンのドア ラッチやロボット グリッパーなど) にデプロイする前に、すべてのボタンの押下をそれぞれ少なくとも 50 回テストしてください。 IR 信号は物体や明るい光によってブロックされる可能性があります。システムが動作していることを確認するために、視覚的なインジケーター (コードを受信すると点滅する LED など) を常に含めてください。

更新時間:2026-04-19

未来に力を与える

お客様の製品に適したモーターまたはギアボックスを推奨するには、Kpower の製品スペシャリストにお問い合わせください。

Kpowerにメールする
お問い合わせを送信
WhatsApp メッセージ
+86 0769 8399 3238