注釈
こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。
参加する理由は?
エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。
独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。
特別割引:最新製品の独占割引をお楽しみください。
祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。
👉 私たちと一緒に探索し、創造する準備はできていますか?[ここ]をクリックして今すぐ参加しましょう!
2.12 光感知ボール¶
このプロジェクトでは、フォトレジスタを使用して、ステージ上のボールを上方に飛ばします。フォトレジスタの上に手を置いて、受け取る光の強度をコントロールします。手をフォトレジスタに近づけるほど、その値は小さくなり、ステージ上のボールはより高く飛びます。そうでなければ、ボールは落ちます。ボールが糸に触れると、きれいな音ときらきらとした星の光が放たれます。
学べること¶
スプライトを色で塗りつぶす
スプライト間の接触
必要な部品¶
このプロジェクトで必要な部品は以下の通りです。
キット全体を購入すると、確かに便利です。リンクはこちら:
名前 |
このキットのアイテム |
リンク |
|---|---|---|
3 in 1 Starter Kit |
380+ |
以下のリンクから個別に購入することもできます。
コンポーネントの紹介 |
購入リンク |
|---|---|
回路の作成¶
フォトレジスタまたはフォトセルは、光に制御される可変抵抗器です。フォトレジスタの抵抗は、入射光の強度が増えると減少します。
以下の図に従って回路を組み立てます。
フォトレジスタの一方の端子を5Vに、他方の端子をA0に接続し、この端子で10Kの抵抗をGNDと直列に接続します。
したがって、光の強度が増えると、フォトレジスタの抵抗が減少し、10K抵抗の電圧分割が増加し、A0で取得される値が大きくなります。
プログラミング¶
目指す効果は、手をフォトレジスタに近づけるほど、ステージ上のボールのスプライトが上に上がり続け、そうでなければボウルのスプライト上に落ちることです。上を歩くか、下に落ちる際に、ラインのスプライトに触れると、楽音を発し、全方向に星のスプライトを放出します。
1. スプライトと背景の選択
デフォルトのスプライトを削除し、 Ball 、 Bowl 、および Star スプライトを選択します。
Bowl スプライトをステージの下中央に移動し、そのサイズを拡大します。
上に移動する必要があるので、 Ball スプライトの方向を0に設定します。
Star スプライトのサイズと方向を180に設定します。これにより、下に落ちるようになりますが、別の角度に変更することもできます。
Stars の背景を追加します。
2. Lineスプライトの描画
Lineスプライトを追加します。
Line スプライトの Costumes ページに移動し、キャンバス上の赤いラインの幅を若干狭め、それを5回コピーしてラインを整列させます。
ラインに異なる色を塗りつぶします。好きな色を選択し、 Fill ツールをクリックして、ラインの上でマウスを動かして色を塗りつぶします。
同じ方法で、他のラインの色を変更します。
3. Ballスプライトのスクリプト
Ball スプライトの初期位置を設定し、光の値が800未満の場合(現在の環境に応じて別の値にすることができます)、Ballを上に動かします。
light_valueの変数をステージ上で表示させて、光の強度の変化を随時観察することができます。
そうでなければ、 Ball スプライトは落ち、そのY座標を-100の最小値に制限します。これを修正して、 Bowl スプライト上に落ちているように見せることができます。
Line スプライトが当たったとき、現在のY座標を ball_coor 変数に保存し、 Bling メッセージがブロードキャストされます。
4. Starスプライトのスクリプト
スクリプトが開始されたとき、まず Star スプライトを隠します。 Bling メッセージを受信すると、 Star スプライトをクローンします。
Star スプライトがクローンとして表示されると、音声効果を再生し、その座標を Ball スプライトと同期させます。
Star スプライトの表示効果を作成し、必要に応じて調整します。