はじめに
MicroPythonでADT7410から温度データを取得してみたいと思います。
環境
・ マイクロコントローラー : ESP-WROOM-32
・ ファームウェア : MicroPython1.3
・ センサー : ADT7410(温度センサー)
ADT7410用ライブラリ
以下がADT7410のライブラリになります。
ADTLib.py
from machine import I2C, Pin
p21 = Pin(21, Pin.IN, Pin.PULL_UP)
p22 = Pin(22, Pin.IN, Pin.PULL_UP)
class ADT7410:
def __init__(self):
self.i2c = I2C(scl = Pin(22), sda = Pin(21), freq = 10000)
def getTemperature(self):
data = self.i2c.readfrom_mem(0x48, 0x00, 2)
temp = (data[0] << 8 | data[1]) >> 3
if(temp >= 4096):
temp -= 8192
value = temp * 0.0625
return value
def temperature(self):
temp = self.getValue()
return temp
ADT7410からデータを取得
ADT7410用のライブラリを用いて実際にデータを取得します。
ADT.py
from time import sleep
import ADTLib
while True:
adt = ADTLib.ADT7410()
temp = adt.getTemperature()
print("TEMPERATURE : ", temp)
sleep(3)
実行結果
TEMPERATURE : 21.1875
TEMPERATURE : 24.375
TEMPERATURE : 25.9375
TEMPERATURE : 26.8125
TEMPERATURE : 27.3125
TEMPERATURE : 27.6875
TEMPERATURE : 27.9375
TEMPERATURE : 28.125
TEMPERATURE : 28.1875
TEMPERATURE : 28.3125
TEMPERATURE : 28.375
TEMPERATURE : 28.4375
TEMPERATURE : 27.8125
TEMPERATURE : 26.875
TEMPERATURE : 26.125
TEMPERATURE : 25.625
TEMPERATURE : 25.125
TEMPERATURE : 24.75
TEMPERATURE : 24.375
TEMPERATURE : 24.0
TEMPERATURE : 23.75
TEMPERATURE : 23.5
TEMPERATURE : 23.25
TEMPERATURE : 23.0
TEMPERATURE : 22.8125
TEMPERATURE : 22.625
TEMPERATURE : 22.5
TEMPERATURE : 22.375
TEMPERATURE : 22.25
TEMPERATURE : 22.0625
おわりに
今回はMicroPythonでADT7410からデータを取得しました。
今後は使ったセンサーのライブラリをまとめていくつもりです。