2.10 光感知ボール

このプロジェクトでは、フォトレジスターを使用してステージ上のボールを上方向に飛ばします。フォトレジスターの上に手を置いて、受ける光の強さをコントロールします。手がフォトレジスターに近づくほど、その値は小さくなり、ステージ上でボールはより高く飛びます。そうでなければボールは落ちます。ボールが線に触れると、美しい音がして星の光がきらめきます。

../_images/18_ball.png

必要な部品

このプロジェクトには、以下のコンポーネントが必要です。

全キットを購入すると便利です。こちらがリンクです:

名前

このキットのアイテム

リンク

ESP32 Starter Kit

320+

ESP32 Starter Kit

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

コンポーネントの紹介

購入リンク

ESP32 WROOM 32E

BUY

ESP32カメラ拡張ボード

-

ブレッドボード

BUY

ジャンパーワイヤ

BUY

抵抗器

BUY

光電抵抗器

BUY

学べること

  • スプライトに色を塗る

  • スプライト間のタッチ

回路の構築

フォトレジスターまたはフォトセルは、光によって可変する抵抗器です。フォトレジスターの抵抗は、入射光の強度が増すと減少します。

以下の図に従って回路を構築します。

フォトレジスターの一方の端を5Vに、もう一方の端をピン35に接続し、この端に10Kの抵抗をGNDと直列に接続します。

したがって、光の強度が増すと、フォトレジスターの抵抗が減少し、10Kの抵抗の電圧分割が増加し、ピン35によって得られる値が大きくなります。

../_images/8_light_alarm_bb.png

プログラミング

私たちが得たい効果は、あなたの手がフォトレジスターに近づくほど、ステージ上のボールスプライトが上に上がり続け、そうでなければボウルスプライトに落ちるということです。上がったり落ちたりする途中でラインスプライトに触れると、音楽の音がして、あらゆる方向に星スプライトを放出します。

1. スプライトと背景の選択

デフォルトのスプライトを削除し、 BallBowlStar スプライトを選択します。

../_images/18_ball1.png

Bowl スプライトをステージの底の中央に移動し、サイズを大きくします。

../_images/18_ball3.png

Ball スプライトを上方向に動かす必要があるため、向きを0に設定します。

../_images/18_ball4.png

Star スプライトのサイズと向きを180に設定します。下方向に落ちる必要があるためですが、他の角度に変更することもできます。

../_images/18_ball12.png

次に、 Stars 背景を追加します。

../_images/18_ball2.png

2. Line スプライトの描画

Line スプライトを追加します。

../_images/18_ball7.png

Line スプライトの Costumes ページに移動し、キャンバス上の赤い線の幅を少し狭くして、それを5回コピーして線を揃えます。

../_images/18_ball8.png

次に、線を好きな色で塗ります。好きな色を選んで、 Fill ツールをクリックし、マウスを線の上に移動して色を塗ります。

../_images/18_ball9.png

同じ方法で他の線の色を変更します。

../_images/18_ball10.png

3. Ball スプライトのスクリプト

Ball スプライトの初期位置を設定し、光の値が1500未満の場合(環境に応じて他の値にすることもできます。)、Ballを上に移動させます。

light_value 変数をステージ上に表示させ、いつでも光の強度の変化を観察できるようにします。

../_images/18_ball5.png

そうでない場合、 Ball スプライトは落下し、Y座標の最小値を-100に制限します。これは、 Bowl スプライトの上に落ちているように見えるように変更できます。

../_images/18_ball6.png

Line スプライトに触れたとき、現在のY座標を変数 ball_coor に保存し、 Bling メッセージをブロードキャストします。

../_images/18_ball11.png

4. Star スプライトのスクリプト

スクリプトが開始されたとき、まず Star スプライトを隠します。 Bling メッセージを受け取ったとき、 Star スプライトをクローンします。

../_images/18_ball13.png

Star スプライトがクローンとして現れたとき、効果音を鳴らし、その座標を Ball スプライトと同期させます。

../_images/18_ball14.png

Star スプライトの登場効果を作り、必要に応じて調整します。

../_images/18_ball15.png