2.10 振り子

このプロジェクトでは、矢印の振り子を作りながら、サーボが回転に従います。

../_images/12_pun.png

学べること

  • サーボの動作と角度の範囲

  • スプライトを描き、中心点を尾に配置する。

必要な部品

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

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

名前

このキットのアイテム

リンク

3 in 1 Starter Kit

380+

3 in 1 Starter Kit

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

コンポーネントの紹介

購入リンク

SunFounder R3ボード

BUY

ジャンパーワイヤー

BUY

サーボ

BUY

回路の作成

サーボは、180度しか回転できない歯車式のモーターです。回路板からの電気パルスで制御されます。これらのパルスは、サーボにどの位置に移動するべきかを指示します。

サーボには3本のワイヤーがあります。茶色のワイヤーはGND、赤はVCC(3.3Vに接続)、オレンジは信号ワイヤーです。角度の範囲は0-180度です。

以下の図に従って回路を組み立ててください。

../_images/servo_circuit.png

プログラミング

1. スプライトの描画

デフォルトのスプライトを削除し、スプライトボタンを選択して Paint をクリックすると、空のスプライト Sprite1 が表示されます。

../_images/12_paint1.png

開かれた Costumes ページで、 Line tool を使用して矢印を描きます。

注釈

  • キャンバスの中心から外向きに矢印を描き始めることで、矢印が中心点を原点として円を描くように回転します。

  • Shiftキーを押しながら、ラインの角度を直線または45度にします。

../_images/12_paint2.png

描画後、 arrow スプライトがステージに表示されます。それを arrow と名付けます。その後、 Direction の後の数字をクリックすると、円形のダイヤルが表示されます。この矢印をドラッグして、ステージ上の arrow スプライトが尾を原点として回転するかどうかを確認します。

../_images/12_paint3.png

arrow スプライトを左から右に振るためには、角度の範囲は-90から-180、180から90です。

../_images/12_paint4.png ../_images/12_paint5.png

2. 変数の作成

servo という名前の変数を作成します。これは角度の値を格納し、初期値を270に設定します。

../_images/12_servo.png

3. 左から右に振る

arrow スプライトが左の-90度の位置から右の90度の位置まで振られるようにします。

[repeat]ブロックを使って、毎回変数に-10を加えると、18回で90度になります。それから[point in block]を使って、矢印スプライトがこれらの角度に向かうようにします。

スプライトの回転角度は-180 ~ 180であるため、この範囲外の角度は以下の条件で変換されます。

  • 角度 > 180の場合、角度 -360。

../_images/12_servo1.png

4. サーボを回転させる

緑の旗をクリックすると、矢印がすぐに右に回転してから左に戻るのがわかります。そのため、ここで[wait seconds]ブロックを使用して、回転を遅くします。また、[set servo on to angle]ブロックを使用して、Arduinoボードに接続されたサーボを特定の角度に回転させます。

../_images/12_servo2.png

5. 右から左への振り

同じ方法で、サーボと arrow スプライトを右から左にゆっくりと回転させます。

  • 角度 > 180の場合、角度 -360。

../_images/12_servo3.png