3.1 車をテストする¶
このセクションでは、車を前進させるためのスクリプトの書き方を学びますが、まずは カープロジェクト を参照して車の組み立て方や基本的な理解を得る必要があります。
プロジェクトを開始する前に、アップロードモード で PictoBlox を使用する手順を知っておく必要があります。
必要な部品¶
このプロジェクトでは、以下の部品が必要です。
キットでまとめて購入すると便利です。以下にリンクを掲載しています。
名前 |
このキットのアイテム |
リンク |
---|---|---|
3 in 1 Starter Kit |
380+ |
以下のリンクから、部品を個別に購入することもできます。
コンポーネントの紹介 |
購入リンク |
---|---|
- |
回路の作成¶
L298N モータードライバモジュールは、DCモーターやステッピングモーターを駆動するための高出力モータードライバモジュールです。L298N モジュールは、最大4つの DC モーターや、2つの DC モーターの方向と速度を制御することができます。
以下の図に従って、L298N モジュールと R3 ボードの間にワイヤを接続してください。
L298N |
R3 ボード |
モーター |
---|---|---|
IN1 |
5 |
|
IN2 |
6 |
|
IN3 |
9 |
|
IN4 |
10 |
|
OUT1 |
右モーターの黒ワイヤ |
|
OUT2 |
右モーターの赤ワイヤ |
|
OUT3 |
左モーターの黒ワイヤ |
|
OUT4 |
左モーターの赤ワイヤ |
プログラミング¶
1. 車を前進させる
上記の配線に基づいて、ピン5と6は右モーターの回転を制御するために使用され、ピン9と10は左モーターの回転を制御するために使用されることがわかります。それでは、車を前進させるスクリプトを書いてみましょう。
Arduino Unoをボードとして選択した後、 アップロードモード に切り替え、以下の図に従ってスクリプトを書いてください。
Upload Code ボタンをクリックして、R3 ボードにコードをアップロードします。完了すると、車の2つのモーターが前進します(車を地面に置くと、直線上で前進しますが、2つのモーターの速度が少し異なるため、カーブするかもしれません)。
もし両方のモーターが前進しない、または以下の状況が発生した場合、2つのモーターの配線を調整する必要があります。
両方のモーターが同時に後退する場合(左モーターが時計回り、右モーターが反時計回りに回転する場合)、左と右のモーターの配線を同時に交換します。OUT1とOUT2、OUT3とOUT4を交換します。
左モーターが後退する場合(時計回りの回転)、左モーターのOUT3とOUT4の配線を交換します。
右モーターが後退する場合(反時計回りの回転)、右モーターのOUT1とOUT1の配線を交換します。
2. ブロックを作成
スクリプトをよりクリーンで使いやすくするため、前進の動作を制御するすべてのブロックを1つのブロックにまとめ、使用するときはこのブロックを直接呼び出します。
My Blocks パレットの Make a Block をクリックします。
ブロックの名前を forward に設定し、 Add an input にチェックを入れ、入力名を speed に設定します。
車を前進させるためのブロックを forward にドラッグ&ドロップします。pin6とpin9にパラメーター speed を追加する必要があります。
作成したブロックを [Forward] ブロックの forward で呼び出します。Uploadモードでは、最初に [When Arduino Uno starts up] ブロックを追加する必要があります。
モーターの回転速度の範囲は100~255です。
3. モーターの速度を調整
2つのモーターの速度にわずかな違いがあるため、車がまっすぐ進むことができない場合、車ができるだけまっすぐ進むように、左と右のモーターに異なる速度を設定します。
私の車は右前方にゆっくりと進むので、左のモーターの速度を少し下げます。