前回記事にて光センサで明るさを測りました。
今回は温度と湿度を測ってみようと思います。
必要な物
温湿度センサを使って温度と湿度を測定するために以下の物を準備します。
- ワニ口クリップ
- 温湿度センサ(DHT11)
- 抵抗(10kΩ)
- ブレッドボード
- ジャンパーケーブル
![]() |
![]() |
![]() |
![]() |
DHT11をmicro:bitへ繋ぐ
必要な物が揃ったらDHT11をmicro:bitへ繋げます。
IO端子(3V)->DHT11(1番PIN)
DHT11(4番PIN)->IO端子(GND)
DHT11(2番PIN)->IO端子(P0)
IO端子(3V)->抵抗(10kΩ)->DHT11(2番PIN)
※DHT11(3番PIN)は使いません
※下図ではDHT11の部品ば見つからなかったためRHT1の部品で表現しています

これでmicro:bitからDHT11の値を読み取る準備ができました。

回路はショートしないように気を付けてください。
温湿度センサ(DHT11)は正面左から1番PIN~4番PINになり、3番PINは使いません。
温湿度センサ(DHT11)の値を読み取る
回路が作れたら次はプログラムです。
温湿度センサ(DHT11)の出力はアナログではなくシリアル信号になります。
そこでシリアル信号を読み取る必要があり、それを簡単に実装してくれる「拡張機能」があります。
拡張機能を使うために「拡張機能」を選択します。

拡張機能の画面に移るので上にある検索窓に「DHT11」と入力して検索を実行します。

「DHT11_DHT22」を選択すると「DHT11/DHT22」のブロックが追加されます。

湿度と温度を計測するには上の大きなブロックを使い、読み取った値を扱うには「Read「humidity」」ブロックを使います。
以下のように「ずっと」ブロックに配置して読み取った値をLEDへ表示させます。

これでプログラムは完成です。
プロジェクトをmicro:bitへ書き込んで動作を確認してみましょう。
実機で確認
micro:bitへ書き込みが完了するとすぐに動き出し、湿度を「H:xx」、温度を「T:xx」の形でLEDへ表示します。

これで温湿度センサ(DHT11)を使って湿度と温度を測定する事ができるようになりました。
まとめ
今回使ったセンサは拡張機能により専用のブロックを追加することで扱う事ができるようになりました。
この拡張機能には他にも色々あり、世の中にある他のセンサなどを簡単に取り扱う事ができるようになります。
どんなブロックが存在するかは先に調べておく必要がありますがmicro:bitでできる事がいっきに増えてきます。
コメント