.. note:: こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。 **参加する理由は?** - **エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。 - **学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。 - **独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。 - **特別割引**:最新製品の独占割引をお楽しみください。 - **祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。 👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう! .. _sh_doorbell: 2.6 ドアベル ====================== このプロジェクトでは、ステージ上のボタンとベルを使ってドアベルを作成します。 緑のフラグがクリックされた後、ボタンを押すとステージ上のベルが音を鳴らします。 .. image:: img/7_doorbell.png 学べること --------------------- - ボタンの動作方法 - デジタルピンと範囲の読み取り - 条件ループの作成 - 背景の追加 - 音の再生 必要な部品 --------------------- このプロジェクトには以下の部品が必要です。 全体のキットを購入するのが便利です。リンクは以下の通りです: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - 名前 - このキットのアイテム - リンク * - 3 in 1 Starter Kit - 380+ - |link_3IN1_kit| 以下のリンクから個別に購入することも可能です。 .. list-table:: :widths: 30 20 :header-rows: 1 * - コンポーネントの紹介 - 購入リンク * - :ref:`cpn_uno` - |link_Uno_R3_buy| * - :ref:`cpn_breadboard` - |link_breadboard_buy| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_resistor` - |link_resistor_buy| * - :ref:`cpn_button` - |link_button_buy| * - :ref:`cpn_capacitor` - |link_capacitor_buy| 回路の作成 ----------------------- ボタンは4ピンのデバイスであり、ピン1がピン2に、ピン3がピン4に接続されています。ボタンが押されると、4つのピンが接続され、回路が閉じます。 .. image:: img/5_buttonc.png 以下の図に従って回路を組み立てます。 * ボタンの左側のピンの一つを、プルダウン抵抗と0.1uF(104)キャパシター(ボタン動作時のジッタを除去し、ボタンが動作するときの安定したレベルを出力するため)に接続されているピン12に接続します。 * 抵抗とキャパシターのもう一方の端子をGNDに、ボタンの右側のピンの一つを5Vに接続します。 .. image:: img/circuit/button_circuit.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]を使用して条件文を作成します。ピン12の読み取り値が1(キーが押されている)の場合、 **xylo1** の音が再生されます。 * [read status of digital pin]: このブロックは **Arduino Uno** パレットから来ており、デジタルピンの値を読むために使用され、結果は0または1です。 * [`if then `_]: このブロックは制御ブロックであり、 **Control** パレットから来ています。そのブーリアン条件が真である場合、その中に保持されているブロックが実行され、その後関与するスクリプトが続行されます。条件が偽の場合、ブロック内のスクリプトは無視されます。条件は一度だけチェックされます。ブロック内のスクリプトが実行されている間に条件が偽に変わっても、完了するまで実行し続けます。 * [play sound until done]: Soundパレットから、特定の音を再生するために使用されます。 .. image:: img/7_bell.png