2.5 ドアベル

ここでは、ステージ上のボタンとベルを使用してドアベルを作ります。

緑の旗がクリックされた後、ボタンを押すとステージ上のベルが音を出します。

../_images/7_doorbell.png

必要な部品

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

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

名前

このキットのアイテム

リンク

ESP32 Starter Kit

320+

ESP32 Starter Kit

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

コンポーネントの紹介

購入リンク

ESP32 WROOM 32E

BUY

ESP32カメラ拡張ボード

-

ブレッドボード

BUY

ジャンパーワイヤ

BUY

抵抗器

BUY

ボタン

BUY

学べること

  • ボタンの仕組み

  • デジタルピンの読み取りと範囲

  • 条件付きループの作成

  • 背景の追加

  • 音の再生

回路の構築

ボタンは4ピンのデバイスで、ピン1とピン2、ピン3とピン4が接続されており、ボタンを押すと4ピンが接続され、回路が閉じます。

../_images/5_buttonc.png

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

  • ボタンの左側のピンの一つをピン14に接続し、プルダウン抵抗と0.1uF(104)キャパシタ(ジッターを除去し、ボタン作動時に安定したレベルを出力するため)に接続します。

  • 抵抗とキャパシタの他端をGNDに、ボタンの右側のピンの一つを5Vに接続します。

../_images/6_doorbel_bb.png

プログラミング

1. 背景を追加

スプライトエリアの右下にある Choose a Backdrop ボタンをクリックします。

../_images/7_backdrop.png

Bedroom 1 を選択します。

../_images/7_bedroom2.png

2. スプライトを選択

デフォルトのスプライトを削除し、スプライトエリアの右下にある Choose a Sprite ボタンをクリックし、検索ボックスに bell と入力してからクリックして追加します。

../_images/7_sprite.png

次に、ステージ上の bell スプライトを選択し、適切な位置に移動します。

../_images/7_doorbell.png

3. ボタンを押してベルを鳴らす

[if then]を使用して条件文を作成し、ピン14の読み取り値が1(キーが押された)に等しい場合、 xylo1 の音を再生します。

  • [read status of digital pin]: このブロックは ESP32 パレットからで、デジタルピンの値を読み取るために使用されます。結果は0または1です。

  • [if then]: このブロックは制御ブロックで、 Control パレットから来ています。そのブール条件が真の場合、内部のブロックが実行され、関連するスクリプトが続行されます。条件が偽の場合、ブロック内のスクリプトは無視されます。条件は一度だけチェックされます。ブロック内のスクリプトが実行中に条件が偽に変わった場合でも、完了するまで実行され続けます。

  • [play sound until done]: このブロックはSoundパレットからで、特定の音を再生するために使用されます。

../_images/7_bell.png