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