2.5 移動するマウス

今日は、ポテンショメーターで制御されるマウスのおもちゃを作成します。

緑の旗がクリックされたとき、ステージ上のマウスが前進し、ポテンショメーターを回すと、マウスが移動の方向を変えます。

../_images/6_mouse.png

学べること

  • ポテンショメーターの原理

  • アナログピンと範囲の読み取り

  • ある範囲を別の範囲にマッピングする

  • スプライトの移動と方向変更

必要な部品

このプロジェクトでは、以下の部品が必要です。

全てのキットを購入することは確かに便利です、リンクはこちらです:

名前

このキットのアイテム

リンク

3 in 1 Starter Kit

380+

3 in 1 Starter Kit

以下のリンクから個別に購入することもできます。

コンポーネントの紹介

購入リンク

SunFounder R3ボード

BUY

ブレッドボード

BUY

ジャンパーワイヤー

BUY

ポテンショメータ

BUY

回路の作成

ポテンショメーターは3端子の抵抗素子で、2つの側面ピンは5VとGNDに接続され、中央のピンはA0に接続されます。ArduinoボードのADCコンバーターによる変換後、値の範囲は0-1023です。

../_images/potentiometer_circuit.png

プログラミング

1. スプライトを選択する

デフォルトのスプライトを削除し、スプライトエリアの右下にある Choose a Sprite ボタンをクリックします。検索ボックスに mouse を入力し、それをクリックして追加します。

../_images/6_sprite.png

2. 変数の作成

ポテンショメータの読み取り値を保存するための変数 value を作成します。

作成すると、 valueVariables パレット内に表示され、チェックされた状態で表示されます。これは、この変数がステージに表示されることを意味します。

../_images/6_value.png

3. A0の値を読み取る

A0の読み取り値を変数 value に保存します。

  • [set my variable to 0]: 変数の値を設定します。

  • [read analog pin A0]: A0~A5の値を0-1023の範囲で読み取ります。

../_images/6_read_a0.png

全体を読むためには、[forever]ブロックを使用する必要があります。このスクリプトをクリックして実行し、ポテンショメーターを両方向に回転させると、値の範囲が0-1023であることがわかります。

../_images/6_1023.png

4. スプライトを移動する

[move steps]ブロックを使用してスプライトを移動します。スクリプトを実行すると、スプライトが中央から右に移動するのが見えます。

../_images/6_move.png

5. スプライトの方向を変える

A0の値によってスプライトの移動方向を変えます。A0の値の範囲は0-1023ですが、スプライトの回転方向は-180~180ですので、[map]ブロックを使用する必要があります。

また、スクリプトの開始時に[when green flag clicked]を追加します。

  • [point in direction]: スプライトの操舵角を設定します。 Motion パレットから。

  • [map from to]: ある範囲を別の範囲にマッピングします。

../_images/6_direction.png