2.6 スマートウォータータンク¶
このプロジェクトでは、水位センサーモジュールとサーボを使用してスマートウォータータンクをシミュレートします。水位センサーはタンク内に固定され、水位が閾値以下になった場合に、サーボによって制御されるバルブが開き、水が流れ込むようになります。
必要なコンポーネント
このプロジェクトには、以下のコンポーネントが必要です。
キット全体を購入すると便利です。リンクはこちら:
名前 |
キット内容 |
リンク |
---|---|---|
ケプラーキット |
450+ |
以下のリンクから個別に購入することもできます。
番号 |
コンポーネント |
個数 |
リンク |
---|---|---|---|
1 |
1 |
||
2 |
マイクロUSBケーブル |
1 |
|
3 |
1 |
||
4 |
数本 |
||
5 |
1 |
||
6 |
1 |
配線
Pico Wには、アナログ入力を使用できるGPIOピンが3つあります。それは、アナログチャネル0、1、および2のGP26、GP27、GP28です。 また、内蔵温度センサーに接続されている第4のアナログチャネルもありますが、ここでは紹介しません。
水位センサーのSはGP26(A0)に、+はVBUSに、-ピンはGNDに接続されています。
サーボのオレンジ色のワイヤー(信号)はGP15に、赤色のワイヤー(電源)はVBUSに、茶色のワイヤー(接地)はGNDに接続されています。
コード
注釈
下の画像を参照して、ドラッグ&ドロップでコードを書くことができます。
kepler-kit-main\piper
のパスから2.6_water_tank.png
をインポートしてください。詳細なチュートリアルについては、 コードをインポート を参照してください。
Pico Wに接続した後、 スタート ボタンをクリックしてコードが実行されます。水位が水位センサーの1/3より低い場合、サーボは180度回転して入口が開くようにシミュレートされます。水位が水位センサーの1/3より高い場合、サーボは0度に回転して入口が閉じるように模倣されます。
動作原理
ピン15(サーボ)の回転速度を15%に設定します。
[servo pin() set speed to ()%]:サーボピンの回転速度を設定するために使用されます。範囲は0%〜100%です。
ピンA0の値を読み取り、変数[water_level]に格納します。
[set (water_level) to]:変数の値を設定するために使用されます。変数を Variables パレットから作成する必要があります。
[read voltage from pin ()]:アナログピン(A0〜A2)の電圧を読み取るために使用されます。範囲は0〜3.3Vです。
電圧の閾値を1に設定します。水位センサーの電圧が1より小さい場合、サーボを180°の位置に回転させます。それ以外の場合は、0°の位置に回転させます。
[servo pin () set angle to ()]:サーボピンの角度を設定します。範囲は0〜180°です。