1. ライブラリのインクルードとピン定義:

#include <IRremote.h>: IRremoteライブラリを読み込みます。

const int ...: 各コンポーネントが接続されているピン番号を定義しています。これにより、コードの可読性が向上し、ピンの変更が容易になります。

2. リモコンのボタンコード:

#define ...: ユーザーが指定した赤外線リモコンのHEXコードを、わかりやすい名前に定義しています。

3. setup() 関数:

pinMode(): 各ピンの役割(入力または出力)を設定します。

irrecv.enableIRIn(): 赤外線受信を開始します。

4. loop() 関数:

irrecv.decode(&results): 赤外線信号を受信し、成功した場合にtrueを返します。

switch (results.value): 受信したコードの値(results.value)に応じて、対応する動作を実行します。

irrecv.resume(): 信号の受信を再開します。

5. モータ制御関数:

goForward(), goBackward(), turnRight(), turnLeft(): 各モータのピンをHIGH/LOWに設定することで、進行方向を制御します。

stopMotors(): 両モータのピンをLOWに設定し、動きを止めます。

6. LED・スピーカー制御関数:

blinkLED(), blinkMultiLED(), blinkAllLEDs(): 指定された時間、LEDを点灯させます。

defaultAction(): その他のボタンが押された場合の動作で、モータの前進とスピーカーを同時に鳴らします。tone()関数で音を鳴らし、noTone()で止めます。

7. リセット機能:

resetArduino(): ソフトウェアでArduinoをリセットする機能です。直接的なハードウェアリセットは複雑なため、このコードではLEDの点滅でリセット状態をシミュレートしています。

このコードをArduino IDEに貼り付け、IRremoteライブラリがインストールされていることを確認してからアップロードしてください。

Licensed by Google