2021年6月27日日曜日

M5StickCにGrove温度センサーを接続して、MicroPythonで温度を取得する

M5StickCにGrove温度センサーを接続して、MicroPythonで温度を取得するには、以下のコードの様に33番ピンの電圧をADCで読み取って計算します。

〇M5StickCとGrove温度センサーを接続した写真

サンプルコード

以下のコードをmain.pyとして保存して、実行します。コンソールに読み取った温度が表示されます
import machine 
import time
import math

pin33 = machine.ADC(machine.Pin(33))
pin33.atten(machine.ADC.ATTN_11DB)
pin33.width(machine.ADC.WIDTH_10BIT)
while True:
    # 5V=1023 -> 3.6V=1023
    value = pin33.read()*(3.6/5.0)
    # refer to https://wiki.seeedstudio.com/Grove-Temperature_Sensor_V1.2/
    r = 100000.0 * (1023.0 / value - 1.0)
    temperature = 1.0 / (math.log10(r / 100000.0) / 4275.0 + 1 / 298.15) - 273.15

    print("temp:{:.2f}".format(temperature))
    time.sleep(1)

関連情報

・使用したMicroPython firmware: esp32-20210418-v1.15.bin
https://micropython.org/download/esp32/

Groveデバイスまとめ

0 件のコメント:

コメントを投稿