.. note:: こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。 **参加する理由は?** - **エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。 - **学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。 - **独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。 - **特別割引**:最新製品の独占割引をお楽しみください。 - **祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。 👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう! .. _per_water_tank: 2.6 スマートウォータータンク ============================= このプロジェクトでは、水位センサーモジュールとサーボを使用してスマートウォータータンクをシミュレートします。水位センサーはタンク内に固定され、水位が閾値以下になった場合に、サーボによって制御されるバルブが開き、水が流れ込むようになります。 **必要なコンポーネント** このプロジェクトには、以下のコンポーネントが必要です。 キット全体を購入すると便利です。リンクはこちら: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - 名前 - キット内容 - リンク * - ケプラーキット - 450+ - |link_kepler_kit| 以下のリンクから個別に購入することもできます。 .. list-table:: :widths: 5 20 5 20 :header-rows: 1 * - 番号 - コンポーネント - 個数 - リンク * - 1 - :ref:`cpn_pico_w` - 1 - |link_picow_buy| * - 2 - マイクロUSBケーブル - 1 - * - 3 - :ref:`cpn_breadboard` - 1 - |link_breadboard_buy| * - 4 - :ref:`cpn_wire` - 数本 - |link_wires_buy| * - 5 - :ref:`cpn_servo` - 1 - |link_servo_buy| * - 6 - :ref:`cpn_water_level` - 1 - **配線** |pin_adc| Pico Wには、アナログ入力を使用できるGPIOピンが3つあります。それは、アナログチャネル0、1、および2のGP26、GP27、GP28です。 また、内蔵温度センサーに接続されている第4のアナログチャネルもありますが、ここでは紹介しません。 |water_tank0| * 水位センサーのSはGP26(A0)に、+はVBUSに、-ピンはGNDに接続されています。 * サーボのオレンジ色のワイヤー(信号)はGP15に、赤色のワイヤー(電源)はVBUSに、茶色のワイヤー(接地)はGNDに接続されています。 **コード** .. note:: * 下の画像を参照して、ドラッグ&ドロップでコードを書くことができます。 * ``kepler-kit-main\piper`` のパスから ``2.6_water_tank.png`` をインポートしてください。詳細なチュートリアルについては、 :ref:`import_code_piper` を参照してください。 |water_tank| Pico Wに接続した後、 **スタート** ボタンをクリックしてコードが実行されます。水位が水位センサーの1/3より低い場合、サーボは180度回転して入口が開くようにシミュレートされます。水位が水位センサーの1/3より高い場合、サーボは0度に回転して入口が閉じるように模倣されます。 **動作原理** |water_tank1| ピン15(サーボ)の回転速度を15%に設定します。 * [servo pin() set speed to ()%]:サーボピンの回転速度を設定するために使用されます。範囲は0%〜100%です。 |water_tank2| ピンA0の値を読み取り、変数[water_level]に格納します。 * [set (water_level) to]:変数の値を設定するために使用されます。変数を **Variables** パレットから作成する必要があります。 * [read voltage from pin ()]:アナログピン(A0〜A2)の電圧を読み取るために使用されます。範囲は0〜3.3Vです。 |water_tank3| 電圧の閾値を1に設定します。水位センサーの電圧が1より小さい場合、サーボを180°の位置に回転させます。それ以外の場合は、0°の位置に回転させます。 * [servo pin () set angle to ()]:サーボピンの角度を設定します。範囲は0〜180°です。