atomu が 2026年01月23日14時27分55秒 に編集
コメント無し
本文の変更
本作品は、Sony Spresenseと温湿度センサーAHT25を使用して、湿度に応じて自動的にLEDの色を切り替える「衣類乾燥ランプ」を製作したものである。洗濯物が乾く過程を数値ではなく光で直感的に把握できるようにすることを目的とした。湿度の値をリアルタイムで取得し、その値に応じて赤、黄、緑の三色LEDが切り替わる仕組みを実装した。
使用機材は、Spresenseメインボードと拡張ボード、AHT25温湿度センサー、赤・黄・緑のLED、330Ω抵抗、ブレッドボード、ジャンパ線、USBケーブルである。電源にはモバイルバッテリーまたはLi-Poバッテリー(3.7V)を使用した。センサーはI2C通信でSpresenseと接続し、LEDはデジタルピンD2、D3、D4に接続して制御している。
使用機材は、 ・Spresenseメインボードと拡張ボード ・AHT25温湿度センサー ・赤・黄・緑のLED ・330Ω抵抗 ・ブレッドボード ・ジャンパ線 ・USBケーブル ・電源にはモバイルバッテリー センサーはI2C通信でSpresenseと接続し、LEDはデジタルピンD2、D3、D4に接続して制御している。
制作手順としては、まずArduino IDEを使用してAHT25センサーから湿度を取得するプログラムを作成し、シリアルモニタで値を確認した。次に、湿度の値に応じてLEDの点灯を切り替える条件分岐を追加した。湿度が55%以上のときは赤LEDを点灯し、40%から55%のときは黄LEDを点灯、40%未満のときは緑LEDを点灯させるように設定した。プログラムは2秒ごとに湿度を測定し、LEDを更新するようにしている。最終的に、LEDをブレッドボードに実装し、アクリルケースに収めることで持ち運びしやすい形に仕上げた。 ソースコードの要点は、WireライブラリとSparkFun_Qwiic_Humidity_AHT20ライブラリを用いてセンサーを初期化し、loop関数内で湿度を取得、条件に応じてdigitalWrite関数でLEDを制御する部分にある。全体の動作は安定しており、実際に湿度が上がると赤が点灯し、乾くにつれて黄、最終的に緑へと変化することを確認した。 今後はWi-FiアドオンボードやESP32を追加し、部屋全体の湿度との差分を計測して「乾いた」「半乾き」「乾いていない」をより正確に判定するシステムへと発展させる予定である。また、Firebaseやスマートフォン通知を組み合わせて、遠隔から洗濯物の乾燥状況を確認できるIoT型の乾燥モニタリングシステムへの拡張も視野に入れている。 ソースコード(主要部抜粋) #include <Wire.h> #include <SparkFun_Qwiic_Humidity_AHT20.h> AHT20 MySensor; #define LED_RED 2 #define LED_YELLOW 3 #define LED_GREEN 4 void setup() { Serial.begin(115200); Wire.begin(); MySensor.begin(); pinMode(LED_RED, OUTPUT); pinMode(LED_YELLOW, OUTPUT); pinMode(LED_GREEN, OUTPUT); } void loop() { if (MySensor.available()) { float hum = MySensor.getHumidity(); Serial.print("Humidity: "); Serial.println(hum); if (hum >= 55.0) { // 湿度が高い → 赤 digitalWrite(LED_RED, HIGH); digitalWrite(LED_YELLOW, LOW); digitalWrite(LED_GREEN, LOW); } else if (hum >= 40.0) { // 半乾き → 黄 digitalWrite(LED_RED, LOW); digitalWrite(LED_YELLOW, HIGH); digitalWrite(LED_GREEN, LOW); } else { // 乾いた → 緑 digitalWrite(LED_RED, LOW); digitalWrite(LED_YELLOW, LOW); digitalWrite(LED_GREEN, HIGH); } } delay(2000); }