### プロジェクト7:IR受信 #### **(1)概要:** ![](./media/image-20250709133757050.png) 赤外線リモコンは日常生活のあらゆる場所で使用されていることは間違いありません。テレビ、ステレオ、ビデオレコーダー、衛星信号受信機など、様々な家庭用電化製品の制御に使用されています。赤外線リモコンは赤外線送信システムと赤外線受信システムで構成されており、すなわち赤外線リモコン本体、赤外線受信モジュール、およびデコード可能なシングルチップマイコンで構成されています。 リモコンから送信される38Kの赤外線キャリア信号は、リモコン内のエンコーディングチップによってエンコードされます。これはパイロットコード、ユーザーコード、ユーザー逆コード、データコード、およびデータ逆コードのセクションで構成されています。パルスの時間間隔を使用して0または1の信号を区別し、エンコーディングはこれらの0と1の信号で構成されています。 同じリモコンのユーザーコードは変わりませんが、データコードによってキーを区別できます。 リモコンのボタンが押されると、リモコンは赤外線キャリア信号を送信します。IR受信機が信号を受信すると、プログラムはキャリア信号をデコードして、どのキーが押されたかを判断します。MCUは受信した01信号をデコードし、リモコンのどのキーが押されたかを判断します。 ![](media/5ad0f889b39646ecb13664511479efc8.png) 使用している赤外線受信機は赤外線受信モジュールです。主に赤外線受信ヘッドで構成されており、受信、増幅、復調を統合したデバイスです。内部のICが復調を完了しており、赤外線受信から出力まで対応し、TTL信号と互換性があります。また、赤外線リモコンや赤外線データ転送に適しています。受信機で作られた赤外線受信モジュールはピンが3本のみで、信号線、VCC、GNDです。Arduinoやその他のマイコンとの通信が非常に便利です。 #### **(2)パラメータ:** - 動作電圧:3.3〜5V(DC) - インターフェース:3PIN - 出力信号:デジタル信号 - 受信角度:90度 - 周波数:38khz - 受信距離:10m モータードライブボードに統合された赤外線受信機: ![](./media/image-20250709133832650.png) **注意:** IR受信機はKeyestudio 8833モータードライブ拡張ボードに統合されているため、追加の配線は不要です。Keyestudio 8833モータードライブ拡張ボード上のIR受信機のピンはG(GND)、V(VCC)、D3です。 #### **(4)テストコード:** ブロックをドラッグしてコードを編集することもできます。以下に示します。 ![](media/cfe0841bcc9404c29519ed623195ca6a.png) ![](media/e9da5ac1d1d68eaec6db176ee61326ee.png) ![](media/5a48421831518ea8e0c00be83cf4edf4.png) ![](media/0aa28f86f26d94bdb4c951c994aa854f.png) **完全なテストコード** (**注意:** コードをアップロードする前にBluetoothモジュールを接続しないでください。コードのアップロードもシリアル通信を使用するため、Bluetoothシリアル通信と競合が発生し、アップロードが失敗する可能性があります。) ![](media/90978855cddd94c161f9ed02f85b0674.png) #### **(5)テスト結果:** コードを開発ボードにアップロードし、ボーレートを9600に設定します。リモコンを取り出し、赤外線受信センサーに向けて、ボタンを押して信号を送信します。対応するキー値が表示されます。キーを長押しすると、文字化けした「FFFFFFFF」が表示されやすくなります。 ![](media/5c01c594a5a11511cf52466eb5f27e45.png) 以下にkeyestudioリモコンの各キー値を一覧にしました。参考用としてご活用ください。 ![](media/ebcf0cb2055f7784505f76ceeaef9f47.jpeg) #### **(6)応用練習:** IRリモコンのキー値のデコードができました。次に、これを使用してLEDライトのオン・オフを制御してみましょう。LEDライトモジュールをD9ピンに接続する必要があります。一方、赤外線受信機のピン位置は変わりません。リモコンのOKボタンを押すと、D9に接続されたLEDが点灯し、OKボタンをもう一度押すと、LEDが消灯します。 ![](media/e05da7ef9e7b6f63f414f2ca7e3f4ee3.png) ブロックをドラッグしてコードを編集することもできます。以下に示します。 (1)![](media/cfe0841bcc9404c29519ed623195ca6a.png) (2)![](media/e9da5ac1d1d68eaec6db176ee61326ee.png) (3)![](media/ba67c48d67b1c9753fca82964c9dddc7.png) (4) ![](media/0aa28f86f26d94bdb4c951c994aa854f.png) (5)![](media/f8b75df8ccea3efe1cd3ea383b0f88f2.png) (6)![](media/7406d60c93cdba0b13ded27cba718ec7.png) (7)![](media/d7be3fa06a1456d46472fffd61823c73.png) **完全なテストコード** (**注意:** コードをアップロードする前にBluetoothモジュールを接続しないでください。コードのアップロードもシリアル通信を使用するため、Bluetoothシリアル通信と競合が発生し、アップロードが失敗する可能性があります。) ![](media/57149c79243ff22aa00ff2c54dd4f70b.png) コードを開発ボードにアップロードし、リモコンの「OK」キーを押してLEDのオン・オフを切り替えます。 ![](./media/img-20240117092532.png)