コントローラーのボタンを使用して空気圧を制御する

V5 コントローラで空気​​圧を制御するには、カスタマイズされたプロジェクトが必要です。 この記事では、VEXcode V5 プロジェクトの作成方法について説明します。


プロジェクトの構成

最初の.png

[デバイス] ボタンを選択して、[デバイス] ウィンドウを開きます。

画像8.jpg

「デバイスを追加」を選択します。

画像5.jpg

VEXcode V5 プロジェクトを開始して空気圧を制御するには、2 つのデバイスを構成する必要があります。

コントローラーデバイスを追加する必要があります。

コントローラ デバイスの設定の詳細については、VEX ライブラリの記事「 VEXcode V5 での V5 コントローラの設定」を参照してください。

画像18.jpg 画像15.jpg

 

3 線式デバイスのデジタル出力も追加する必要があります。

デジタル出力デバイスの設定の詳細については、VEX ライブラリの記事「 VEXcode V5 での 3 線デジタル入力およびデジタル出力デバイスの設定 」を参照してください。


2 つのコントローラー ボタンで空気圧シリンダーを制御

ドライバーがロボットの空気圧を制御するために使用する一般的に好まれる方法が 2 つあります。 

1 つの方法は、コントローラーの 2 つの異なるボタンを使用することです。1 つのボタンは空気圧シリンダーを伸ばすためのボタン、もう 1 つのボタンは空気圧シリンダーを縮めるためのボタンです。 以下を VEXcode V5 プロジェクトに追加して、コントローラーの 2 つのボタンを使用して空気圧シリンダーを制御できます。

画像 (15).png

センシングツールボックスから、設定されたデジタル出力ブロックを[開始時]ブロックに追加します。

[デジタル出力設定] ブロックは「低」に設定する必要があります。 これにより、空気圧シリンダーが完全に収縮した状態でプロジェクトを開始できるようになります。

L1 ハイライト.png

イベントツールボックスから[コントローラーボタンが押されたとき]ブロックを追加します。

空気圧シリンダーを延長するために使用するコントローラー ボタンを選択します。

この例ではボタン L1 が使用されています。

L1 高ハイライト.png

[set DigitalOut] ブロックを追加します。

デジタル出力設定には「高」を選択します。

これにより、コントローラーのボタン L1 が押されたときに空気圧シリンダーが伸長します。

L2 ハイライト.png

イベント ツール ボックスから、別の [コントローラー ボタンが押されたとき] ブロックを追加します。

空気圧シリンダーを格納するために使用するコントローラーのボタンを選択します。

この例ではボタン L2 が使用されています。

画像 (16).png

[set DigitalOut] ブロックを追加します。

デジタル出力設定は「低」のままにしておきます。

これにより、コントローラーのボタン L2 が押されたときに空気圧シリンダーが収縮します。

プロジェクトを保存し、V5 Robot Brain にダウンロードし、プロジェクトを実行して、コントローラーを使用して空気圧シリンダーの制御をテストします。

VEXcode V5 プロジェクトの保存、ダウンロード、実行の詳細については、VEX ライブラリの ブロック プロジェクトを開いて保存する セクションを参照してください。


単一のコントローラボタンで空気圧シリンダを制御

ドライバーがロボットの空気圧を制御するために使用するもう 1 つの好ましい方法は、単一のボタンを使用することです。ボタンを押すと空気圧シリンダーが伸び、もう一度押すと空気圧シリンダーが収縮します。 以下を VEXcode V5 プロジェクトに追加して、コントローラーの 1 つのボタンを使用して空気圧シリンダーを制御できます。

画像 (15).png

センシングツールボックスから、設定されたデジタル出力ブロックを[開始時]ブロックに追加します。

[デジタル出力設定] ブロックは「低」に設定する必要があります。 これにより、空気圧シリンダーが完全に収縮した状態でプロジェクトを開始できるようになります。

画像 (18).png

[変数] ツールボックスから [ブール値の作成] を選択します。

この例では、ブール値をdigitaloutONと呼びます。

画像 (19).png

[setdigitaloutON]ブロックを追加します。

ブール値を <true>に設定したままにします。

L1 ハイライト.png

イベント ツールボックスから {when Controller button pressed} ブロックを追加します。

空気圧シリンダーを延長するために使用するコントローラー ボタンを選択します。

この例ではボタン L1 が使用されています。

画像 (23).png

コントロール ツールボックスから [if then else] ブロックを追加します

ifthenelse デジタル ハイライト.png

if に <digitaloutON> ブール値を追加します。

ifthenelse を高く設定すると、ハイライト.png

[set DigitalOut] ブロックを C ブロックの「then」部分に追加します。

[set DigitalOut] ブロックを「高」に変更します。

画像 (20).png

[set DigitalOut] ブロックを C ブロックの「else」部分に追加します。

[set DigitalOut] ブロックは「low」のままにしておきます。

ifthenelse セット ブール false.png

[setdigitaloutON]ブロックを追加します。

ブール値を <false>に変更します。

これによりブール値が変更され、次回 L1 ボタンが押されたときに条件がコントロール C ブロックの「else」に移行します。

画像 (21).png

別の [setdigitaloutON] ブロックを追加します。

ブール値は <true>のままにします。

これによりブール値が変更され、次に L1 ボタンが押されたときに条件がコントロール C ブロックの「then」に移行します。

0.1 ハイライト.png

コントロール ツールボックスから、[if then else] C ブロックの両方のセクションに [wait] ブロックを追加します。

各 [wait] ブロックの値を (0.1) 秒に変更します。

これにより、条件がボタンが押されたことを検出するまでの短い時間が可能になります。

ボタンを押すと空気圧シリンダーが伸び、もう一度押すと空気圧シリンダーが縮みます。

プロジェクトを保存し、V5 Robot Brain にダウンロードし、プロジェクトを実行して、コントローラーを使用して空気圧シリンダーの制御をテストします。

VEXcode V5 プロジェクトの保存、ダウンロード、実行の詳細については、VEX ライブラリの ブロック プロジェクトを開いて保存する セクションを参照してください。

画像10.jpg

フィールド制御システムを利用した競技会でロボットを使用できるようにするには、空圧シリンダーを制御するブロックを競技会テンプレートのサンプル プロジェクトで再作成する必要があります。

コンペティション テンプレートの詳細については、VEX ライブラリの記事「 VEXcode V5 でブロック コンペティション テンプレートを使用する 」を参照してください。

これらのプロジェクトは、単動空気圧シリンダと複動空気圧シリンダの両方を制御するために使用できます。 2 つの空気圧シリンダが「T」フィッティングを使用してソレノイド バルブに取り付けられている場合、両方のシリンダは同じブロックのセットによって制御されます。

: V5 Robot Brain の 3 線式ポートは、プロジェクトが停止されるとデジタル入力ポートに戻ります。 残留空気圧が十分にある場合、空気圧シリンダが伸びる可能性があります。 これを回避するには、プロジェクトを停止する前に、フィンガー バルブをオフの位置に切り替えるか、シュレーダー タイヤ バルブのコアを押し下げて空気圧を解放します。

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: