2.5 移動するマウス¶
今日は、ポテンショメーターで制御されるマウスのおもちゃを作成します。
緑の旗がクリックされたとき、ステージ上のマウスが前進し、ポテンショメーターを回すと、マウスが移動の方向を変えます。
学べること¶
ポテンショメーターの原理
アナログピンと範囲の読み取り
ある範囲を別の範囲にマッピングする
スプライトの移動と方向変更
必要な部品¶
このプロジェクトでは、以下の部品が必要です。
全てのキットを購入することは確かに便利です、リンクはこちらです:
名前 |
このキットのアイテム |
リンク |
---|---|---|
3 in 1 Starter Kit |
380+ |
以下のリンクから個別に購入することもできます。
コンポーネントの紹介 |
購入リンク |
---|---|
回路の作成¶
ポテンショメーターは3端子の抵抗素子で、2つの側面ピンは5VとGNDに接続され、中央のピンはA0に接続されます。ArduinoボードのADCコンバーターによる変換後、値の範囲は0-1023です。
プログラミング¶
1. スプライトを選択する
デフォルトのスプライトを削除し、スプライトエリアの右下にある Choose a Sprite ボタンをクリックします。検索ボックスに mouse を入力し、それをクリックして追加します。
2. 変数の作成
ポテンショメータの読み取り値を保存するための変数 value を作成します。
作成すると、 value が Variables パレット内に表示され、チェックされた状態で表示されます。これは、この変数がステージに表示されることを意味します。
3. A0の値を読み取る
A0の読み取り値を変数 value に保存します。
[set my variable to 0]: 変数の値を設定します。
[read analog pin A0]: A0~A5の値を0-1023の範囲で読み取ります。
全体を読むためには、[forever]ブロックを使用する必要があります。このスクリプトをクリックして実行し、ポテンショメーターを両方向に回転させると、値の範囲が0-1023であることがわかります。
4. スプライトを移動する
[move steps]ブロックを使用してスプライトを移動します。スクリプトを実行すると、スプライトが中央から右に移動するのが見えます。
5. スプライトの方向を変える
A0の値によってスプライトの移動方向を変えます。A0の値の範囲は0-1023ですが、スプライトの回転方向は-180~180ですので、[map]ブロックを使用する必要があります。
また、スクリプトの開始時に[when green flag clicked]を追加します。
[point in direction]: スプライトの操舵角を設定します。 Motion パレットから。
[map from to]: ある範囲を別の範囲にマッピングします。