XIAO Expansion boardでGROVE Temperature SensorをMicroPythonで動かしてみました
まず、XIAO RP2040を動かす方法についてはこちらに記載されています。
当ブログでは下記の記事に記載しております。
また、XIAO Expansion boardのGPIOについては当ブログでは下記に記載しています。
今回はXIAO Expansion boardのA0-D0にGROVE Temperature Sensorを接続し、単純にセンサーの結果をprintするプログラムを作成しました。作成したプログラムは下記となります。
from machine import ADC
import utime
import cmath
value = ADC(26)
B = 4275
R0 = 100000
while True:
a = value.read_u16()
R = 1023.0/a-1.0
R = R0*R
temperature = 273.15-1.0/(abs(cmath.log(R/R0))/B+1/298.15)
print('temperature=' + str(temperature))
utime.sleep(1)
補正値については、GROVE Temperature Sensorのwikiにあるプログラムの中の式を引用しています。
今回はlogがマイナスのため、math.log(X)の場合エラーになってしまったので、cmath.log(X)を使い大きさを算出する形に変更しており、その関係で元の式だとマイナスになってしまうため少し修正しました。
wiki
実行結果は下記のようになります。
(参考)
製品の情報
XIAO RP2040
XIAO Expansion board
GROVE Temperature Sensor
Comentarios