Grove - 温度センサー V1.2
この文書は AI によって翻訳されています。内容に不正確な点や改善すべき点がございましたら、文書下部のコメント欄または以下の Issue ページにてご報告ください。
https://github.com/Seeed-Studio/wiki-documents/issues

Grove - 温度センサーは、サーミスタを使用して周囲温度を検出します。サーミスタの抵抗値は周囲温度が低下すると増加します。この特性を利用して周囲温度を計算します。このセンサーの検出可能範囲は -40 ~ 125ºC で、精度は ±1.5ºC です。
注意: このWikiはGrove - 温度センサー V1.1にも対応しています。V1.0についてはGrove - Temperature Sensorをご参照ください。
産業用センサーへのアップグレード可能
SenseCAP S2110コントローラーおよびS2100データロガーを使用することで、Groveを簡単にLoRaWAN®センサーに変えることができます。Seeedはプロトタイピングを支援するだけでなく、SenseCAPシリーズの堅牢な産業用センサーを使用してプロジェクトを拡張する可能性も提供します。
SenseCAP S210xシリーズの産業用センサーは、環境センシングのための即時使用可能な体験を提供します。空気質モニタリングのための高性能で堅牢なS2101ワイヤレス温湿度センサーをご参照ください。このシリーズには、土壌水分、空気温度と湿度、光強度、CO2、EC、8-in-1気象ステーション用のセンサーが含まれています。次の成功する産業プロジェクトのために最新のSenseCAP S210xをお試しください。
SenseCAP 産業用センサー |
S2101 空気温度 & 湿度 |
仕様
- 電圧: 3.3 ~ 5V
- 無電力抵抗: 100 KΩ
- 抵抗許容差: ±1%
- 動作温度範囲: -40 ~ +125 ℃
- 公称B定数:4250 ~ 4299K
Groveモジュールの詳細については、Grove Systemをご参照ください。
対応プラットフォーム
Arduino | Raspberry | ArduPy |
---|---|---|
![]() | ![]() | ![]() |
上記で対応していると記載されているプラットフォームは、モジュールのソフトウェアまたは理論的な互換性を示しています。ほとんどの場合、Arduinoプラットフォーム向けのソフトウェアライブラリやコード例のみを提供しています。すべての可能なMCUプラットフォーム向けにソフトウェアライブラリやデモコードを提供することはできません。そのため、ユーザー自身でソフトウェアライブラリを作成する必要があります。
はじめに
このセクションの後、Grove - Temperature Sensor V1.1/1.2を数ステップで動作させることができます。
Arduinoを初めて使用する場合は、開始前にGetting Started with Arduinoを必ずご覧ください。
Arduinoで遊ぶ
ハードウェア
- ステップ1. 以下のものを準備してください:
Seeeduino V4.2 | Base Shield | Grove - Temperature Sensor |
---|---|---|
![]() | ![]() | ![]() |
今すぐ購入 | 今すぐ購入 | 今すぐ購入 |
ステップ2. Grove - Temperature SensorをGrove-Base ShieldのポートA0に接続します。
ステップ3. Grove - Base ShieldをSeeeduinoに差し込みます。
ステップ4. USBケーブルを使用してSeeeduinoをPCに接続します。

Grove Base Shieldがない場合は、以下のようにGrove_Ultrasonic_RangerをSeeeduinoに直接接続することもできます。
Seeeduino | Grove - Temperature Sensor |
---|---|
5V | 赤 |
GND | 黒 |
接続なし | 白 |
A0 | 黄色 |
ソフトウェア
- ステップ1. Arduino IDEを起動し、File>Newをクリックして新しいページを開きます。以下のコードを新しいページにコピーしてアップロードしてください。コードのアップロード方法がわからない場合は、How to upload codeをご確認ください。
// Grove - Temperature Sensor V1.1/1.2のデモコード
// Loovee @ 2015-8-26
#include <math.h>
const int B = 4275000; // サーミスタのB値
const int R0 = 100000; // R0 = 100k
const int pinTempSensor = A0; // Grove - Temperature SensorをA0に接続
#if defined(ARDUINO_ARCH_AVR)
#define debug Serial
#elif defined(ARDUINO_ARCH_SAMD) || defined(ARDUINO_ARCH_SAM)
#define debug SerialUSB
#else
#define debug Serial
#endif
void setup()
{
Serial.begin(9600);
}
void loop()
{
int a = analogRead(pinTempSensor);
float R = 1023.0/a-1.0;
R = R0*R;
float temperature = 1.0/(log(R/R0)/B+1/298.15)-273.15; // データシートを基に温度に変換
Serial.print("temperature = ");
Serial.println(temperature);
delay(100);
}
ステップ2. Arduino IDEのSerial Monitorを開くには、Tool-> Serial Monitorをクリックするか、++ctrl+shift+m++キーを同時に押します。すべてが正常に動作していれば、温度が表示されます。
結果は以下のようになります:

