Arduino で温度を読み取ることは、とても便利な作業です。 プロジェクトで使用できるさまざまな機能を持つ温度センサがあります。 今回は、Arduinoや他の開発ボード(ESP32やESP8266など)に対応した、お手頃価格の温度センサー9選をまとめました。
DHT11
DHT11 は温度と相対湿度を測定するデジタル温度センサーです。
これらのセンサーにはアナログ-デジタル変換を行って温度と湿度のデジタル信号を吐き出すチップが搭載されています。 このため、Arduinoを含むあらゆるマイクロコントローラで非常に簡単に使用できます。
DHT11温度センサーの最も関連性の高い仕様を次の表に示します。5 V
Adafruit Unified Sensor Library
このセンサーをArduinoで使用する方法については、専用のガイドを用意しています。
- Complete Guide for DHT11/DHT22 Humidity and Temperature Sensor With Arduino
DHT22
DHT22 温度センサーは DHT11 と非常によく似ています。 温度と湿度も測定し、ピン配置も同じです。 若干高価ですが、より正確で、温度と湿度の測定範囲が広くなっています。
次の表は、DHT22 温度センサーの最も関連性の高い仕様を示しています。
通信プロトコル | -onewire |
電源範囲 | 3~6 V |
温度範囲 | |
湿度範囲 | 0~100 % +/-(湿度)2% |
サンプリング周期 | 2秒 |
Arduinoライブラリ | Adafruit DHTライブラリ Adafruit Unified Sensor Library |
どこで買うか? | 価格を調べる |
以下のチュートリアルで、ArduinoでDHT22温度センサーを使用する方法を学びます。
- Complete Guide for DHT11/DHT22 Humidity and Temperature Sensor With Arduino
LM35DZ, LM335, LM34
The LM35DZ is the linear temperature sensor that comes directly calibrated in Celsius. アナログ出力は摂氏温度に正比例します。 温度上昇1℃につき10mVを出力します。
このセンサは、LM335(ケルビン単位で校正)およびLM34(華氏単位で校正)と非常によく似ています。
LM35DZ | ||
通信プロトコル | アナログ出力 | |
電源範囲 | 4~30 V | |
Temperature range | 温度範囲 | – |
Accuracy | +/-0.5ºC (at 25ºC) | |
Arduinoとのインターフェース | analogRead() | |
どこで買えるの? | Check prices LM35 LM335 LM34 |
Arduino で LM35DZ, LM335 または LM34 温度センサーを使用する方法について説明します。
- Guide for LM35, LM335 and LM34 Temperature Sensors with Arduino
BMP180
BMP180 は気圧センサーですが温度も測定します。 これは、あらゆるウェザーステーション・プロジェクトに含めると非常に便利です。
次の表は、温度読み取りに関して、BMP180 センサーの最も関連性の高い仕様を示しています。
BMP180 | |
通信プロトコル | I2C |
電源範囲 | |
温度範囲 | 0~65℃ |
精度 | +/-0.5ºC (at 25ºC) |
Arduinoとのインターフェース | Adafruit BME085 Adafruit Unified Sensor Library |
どこで買えるの? | Check prices |
ArduinoでBMP180センサーを使って、圧力、温度、高度を測定する方法については、以下のチュートリアルを参照してください。
- Guide for BMP180 Barometric Sensor with Arduino
TMP36
TMP36はアナログ温度センサです。 周囲温度に比例したアナログ値を出力します。 LM35温度センサと非常によく似ています。
以下の表で、TMP36の最も関連性の高い仕様を確認してください。
通信プロトコル | アナログ出力 |
電源範囲 | 2.7V~5.5 V |
温度範囲 | -40℃~+125℃ |
精度 | +/-…1ºC (at 25ºC) |
Arduinoとのインターフェース | analogRead() |
どこで買えるの? | view on eBay |
LM75
LM75センサも便利な温度センサの一つです。 I2C通信で動作するので、SDAとSCLのピンを使ってArduinoと通信します。 LM75センサーの仕様については、次の表を参照してください。
通信プロトコル | I2C | |
電源範囲 | 3.0 | 3.0~5.5V |
温度範囲 | -55~125ºC | |
精度 | +/-2.0ºC (-55~125℃レンジにおいて)) | |
Arduinoとのインターフェース | LM75 用I2Cライブラリ | |
どこで購入できますか? | view on eBay |
BME280
BME280は気圧センサーで、温度と湿度の測定も可能です。 I2CまたはSPI通信プロトコルで通信でき、BME280モジュールは3.3Vまたは5Vで給電できます。
温度センサーに関して、次の表はBME280センサーの仕様の概要を示したものです。
通信プロトコル | I2C または SPI | |
電源範囲 | 1.7~3.6V (チップ側) 3.3~5V (基板側) | |
温度範囲 | -40~85ºC | |
精度 | ±0.9℃ | +/-0.5ºC (at 25ºC) |
Arduinoとのインターフェース | Adafruit BME280ライブラリ Adafruit Unified Sensor Library |
|
どこで買えるの? | 価格を調べる |
ArduinoでBME280を使用して、温度、湿度、気圧を取得する方法を説明します。
- Guide for BME280 Sensor with Arduino (Pressure, Temperature, Humidity)
DS18B20
DS18B20 temperature sensor is a one wire digital temperature sensor. これは、Arduino と通信するために、1 本のデータ ライン (および GND) を必要とすることを意味します。
各 DS18B20 温度センサーには、固有の 64 ビット シリアル コードがあります。 これにより、複数のセンサを同じデータ線に配線することができます。 そのため、Arduinoのデジタルピン1本で複数のセンサの温度を取得することができます。
以下の表は、DS18B20温度センサーの最も関連性の高い仕様を示しています:
DS18B20 | |
通信プロトコル | ワンワイヤ |
電源範囲 | 3.0~5.5V |
動作温度範囲 | -55ºC~+125ºC |
精度 | +/- 0.5 ºC (範囲 -10ºC ~ 85ºC) |
Arduino libraries | DallasTemperature OneWire |
Where is to buy? | Check price on Maker Advisor |
Arduinoで温度センサDS18B20を使用する方法について説明します。
- Guide for DS18B20 Temperature Sensor with Arduino
Waterproof DS18B20
DS18B20は防水バージョンもあります(DS18B20ガイドを読んでください)。 配線はPVCで保護されており、液体の温度を測定する必要がある場合や、センサーを水にさらす必要がある場合に最適です。
配線と仕様は通常のDS18B20と同じです。 Maker Advisorで防水型温度センサーDS18B20の価格を比較する。
まとめ
このガイドがお役に立てれば幸いです。
- Arduinoで作るI2C有機ELディスプレイのガイド
- Arduinoで作るRF 433MHz送信/受信モジュールのガイド
- Arduinoで作るリレーモジュールのガイド
- Arduinoで作る超音波センサHC-SR04の完全ガイド
もあります。