Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

MicroPythonでADT7410からデータを取得する

はじめに

MicroPythonでADT7410から温度データを取得してみたいと思います。

環境

・ マイクロコントローラー : ESP-WROOM-32
ESP32.jpeg
・ ファームウェア : MicroPython1.3
MicroPython.jpg
・ センサー : ADT7410(温度センサー)
ADT7410.jpg

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からデータを取得しました。
今後は使ったセンサーのライブラリをまとめていくつもりです。

cdsl
東京工科大学コンピュータサイエンス学部クラウド・分散システム研究室
https://www.tak-cslab.org/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away