Raspberry Piで遊ぶ (Grove Base Hat for Raspberry Piを使用)
ハードウェア
- ステップ1. このプロジェクトで使用するもの:
Raspberry pi | Grove Base Hat for RasPi | Grove - Temperature Sensor |
---|---|---|
![]() | ![]() | ![]() |
今すぐ購入 | 今すぐ購入 | 今すぐ購入 |
- ステップ2. Grove Base HatをRaspberryに差し込みます。
- ステップ3. 温度センサーをBase HatのポートA0に接続します。
- ステップ4. USBケーブルを使用してRaspberry PiをPCに接続します。

ステップ3では、温度センサーを任意のアナログポートに接続することができますが、対応するポート番号に合わせてコマンドを変更する必要があります。
ソフトウェア
Raspberry PiでRaspberrypi OS >= Bullseyeを使用している場合、このコマンドラインはPython3のみで使用してください。
- ステップ 1. ソフトウェアの設定に従い、開発環境を構成します。
- ステップ 2. grove.pyライブラリをクローンしてソースファイルをダウンロードします。
cd ~
git clone https://github.com/Seeed-Studio/grove.py
- ステップ 3. 以下のコマンドを実行してコードを実行します。
cd grove.py/grove
python3 grove_temperature_sensor.py 0
以下はgrove_temperature_sensor.pyのコードです。
import sys
import time
from grove.factory import Factory
def main():
from grove.helper import SlotHelper
sh = SlotHelper(SlotHelper.ADC)
pin = sh.argv2pin()
sensor = Factory.getTemper("NTC-ADC", pin)
print('温度を検出中...')
while True:
print('{} 摂氏'.format(sensor.temperature))
time.sleep(1)
if __name__ == '__main__':
main()
すべてが正常に動作すれば、以下の結果が表示されます。
pi@raspberrypi:~/grove.py/grove $ python3 grove_temperature_sensor.py 0
Hat Name = 'Grove Base Hat RPi'
温度を検出中...
24.7473402633 摂氏
24.7473402633 摂氏
24.7473402633 摂氏
24.7112751977 摂氏
24.7112751977 摂氏
^CTraceback (most recent call last):
File "grove_temperature_sensor.py", line 53, in <module>
main()
File "grove_temperature_sensor.py", line 49, in main
time.sleep(1)
KeyboardInterrupt
このプログラムを終了するには、++ctrl+c++を押すだけです。
アナログポートの場合、シルクスクリーンのピン番号はA1, A0のようになっていますが、コマンドでは0や1というパラメータを使用します。これはデジタルポートと同じです。そのため、モジュールを正しいポートに接続してください。そうしないとピンの競合が発生する可能性があります。
Raspberry Piで遊ぶ (GrovePi_Plusを使用)
ハードウェア
- ステップ 1. 以下のアイテムを準備します:
Raspberry Pi | GrovePi_Plus | Grove - Temperature Sensor |
---|---|---|
![]() | ![]() | ![]() |
今すぐ購入 | 今すぐ購入 | 今すぐ購入 |
ステップ 2. GrovePi_PlusをRaspberry Piに接続します。
ステップ 3. Grove - Temperature SensorをGrovePi_PlusのA0ポートに接続します。
ステップ 4. Raspberry PiをUSBケーブルでPCに接続します。

ソフトウェア
ステップ 1. ソフトウェアの設定に従い、開発環境を構成します。
ステップ 2. ファームウェアの更新に従い、GrovePiの最新ファームウェアを更新します。
このWikiでは~/GrovePi/というパスを使用していますが、/home/pi/Desktop/GrovePiではありません。ステップ2とステップ3で同じパスを使用する必要があります。
ファームウェアを更新することを強くお勧めします。そうしないと、一部のセンサーでエラーが発生する可能性があります。 :::
Raspberry Pi OS >= Bullseyeを使用している場合は、Python3のみでコマンドラインを使用する必要があります。
- ステップ 3. GitHubリポジトリをクローンします。
cd ~
git clone https://github.com/DexterInd/GrovePi.git
- ステップ 4. 以下のコマンドを実行して、Grove - Temperature Sensorを使用して温度を測定します。
cd ~/GrovePi/Software/Python
sudo python3 grove_temperature_sensor.py
以下はgrove_temperature_sensor.pyのコードです。
# 注意:
# このセンサーはサーミスタを使用して周囲温度を検出します。
# 周囲温度が下がるとサーミスタの抵抗値が増加します。
#
# バージョン1.0、1.1、1.2の3つのリビジョンがあり、それぞれ異なるモデルのサーミスタを使用しています。
# 各サーミスタのデータシートには、計算式で使用される固有のNominal B-Constantが記載されています。
#
# grovepi.temp()メソッドの第2引数は接続されているボードのバージョンを定義します。
# デフォルトは'1.0'です。例:
# temp = grovepi.temp(sensor) # B値 = 3975
# temp = grovepi.temp(sensor,'1.1') # B値 = 4250
# temp = grovepi.temp(sensor,'1.2') # B値 = 4250
import time
import grovepi
# Grove Temperature SensorをアナログポートA0に接続
# SIG,NC,VCC,GND
sensor = 0
while True:
try:
temp = grovepi.temp(sensor,'1.2')
print("温度 =", temp)
time.sleep(.5)
except KeyboardInterrupt:
break
except IOError:
print ("エラー")
結果は以下のようになります:
pi@raspberrypi:~/GrovePi/Software/Python $ sudo python3 grove_temperature_sensor.py
('温度 =', 25.28652137917777)
('温度 =', 25.28652137917777)
('温度 =', 25.28652137917777)
('温度 =', 25.28652137917777)
('温度 =', 25.368489566400115)
('温度 =', 25.61468397498203)
('温度 =', 27.43501590142614)
('温度 =', 27.85285590636829)
('温度 =', 27.18509952680688)
('温度 =', 26.852756540240193)
Wio Terminal (ArduPy)で遊ぶ
ハードウェア
- ステップ 1. 以下のアイテムを準備します:
Wio Terminal | Grove - Temperature Sensor |
---|---|
![]() | ![]() |
今すぐ購入 | 今すぐ購入 |
ステップ 2. Grove - Temperature Sensor を A0 ポートに接続します(Wio Terminal)。
ステップ 3. USB Type-C ケーブルを使用して Wio Terminal を PC に接続します。

