.. note:: こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。 **参加する理由は?** - **エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。 - **学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。 - **独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。 - **特別割引**:最新製品の独占割引をお楽しみください。 - **祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。 👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう! .. _sh_doorbell: 2.5 ドアベル ====================== ここでは、ステージ上のボタンとベルを使用してドアベルを作ります。 緑の旗がクリックされた後、ボタンを押すとステージ上のベルが音を出します。 .. image:: img/7_doorbell.png 必要な部品 --------------------- このプロジェクトには、以下のコンポーネントが必要です。 全キットを購入すると便利です。こちらがリンクです: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - 名前 - このキットのアイテム - リンク * - ESP32 Starter Kit - 320+ - |link_esp32_starter_kit| 下記のリンクから個別に購入することもできます。 .. list-table:: :widths: 30 20 :header-rows: 1 * - コンポーネントの紹介 - 購入リンク * - :ref:`cpn_esp32_wroom_32e` - |link_esp32_wroom_32e_buy| * - :ref:`cpn_esp32_camera_extension` - |link_esp32_extension_board| * - :ref:`cpn_breadboard` - |link_breadboard_buy| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_resistor` - |link_resistor_buy| * - :ref:`cpn_button` - |link_button_buy| 学べること --------------------- - ボタンの仕組み - デジタルピンの読み取りと範囲 - 条件付きループの作成 - 背景の追加 - 音の再生 回路の構築 ----------------------- ボタンは4ピンのデバイスで、ピン1とピン2、ピン3とピン4が接続されており、ボタンを押すと4ピンが接続され、回路が閉じます。 .. image:: img/5_buttonc.png 以下の図に従って回路を組み立ててください。 * ボタンの左側のピンの一つをピン14に接続し、プルダウン抵抗と0.1uF(104)キャパシタ(ジッターを除去し、ボタン作動時に安定したレベルを出力するため)に接続します。 * 抵抗とキャパシタの他端をGNDに、ボタンの右側のピンの一つを5Vに接続します。 .. image:: img/circuit/6_doorbel_bb.png プログラミング ------------------ **1. 背景を追加** スプライトエリアの右下にある **Choose a Backdrop** ボタンをクリックします。 .. image:: img/7_backdrop.png **Bedroom 1** を選択します。 .. image:: img/7_bedroom2.png **2. スプライトを選択** デフォルトのスプライトを削除し、スプライトエリアの右下にある **Choose a Sprite** ボタンをクリックし、検索ボックスに **bell** と入力してからクリックして追加します。 .. image:: img/7_sprite.png 次に、ステージ上の **bell** スプライトを選択し、適切な位置に移動します。 .. image:: img/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パレットからで、特定の音を再生するために使用されます。 .. image:: img/7_bell.png