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