arduino unoを使用してこのラインフォロワーロボットを設計した後、私はこのコンピューター制御ロボットを開発しました。それはコンピューターを介して制御することができ、特定のキーボードキーを使用して移動することができます。これは、前のプロジェクトであるPC Controlled HomeAutomationですでに説明したシリアル通信上で実行されます。
必要なコンポーネント
- Arduino UNO
- DCモーター
- ラップトップ
- モータードライバーL293D
- 9ボルト電池
- バッテリーコネクター
- USBケーブル
- ロボットシャーシ
コンセプトと詳細
このPC制御ロボット回路は、センサーセクション、制御セクション、ドライバーセクションのさまざまなセグメントに分割できます。それらを別々に見てみましょう。
コマンドまたはPCセクション:このセクションには、PC、ラップトップなどのシリアル通信デバイスがあります。このプロジェクトでは、デモンストレーションにラップトップを使用しました。ハイパーターミナル、またはハイパーターミナル、ヘラクレス、パテ、arduinoのシリアルターミナルなどの他のシリアルターミナルで文字を入力して、arduinoにコマンドを送信します。
制御セクション: Arduino UNOは、ロボットのプロセス全体を制御するために使用されます。Arduinoはラップトップから送信されたコマンドを読み取り、定義された文字またはコマンドと比較します。コマンドが一致する場合、arduinoは適切なコマンドをドライバーセクションに送信します。
ドライバーセクション:ドライバーセクションは、L293DモータードライバーICと2つのDCモーターで構成されています。arduinoはモーターに十分な電圧と電流を供給しないため、モータードライバーはモーターの駆動に使用されます。そこで、モーターに十分な電圧と電流を得るためにモータードライバー回路を追加します。モータードライバーは、arduinoからコマンドを収集することにより、コマンドに従ってモーターを駆動します。
ワーキング
PCからarduinoにシリアル通信を介して送信されるいくつかのコマンドによって実行されるようにPC制御ロボットをプログラムしました。(以下のプログラミングセクションを参照)
「f」または「F」を押すと、ロボットは前進を開始し、次のコマンドが与えられるまで移動を続けます。
「b」または「B」を押すと、ロボットは状態を変更し、他のコマンドが与えられるまで後方に移動し始めます。
「l」または「L」を押すと、ロボットは次のコマンドまで左に曲がります。
「r」または「R」を押すと、ロボットは右に曲がります。
そして、ロボットを停止するために、arduinoに「s」または「S」コマンドを与えます。
回路図と説明
ArduinoベースのPC制御ロボットの回路図を上の図に示します。ロボットを動かすためにarduinoに接続されているのはモータードライバーICだけです。ロボットにコマンドを送信するために、ラップトップでUSBケーブルを使用して内蔵のシリアルデータコンバーターを使用しました。モータードライバーの入力ピン2、7、10、および15は、それぞれarduinoデジタルピン番号6、5、4、および3に接続されています。ここでは、2つのDCモーターを使用してロボットを駆動し、1つのモーターをモータードライバー3と6の出力ピンに接続し、もう1つのモーターを11と14に接続しました。9ボルトのバッテリーを使用して、モーターを駆動するモータードライバーに電力を供給します。
プログラムの説明
まずプログラミングでは、モーターの出力ピンを定義しました。
そして、セットアップでは、シリアル通信を固定して開始するための指示を与えました。
その後、「serial.read()」関数を読み取ってシリアルバッファを読み取り、その値を一時変数に取り込みます。次に、「if」ステートメントを使用してロボットを操作することにより、定義されたコマンドと一致させます。
このPC制御ロボットを動かすには、以下の表に示す4つの条件があります。
入力コマンド |
出力 |
ロボットの動き |
||||
左モーター |
右モーター |
|||||
|
|
|
|
|||
S。 |
|
|
|
|
|
やめる |
|
|
|
|
|
|
右に曲がる |
|
|
|
|
|
|
左折してください |
|
|
|
|
|
|
後方 |
|
|
|
|
|
|
フォワード |
上記の表の条件に従ってプログラムを作成しました。完全なコードを以下に示します。