ArduinoとL293Dを使用したIRリモコンによるDCモーターの制御

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で)。P1AP2A方向を制御し、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] ブラックリモコンとベアモジュールを使用したデモンストレーション
142-Source for controlling a servo motor with an IR remote controller using Arduino
言語: C++
143-Source for a simple L293 motor controller using Arduino
言語: C++
コピーしました!

ファイル📁

ファイルは利用できません。