プロジェクト23 スマートカップ
1. 説明
このプロジェクトでは、主にArduino開発ボードを採用して、プログラム可能なスマートカップを作成します。カップ内部の液体の温度をRGBインジケーターで表示します。温度の閾値を設定することで、光の明るさを制御できます。閾値を超えると明るくなり、それ以外は暗くなります。
スマートカップは、ユーザーが飲料水の温度をより良く管理し、過熱や凍結を効果的に防ぐのに役立ちます。
2. 動作原理

DHT11の関連設定はメーカーから提供されているため、そのシーケンスチャートに従って順番にデータを読み取り処理するだけで済みます。
さらに、関連コードは当社のライブラリにパッケージ化されており、ピン設定や値の読み取りが簡単に行えます。
3. 配線図

4. テストコード
基本ブロックを2つドラッグします。シリアルのボーレートモジュールを追加し、ボーレートを9600に設定します。
「温度と湿度」からDHTモジュールをドラッグし、ピンをIO26、モードをdht11に設定します。

ラップなしのシリアルプリントモジュールを追加し、プリント内容を「RH:」に設定します。次に以下の手順に従い、1秒の遅延を追加します。
完成コード:

5. テスト結果
配線を接続しコードをアップロードした後、
をクリックしてシリアルモニターを開き、ボーレートを9600に設定すると、温度と湿度の値が表示されます。

6. 拡張コード
この拡張実験では、液体の温度を表示できるスマートカップを作ります。100を4つに分割し、それぞれの範囲をLEDで表します:
赤色LED: 100-75°C
黄色LED: 75-50°C
緑色LED: 50-25°C
青色LED: 25-0°C
フローチャート:

配線図:

コード:
基本ブロックを2つドラッグします。次に4つのLEDピンを「出力」に設定し、DHT11のピンをIO26、モードをdht11、変数名をtempに設定します。

DHT11の温度値を変数tempに代入します。

"if else"を使って変数tempを判定します。条件を満たせば対応するLEDが点灯し、そうでなければ消灯します。
完成コード:

7. コード説明
このコードブロックでは、空欄に番号を入れることで複数の温湿度センサーを接続できます。ピンとモードを設定した後、値を読み取れます。本プロジェクトではモードをDHT11に設定しています。

温度と湿度を読み取るコードブロック。
