ArduinoとL293Dを使用したIRリモコンによるDCモーターの制御
このプロジェクトは、赤外線(IR)リモコン、Arduino Uno、およびL293Dモータードライバーチップを使用して、DCモーターの方向と速度を制御する方法を示しています。この構成により、モーターを精密に制御できるため、さまざまなアプリケーションに適しています。
このプロジェクトは、あなたのDIYエレクトロニクスの取り組みの可能性の世界を開きます。始めるためのいくつかのアイデアを紹介します:
- リモートコントロールロボット:IRリモコンを使って小型ロボットの動きを制御します。
- 自動カーテンシステム:カーテンやブラインドをリモートで開閉します。
- インタラクティブアートインスタレーションIRリモコンで操作される可動部分を持つダイナミックなアート作品を作成してください。
- パン・ティルトシステム:IRリモコンを使ってカメラやセンサーのパンとチルトを制御します。
ハードウェア/コンポーネント
- アルディーノウノ
- L293D モータードライバーIC
- DCモーター
- IRリモコンとレシーバー
- ダイオード (1N4001 x4)
- 接続ワイヤー
- 電源(例:モーター用の9Vバッテリー)
配線ガイド
%%配線%%
(in video at 02:14)
L293Dチップは、モーター用にArduinoと外部電源の両方への接続を必要とします。ダイオードはフライバック保護に使用されます。IRレシーバーはArduinoの5VおよびGNDピンに接続され、信号ピンはデジタルピン11に接続されています(コード内で設定可能)。モーターはL293Dの出力ピンに接続され、これらはArduinoによって制御されます。
コードの説明
(動画内 07:30 にて)
提供されたArduinoコードは、IRremoteライブラリを使用してIRリモコンからの信号をデコードします。コード内の重要な設定可能なパラメータには次のものが含まれます:
const char type ='B';// W for white, B for black. Must keep single quotes like 'B' or 'W'
const boolean PCB = 0;// if receiver is PCB set to 1, if not set to 0. See video for details
設定するtypeリモコンを白の場合は'W'、黒の場合は'B'に設定します(ビデオの07:41にて)。PCBIR受信機がPCBを持っている場合は変数を1に、裸のモジュールの場合は0に設定する必要があります(ビデオの07:50で)。
const String RIGHT=">";// move motor to the right (CW) with this key on remote
const String LEFT ="<";// move motor to the left (CCW) with this key on remote
const String STOP ="OK";// stop motor with this key on remote
これらの行は、モーターを制御するためのIRリモコンのボタンラベルを定義しています。これらがリモコンのラベルと一致することを確認してください(ビデオの08:12参照)。これらをカスタマイズして、リモコンの異なるボタンを使用することもできます。
#define P1A 2 // define pin 2 as for P1A
#define P2A 7 // define pin 7 as for P2A
#define EN12 8 // define pin 8 as for 1,2EN enable
int RECV_PIN = 11;
これらの行は、L293Dモータードライバを制御するために使用されるArduinoのピンを定義しています(動画の09:52で)。P1AとP2A方向を制御し、EN12モーターを動かします。RECV_PINIR受信機の信号出力に接続されているピンです(動画の06:52)。異なるピンを使用している場合はこれを変更してください。
ライブプロジェクト/デモンストレーション
(in video at 14:15)
この動画はプロジェクトの実演を示しており、DCモーターがIRリモコンのコマンドにどのように反応するかを示しています。デモでは、モーターの時計回りと反時計回りの回転を制御する方法や、異なるリモコンのボタンを使用してモーターを停止させる方法が示されています。
章
- [00:00] はじめにとプロジェクトの概要
- プロジェクトのコンポーネントと前提条件
- [02:14] 配線の説明
- [07:30] コードの説明と設定
- [14:15] ブラックリモートとPCBによるプロジェクトデモンストレーション
- [16:04] シルバーリモートとPCBを使用したデモンストレーション
- [17:42] シルバーリモートとベアモジュールのデモンストレーション
- [18:23] ブラックリモコンとベアモジュールを使用したデモンストレーション
リソースと参考文献
-
外部Arduino用ライブラリをダウンロード (GitHub)github.com
ファイル📁
ファイルは利用できません。