ソフトウェア
ステップ 1. ArduPy Getting Started に従って、Wio Terminal 上で ArduPy 開発環境を構成します。
ステップ 2. ArduPy ファームウェアが Wio Terminal にフラッシュされていることを確認してください。詳細については、こちら を参照してください。
aip build
aip flash
- ステップ 3. 以下のコードをコピーして
ArduPy-temp.py
として保存します:
from machine import Pin, ADC
from machine import LCD
from machine import Sprite
import time, math
raw = ADC(Pin(13))
lcd = LCD()
spr = Sprite(lcd) # バッファを作成
B = 4275 # サーミスタのB値
R0 = 100000 # R0 = 100k
def temp(reading):
R = 1023.0 / reading - 1.0
R = R0*R
temperature = 1.0/(math.log(R/R0)/B+1/298.15)-273.15 # データシートに基づいて温度に変換
return temperature
def main():
spr.createSprite(320, 240)
while True:
spr.setTextSize(2)
spr.fillSprite(spr.color.BLACK)
spr.setTextColor(lcd.color.ORANGE)
spr.drawString("Temperature Reading", 45, 10)
spr.drawFastHLine(40, 35, 240, lcd.color.DARKGREY)
spr.setTextColor(lcd.color.WHITE)
spr.drawString("- ", 20, 50)
spr.drawFloat(temp(raw.read()), 3, 40,50)
spr.drawString("C", 120, 50)
spr.pushSprite(0,0)
time.sleep_ms(500)
print("Temperature: ", temp(raw.read()), "C")
if __name__ == "__main__":
main()
- ステップ 4.
ArduPy-temp.py
をわかりやすい場所に保存します。以下のコマンドを実行し、<YourPythonFilePath>
をArduPy-temp.py
の保存場所に置き換えてください。
aip shell -n -c "runfile <YourPythonFilePath>"
# 例:
# aip shell -n -c "runfile /Users/ansonhe/Desktop/ArduPy-temp.py"
- ステップ 5. 以下のようにターミナルに温度値が表示され、Wio Terminal の LCD 画面にも表示されます。
ansonhe@Ansons-Macbook-Pro ~:aip shell -n -c "runfile /Users/ansonhe/Desktop/ArduPy-temp.py"
Positional argument (/dev/cu.usbmodem141101) takes precedence over --open.
Connected to ardupy
Temperature: 28.08603 C
Temperature: 28.50415 C
Temperature: 28.16953 C
Temperature: 28.25308 C
Temperature: 28.08603 C
Temperature: 28.16953 C
Temperature: 28.08603 C
Temperature: 28.16953 C
Temperature: 28.33671 C
Temperature: 28.16953 C
Temperature: 28.25308 C

参考
温度計算アルゴリズムの詳細については、以下の画像を参照してください:

回路図オンラインビューア
リソース
- [Zip] Grove - Temperature Sensor v1.1 Eagle ファイル
- [PDF] Grove - Temperature Sensor v1.1.PDF
- [PDF] 温度センサー データシート
プロジェクト
温度センサー Grove モジュール:
技術サポート & 製品ディスカッション
弊社製品をお選びいただきありがとうございます!製品をご利用いただく際に、できるだけスムーズな体験を提供できるよう、さまざまなサポートをご用意しています。お客様の好みやニーズに応じた複数のコミュニケーションチャネルをご利用いただけます。