温湿度センサー (AHT15)使ってみた‼(Arduino編)
こんにちは!
本日はコンパクトな温湿度センサーを試してみたいと思います。
温湿度センサーと言えばいろいろあり、その中でもDHTシリーズが定番かと思います。
しかし、ややでかいというデメリットもあります。
そこで、今回はコンパクトで高性能なAHT10の後継機、AHT15という温湿度センサーを試してみたいと思います‼
但し、こちらもデメリットがあり、小さすぎて今度はpinが2.54ピッチでないという不便があります。
なので今回は無理やりはんだ付けをし、2.54ピッチに変換してブレッドボードに差せるようにしています。
そんな不便はありますが、埋め込みに使う場合なんかは小さいほうがいい場合もあるので、これはこれで良いのでしょう!
それでは作って参りたいと思います‼
AHT15のスペック
・電源電圧:1.8~3.6V
・湿度測定範囲:0~100%
・温度測定範囲:-40~85℃
・湿度精度:±2% (25℃)
・温度精度:±0.3℃
・分解能:温度:0.01℃ 湿度: 0.024%
・出力信号:i2C
①「部品準備」
・温湿度センサー (AHT15)
電子工作ステーション 670円(送料無料)
・Arduino Uno
電子工作ステーション 1190円(送料無料)
※今回はUnoのType-Cモデルを使っています。
・ブレッドボード(なんでもOK)
電子工作ステーション 230円(500円以上で送料無料)
※AHT15センサーしか差さないので小さい物でも大丈夫です。
・ジャンパーワイヤー(オス・オス)(4本)
電子工作ステーション 105円(500円以上で送料無料)
・Pin(1×4あれば足ります。)
電子工作ステーション 4円(500円以上で送料無料)
※AHT15センサーをブレッドボードに差せるようにするために使います。
とりあえずこれで取得はできます‼
②「回路」
・AHT15センサーをブレッドボードに差せるようにするため、pinとAHT15センサーをはんだ付けします。
pin間隔が合わないので、いらない銅線や、またはpinを上手く曲げるか工夫してはんだ付けします。
正直はんだ付けに慣れてないと難しいです。
・無事付け終わりましたらブレッドボードに差せますので、ブレッドボードに差し下記のようにArduinoとセンサーを繋げます。
AHT15センサーのpin配列は下記の通りです。
Arduino Uno | AHT15 |
3.3V | VIN |
A4 | SDA |
GND | GND |
A5 | SCL |
繋ぎますと、こんな感じになります‼
③「開発環境」
AHT10センサーを簡単に使えるようにするため、Adafruit AHT10ライブラリーを入れます‼
Arduino IDEを開き「ツール」→「ライブラリーを管理」を押してライブラリーマネージャーを開きます。
検索するところに「AHT10」と入力すると上の方に「Adafruit AHT10…..」と出てきますので、それをインストールします。
(このライブラリーでAHT15も動かせます。)
これで開発環境の準備は完了です‼
④「いよいよプログラミング」
いよいよプログラミングですが、ライブラリーが用意されていて良い感じに表示され十分なのでそのまんま使わせていただきますwww
Arduino IDEの「ファイル」→「スケッチ例」→「Adafruit AHT10」→「adafruit_aht10_test」を押しサンプルプログラムを開きます。
一応サンプルプログラムそのまんま載せておきます‼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
#include <Adafruit_AHT10.h> Adafruit_AHT10 aht; void setup() { Serial.begin(115200); Serial.println("Adafruit AHT10 demo!"); if (! aht.begin()) { Serial.println("Could not find AHT10? Check wiring"); while (1) delay(10); } Serial.println("AHT10 found"); } void loop() { sensors_event_t humidity, temp; aht.getEvent(&humidity, &temp);// populate temp and humidity objects with fresh data Serial.print("Temperature: "); Serial.print(temp.temperature); Serial.println(" degrees C"); Serial.print("Humidity: "); Serial.print(humidity.relative_humidity); Serial.println("% rH"); delay(500); } |
④「結果」
実行すると、シリアルモニターにはこのように表示されます‼
部屋の温度計も29℃、湿度65%と一致しているのでかなり精度は良い感じです‼
ピッチ間隔が2.54mmじゃないところが不便ですが、それ以外のところはとても簡単で扱いやすく便利でした!
小さい物を作るときなんかは特におすすめです‼
以上、ご閲覧ありがとうございました^^